Introduction
The Fermion BMI323+BMM350+BMP581 Low-Power 10DOF IMU Sensor combines a Bosch 6-axis motion sensor, 3-axis magnetometer and barometric pressure sensor on one compact breakout. It provides acceleration, angular velocity, magnetic field and pressure data for embedded robots, wearable elevation logging, portable data recorders and custom motion or sensor-fusion algorithms. Its compact form factor and low-power operating modes are designed for sensor evaluation and product integration where direct access to the individual sensors is required. Arduino library support simplifies evaluation with Arduino-compatible boards, including ESP32.
Choose Fermion when the project team wants to control the sensor configuration, calibration and fusion software directly. Choose the Gravity 10DOF version when faster wiring, I2C / UART, one integrated library, wider voltage compatibility and GUI visualization are more important.
BMI323 Motion Data up to 6400 Hz
BMI323 supplies 16-bit acceleration and angular velocity data with ±2 g to ±16 g accelerometer ranges, ±125 °/s to ±2000 °/s gyroscope ranges and output rates up to 6400 Hz. Its hardware step, tap, tilt, free-fall and activity functions support both raw data acquisition and event-driven motion products.
BMM350 Magnetic Sensing up to 400 Hz
BMM350 measures 3-axis magnetic fields across ±2000 μT with approximately 0.1 μT resolution and selectable output rates up to 400 Hz. Its specified zero-field offset drift is ±2 μT from -40 °C to +85 °C after calibration, supporting custom electronic-compass and heading algorithms when magnetic interference is controlled.
BMP581 Pressure Sensing from 30–125 kPa
BMP581 covers 30–125 kPa with approximately 0.0156 Pa resolution and typical ±6 Pa relative accuracy within 700–1100 hPa at 15–55 °C. Its 0.125–240 Hz output range supports both slow environmental logging and faster pressure-based altitude-change experiments.
Compact 24 × 19 mm Low-Power Board
All three sensors are integrated on a 24 × 19 mm PCB. The module draws 1.12 mA under the listed operating condition and 0.37 mA in Low Power mode, provides two I2C address choices for each sensor, and exposes data through Arduino/Python libraries for custom calibration, fusion and embedded development.
Features
Designed based on Bosch BMI323 6-axis IMU + BMM350 magnetometer + BMP581 barometric pressure sensor
High-accuracy, high-stability output with built-in low noise and on-chip temperature compensation
Built-in hardware motion algorithms including step counting, tap, tilt, free-fall, and activity recognition
Integrated 2 KB FIFO buffer ensures high-speed data transmission
Magnetometer employs 3rd-generation TMR technology with enhanced interference immunity
Integrated high-precision barometric pressure sensor for pressure and altitude data acquisition
Supports multiple operating modes including Sleep, Low Power, Normal, and High Performance – Low Power mode consumes only 0.37 mA
Onboard I²C interface supports both soldered and plug-in connection methods
Compatible with mainstream development boards such as Arduino, Raspberry Pi, and ESP32
Specification
Basic Parameters
Operating Voltage: 3.3 V
Operating Current: 1.12 mA
Low Power Current: 0.37 mA
Communication Interface: I²C
Connector Type: SH1.0-5P connector / 2.54 mm pin header holes
I²C Addresses:
BMI323: 0x69 (default), 0x68
BMM350: 0x15 (default), 0x14
BMP581: 0x47 (default), 0x46
Programmable Interrupt Pins: ×4
BMI323 Parameters
Accelerometer Measurement Ranges: ±2 g, ±4 g, ±8 g, ±16 g
Accelerometer ADC Resolution: 16-bit
Accelerometer Sensitivity:
±2 g range: 16384 LSB/g
±4 g range: 8192 LSB/g
±8 g range: 4096 LSB/g
±16 g range: 2048 LSB/g
Accelerometer Sensitivity Error: ±0.5%
Accelerometer Zero-g Offset: ±50 mg
Accelerometer Output Data Rate (ODR):
High Performance / Normal mode: 12.5 Hz ~ 6400 Hz
Low Power mode: 0.78125 Hz ~ 400 Hz
Gyroscope Angular Rate Ranges: ±125, ±250, ±500, ±1000, ±2000 °/s
Gyroscope ADC Resolution: 16-bit
Gyroscope Sensitivity:
±2000 °/s range: 16.384 LSB/(°/s)
±1000 °/s range: 32.768 LSB/(°/s)
±500 °/s range: 65.536 LSB/(°/s)
±250 °/s range: 131.072 LSB/(°/s)
Gyroscope Sensitivity Error: ±3% (without self-calibration), ±0.7% (after self-calibration)
Gyroscope Zero-Rate Offset: ±1 °/s
Gyroscope Output Data Rate (ODR):
High Performance / Normal mode: 12.5 Hz ~ 6400 Hz
Low Power mode: 0.78125 Hz ~ 400 Hz
BMM350 Parameters
Measurement Range: ±2000 µT
Magnetic Field Resolution: approx. 0.1 µT
Zero-Field Offset Drift: ±2 µT (-40 °C ~ +85 °C, after calibration)
X/Y-Axis Gain Error: ±1% (25 °C, after API compensation)
Z-Axis Gain Error: ±3% (25 °C, after API compensation)
Sensitivity Temperature Drift: ±0.010 %/K
Offset Temperature Error: ±200 nT/K
Operating Modes: Normal periodic measurement, triggered forced measurement, low-power sleep standby
Normal Mode Output Data Rate: 400/200/100/50/25/12.5/6.25/3.125/1.5625 Hz, typical deviation ±2%
Forced Mode Maximum Trigger Frequency: 200 Hz (avg=0 only)
X/Y-Axis Output Noise: 190 nTrms
Z-Axis Output Noise: 450 nTrms
BMP581 Parameters
Pressure Measurement Range: 30 kPa ~ 125 kPa
Pressure Relative Accuracy: typical ±6 Pa within 700~1100 hPa, 15~55 °C
Pressure Temperature-Induced Offset: ±0.5 Pa/K
Pressure Resolution: approx. 0.0156 Pa
Pressure Long-Term Annual Drift: ±10 Pa
Temperature Measurement Range: -40 °C ~ +85 °C
Temperature Absolute Accuracy: ±0.5 K within -5~55 °C and over full temperature range
Temperature Resolution: approx. 0.000015 °C
Output Data Rate (ODR): 0.125 Hz ~ 240 Hz
Physical Dimensions
PCB Size: 24 mm × 19 mm
Mounting Hole Spacing: 19 mm
Mounting Hole Diameter: 2 mm
Compatible Development Boards
ESP32 Development Boards:
FireBeetle 2 ESP32-E IoT Microcontroller,
FireBeetle 2 ESP32-C5 IoT Development Board,
FireBeetle 2 ESP32-C5 Development Kit for Smart Home,
FireBeetle 2 ESP32-C6 IoT Development Board,
FireBeetle 2 ESP32-P4 AI Vision Board
Arduino-Compatible Development Boards:
DFRduino UNO R3,
DFRduino Mega2560,
DFRduino Leonardo with XBee Socket
Raspberry Pi Development Boards:
Raspberry Pi 5 Single Board Computer – 8GB,
Raspberry Pi Pico
Shipping List
Fermion: BMI323+BMM350+BMP581 High Precision 10 DOF IMU Sensor ×1
SH1.0-5P Sensor Cable ×1
2.54 mm Black Single Row Pin Header – 10-Pin ×1
Applications
Indoor robot floor and ramp change monitoring
Mobile robot motion, heading and pressure data collection
Wearable floor-change and elevation logging
Robot terrain and vertical-motion evaluation
Multi-sensor algorithm prototyping