Verified 2026-10
m5stack 9-DoF IMU Unit (BMI270, BMM350)
Nine-axis unit: BMI270 at 0x68/0x69 plus BMM350 at 0x14 on one I2C port, 4.7 kOhm pull-ups fitted, 1.8 V magnetometer rail on board - $8.50 USD.
Place this board on a carrier in the editor →
Part & documents
| Data sheet | Data sheet → |
|---|---|
| Source | shop.m5stack.com/products/9-dof-imu-unit-bmi270-bmm350 → |
Specs
| MCU | Bosch BMI270 + Bosch BMM350 |
|---|
Pinout
4 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | GND | Black wire of the HY2.0-4P cable - ground. | ground |
| 2 | 5V | Red wire - 5 V from the host. | supply |
| 3 | SDA | Yellow wire - I2C data (net SDA, through R4 0 ohm to the magnetometer position). | I2C SDA |
| 4 | SCL | White wire - I2C clock (net SCL, through R5 0 ohm to the magnetometer position). | I2C SCL |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| I2C ×1 | SDA, SCL | SDA, SCL | 3.3 V V | One bus, two devices: BMI270 at 0x68/0x69 (SDO strap) and BMM350 at 0x14. 4.7 kOhm pull-ups (R1/R2) fitted on the board. |
I²C / bus addresses
| Address | Bus | Device | Note |
|---|---|---|---|
| 0x68 | I2C | BMI270 | Default; SDO strapped low per the schematic annotation 'SDO=0 0x68 (Default)'. |
| 0x69 | I2C | BMI270 | SDO strapped high ('SDO=1 0x69'). |
| 0x14 | I2C | BMM350 magnetometer | Fixed. |
Power
| Input | 5 V on pad 2 of the HY2.0-4P; 3.3 V (U1) and 1.8 V (U5) regulators on board |
|---|
Notes
Pads 1-4 of the HY2.0-4P follow the vendor's colour column; the connector prints no numbers. The DoF9 shares one schematic layout with the DoF6, DoF10 and BMM350 units: on this file U5 (1.8 V) is fitted, U4 (the third sensor position) is NC and R7 is the fitted 0 ohm link. No unit-level current figure is published. The 4.7 kOhm pull-ups sit on the 3V3 rail while the BMM350 block is fed from 1V8; recorded as drawn, not judged.
AI context
Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.
PART: M5Stack Unit DoF9, SKU U229, a 24.0 x 24.0 x 8.0 mm (3.1 g) nine-axis unit: a Bosch BMI270 six-axis IMU (U2) and a Bosch BMM350 TMR magnetometer share one I2C bus behind a single HY2.0-4P port. The title already names both chips, so part is null and the silicon stays in the purpose. ADDRESSES: BMI270 at 0x68 (default, SDO strapped low) or 0x69 (SDO high) - the schematic annotates 'SDO=0 0x68 (Default)' and 'SDO=1 0x69'; BMM350 at 0x14, fixed. Both devices answer on the same two wires, so a scan on this board shows two addresses. PINOUT: one HY2.0-4P socket PORT.A: pad 1 GND (Black), 2 5V (Red), 3 SDA (Yellow), 4 SCL (White); no printed pad numbers, 1-4 follow the vendor's colour column. SUPPLY: 5 V on pad 2. U1 ME6206A33M3G makes 3V3 (C1 10 uF, C3 10 uF, C2 100 nF) for the BMI270 and the bus, and U5 SSP7615-18DFR makes 1V8 for the magnetometer block (C10 and C11 100 nF); sensor decoupling C9 2.2 uF, C4 and C8 100 nF. No current figure is published for this unit. LOGIC: 3.3 V I2C with 4.7 kOhm pull-ups R1/R2 to 3V3 fitted on the board; the magnetometer itself runs from the 1V8 rail through the 0 ohm links R4/R5. CIRCUIT: R1/R2 4.7 kOhm SDA/SCL to 3V3; R3 10 kOhm straps the BMI270's SDO; R4/R5 0 ohm feed the BMM350; R7 0 ohm is this SKU's link (R6 and R8 are NC); SW1 is the power switch. RANGES: accelerometer 16-bit, +-2/4/8/16 g, +-20 mg accuracy; gyroscope 16-bit, +-125/250/500/1000/2000 deg/s, +-0.5 deg/s; magnetometer +-2000 uT typical per axis at about 0.1 uT resolution. TRAPS: (1) Two devices, two addresses, one port - code that assumes a single chip on the bus will miss the second. (2) The 1.8 V magnetometer rail is derived on board; if it fails, 0x14 disappears and 0x68/0x69 still answer, which looks like a dead sensor rather than a dead regulator. (3) This is the DoF6/DoF10/BMM350 schematic with a different population: here U5 is fitted and U4 (the pressure position) is NC.
Provenance
Every figure on this page was read from the 5 sources below and last checked on Oct 30, 2026.