board dev studio

Verified 2026-10

m5stack BMM350 3-Axis Magnetometer Unit

TMR magnetometer unit on a Bosch BMM350 at fixed I2C 0x14, +-2000 uT, 0.1 uT resolution, 167 uA reading - $6.50 USD, 4.7 kOhm pull-ups to 3.3 V fitted while the sensor sits on a 1.8 V rail.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Headline partBMM350
Data sheetBMM350 data sheet →
Sourceshop.m5stack.com/products/3-axis-magnetometer-unit-bmm350 →

Specs

MCUBosch Sensortec BMM350

Pinout

4 pads, as the vendor numbers them.

#NameFunctionSignals
1GNDBlack wire of the HY2.0-4P cable - ground.ground
25VRed wire - 5 V from the host.supply
3SDAYellow wire - I2C data to the sensor.I2C SDA
4SCLWhite wire - I2C clock to the sensor.I2C SCL

Buses

BusSignalsPinsVoltageNote
I2C ×1SDA, SCLSDA, SCL3.3 V VPads 3 (SDA) and 4 (SCL), 100 kHz or 400 kHz, fixed address 0x14, 4.7 kOhm pull-ups (R1/R2) to 3V3 fitted on the board.

I²C / bus addresses

AddressBusDeviceNote
0x14I2CBMM350Fixed - no strap or jumper is published for this board.

Power

Input5 V on pad 2 of the HY2.0-4P; U1 ME6206A33M3G to 3.3 V, U5 SSP7615-18DFR to 1.8 V for the sensor
Typical draw0.167 mA

Notes

Pads 1-4 of the HY2.0-4P follow the vendor's colour column; the connector prints no numbers. The BMM350, DoF6, DoF9 and DoF10 share one schematic layout with per-SKU population: on this file U2 (BMI270) is NC, U5 (1.8 V) is fitted and R7/R8 are NC. The schematic puts 4.7 kOhm pull-ups on SDA/SCL to 3V3 while the sensor block runs from 1V8; the vendor publishes no VDDIO limit here, so that combination is recorded, 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 BMM350, SKU U231, a 24.0 x 24.0 x 8.0 mm (3.1 g) three-axis magnetometer unit carrying a Bosch BMM350 TMR sensor (symbol pins: B1 SCK, B2 GND, B3 ADSEL, A1 INT, A2 SDA, A3 NC, C1 VDDIO, C2 VDD, C3 BYPASS/CRST).
ADDRESSES: I2C 0x14, fixed - the vendor publishes no alternative and the schematic shows no address strap.
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 in on pad 2, two regulators: U1 ME6206A33M3G makes 3V3 (C1 10 uF, C3 10 uF, C2 100 nF) and U5 SSP7615-18DFR makes 1V8 for the sensor block (C10 100 nF, C11 100 nF). Sensor decoupling C9 2.2 uF and C4 100 nF, C8 100 nF on the shared sensor position. Measured current: 6.42 uA sleeping, 167.02 uA in continuous read.
LOGIC: I2C, 100 kHz or 400 kHz per the vendor. The bus pull-ups R1 and R2 are 4.7 kOhm to 3V3, which is the 3.3 V rail, while the sensor itself is fed from the 1V8 rail of U5 - the vendor does not state the BMM350's VDDIO maximum on this page, so check the data sheet before driving this unit from a 1.8 V host.
CIRCUIT: R1/R2 4.7 kOhm to 3V3 on SDA/SCL; R4 and R5 0 ohm link the bus into the BMM350 block; R6 0 ohm, R7 and R8 are NC on this SKU; R3 10 kOhm is the strap of the unpopulated IMU position's SDO pin. SW1 is the power switch.
SENSOR FACTS (vendor specification table): magnetic range +-2000 uT typical per axis, resolution about 0.1 uT, heading accuracy under 10 degrees after calibration, operating range -40 to +85 C (chip specification).
TRAPS: (1) This file shares its schematic with the DoF6/DoF9/DoF10: here the BMI270 position U2 is marked NC and the 1.8 V regulator is fitted, the mirror image of the DoF6. (2) 0x14 is fixed, so only one of these can sit on a bus. (3) The board needs a calibration pass for heading - the vendor quotes accuracy only after it. (4) The pull-ups land on the same two wires the neighbouring units use, so cascading a BMM350 with an IMU on one port needs both addresses checked (0x14 against 0x68/0x69).

Provenance

Every figure on this page was read from the 4 sources below and last checked on Oct 30, 2026.