V
Visla Hardware
Portal R&D
📐 IMU ✓ In stock 🧪 Tested bench ⚠️ EOL

MPU-6500

TDK / InvenSense
🏭 Chip @ 1k pcs
€1.20
production BOM
NRND (TDK Production)10000g shock tolerant6-DoF + DMP onboard
⚠️ Warning
NRND (Not Recommended for New Designs) — usare BMA400 o LSM6DSO per nuovi prodotti.

Curiosity

L’IMU del Visla Prototype 1: chip MPU-6500 montato su breakout GY-9250/6500 (PCB blu 15×24mm) plug-in I2C. Status TDK: NRND (Not Recommended for New Designs) dopo l’acquisizione InvenSense 2017 — ancora in produzione “Commercial Grade” ma flagged. Datasheet ufficiale PS-MPU-6500A-01 Rev 1.1 (Marzo 2014, 40 pagine). Sul bench Visla v1 funzionante: WHO_AM_I 0x70, I2C 0x68, crash detection >4g → SOS automatico. Per Visla v2 sostituito da LSM6DSO.

Specs tecniche

ParametroValore
Doc referencePS-MPU-6500A-01 Rev 1.1 (03/05/2014) — 40 pagine
Status TDKNRND (Production but Not Recommended for New Designs)
Tipo6-axis MotionTracking — 3D accel + 3D gyro + DMP onboard
GradeCommercial (NON AEC-Q100 automotive)
MarketsWearable · remote controls · gaming · dead-reckoning
Accel FSR±2 / ±4 / ±8 / ±16 g
Accel sensitivity error±3%
Accel noise density300 µg/√Hz
Accel normal current450 µA
Accel low-power current6.37 µA @ 0.98Hz · 17.75 µA @ 31.25Hz
Gyro FSR±250 / ±500 / ±1000 / ±2000 dps
Gyro sensitivity error±3%
Gyro rate noise0.01 dps/√Hz (industry-leading low)
Gyro operating current3.2 mA
Combo current (all 6 axes)3.4 mA
ADC16-bit (entrambi sensori)
FIFO buffer512 byte
DMP (Digital Motion Processor)gesture recognition · pedometer · angle output
WoM (Wake-on-Motion)interrupt programmabile per low-power
Master I2C auxbus per magnetometro esterno (es. AK8963)
Self-testaccel + gyro built-in
InterfaceI2C 400 kHz Fast Mode + SPI 1 MHz (reg) / 20 MHz (data burst)
I2C address0x68 (AD0=LOW) / 0x69 (AD0=HIGH)
WHO_AM_I register0x70
VDD1.71 - 3.6 V (typ 1.8-3.3V ±5%)
VDDIO independent1.71 - 3.6 V
Operating temp-40°C / +85°C (1% clock drift)
Shock tolerance10,000 g
ComplianceRoHS · REACH SVHC-Free · Halogen Free · Pb-Free
Package24-pin QFN, 3.0 × 3.0 × 0.9 mm
Weight0.14 g
PackingEmbossed plastic taping 330mm reel, 12mm tape — 5000 pcs/reel
Breakout GY-9250/6500PCB blu ~15 × 24 mm, 10-pin header (VCC/GND/SCL/SDA/EDA/ECL/ADD/INT/NCS/FSYNC)
Visla v1 wiringSDA → GPIO 21 ESP32 · SCL → GPIO 22 · I2C 100kHz
Visla v1 I2C address0x68 (AD0 floating → pull-up interno)

🧪 Note dal bench Visla (Prototype 1)

  • Funzionante sul bench v1: crash detection >4g testata, SOS automatico via cellular A7670E
  • Breakout GY-9250/6500 dual-compatible: il PCB blu monta chip MPU-9250 (9-axis) o MPU-6500 (6-axis) a seconda del lot — il nostro è 6500 (no magnetometro AK8963 onboard, pin EDA/ECL inutilizzati)
  • I2C scan rapido: AD0 floating → addr 0x68 (per chain di 2 IMU basta pullare AD0 HIGH = 0x69)
  • 10,000 g shock tolerance: tra i più robusti — sopravvive a crash auto/moto severi (rilevazione spike + immediata SOS prima che il chip ceda)
  • DMP onboard offload pedometer: l’MCU può dormire mentre il DMP conta passi — utile per wearable battery-powered
  • ⚠️ Status NRND TDK: ancora in produzione ma flagged “Not Recommended for New Designs” → per Visla v2 PCB sostituito da LSM6DSO (sempre in produzione + ML Core HW)
  • ⚠️ Sleep 6.37 µA low-power vs BMA400 0.85µA: 7× peggio in WoM — non adatto a battery-powered Visla Tag
  • ⚠️ NON automotive grade (no AEC-Q100): per Visla Pro Fleet automotive serve LSM6DSO/DSV16X
  • ⚠️ Pin EDA/ECL inutilizzati nel 6500 (slot magnetometro nel 9250 only): lasciare floating

⚠️ Gotchas

  • WHO_AM_I = 0x70 (NON 0x71 come MPU-9250 puro né 0x68 come MPU-6050!) — il chip sul breakout GY-9250 venduto come “9250/6500” è quasi sempre 6500
  • DMP firmware-load è opaco e poco documentato (specs InvenSense classificate) — usa libreria moderna (Bolderflight MPU9250) e disabilita DMP se non serve
  • AD0 floating ha pullup interno → addr 0x68 default ma in ambienti rumorosi può oscillare → meglio pull esplicito a GND
  • Il modulo GY-9250 ha LDO 3.3V che dropa solo da 5V — alimentare con 3.3V diretto bypassa il regolatore (OK ma occhio al ripple)
  • Non confondere MPU-6500 con MPU-6050: pinout simile ma WHO_AM_I diverso (6050 → 0x68, 6500 → 0x70) e registri leggermente diversi
  • VDDIO indipendente 1.71-3.6V: utile per level shift verso MCU 1.8V senza convertitori esterni, ma se non usato cortocircuita a VDD
  • SPI ha 2 frequenze: 1 MHz per registri config, 20 MHz solo per sensor data burst reads — non sforare in scrittura

🔗 Risorse