Introduction
The Gravity BMI323+BMM350+BMP581 10DOF IMU Sensor combines three Bosch sensors to provide 3-axis acceleration, 3-axis angular velocity, 3-axis magnetic field and barometric pressure data. It supports motion, heading and pressure-based altitude evaluation for indoor robots, floor or ramp change monitoring, wearable elevation logging and multi-sensor algorithm development. An onboard MCU, I2C / UART, 3.3–5 V compatibility, one integrated library and Gravity GUI reduce the work required to bring up three separate sensors. It suitable for fast Arduino, Raspberry Pi, and ESP32
prototyping.
Choose this Gravity version when the goal is to connect quickly, view data before writing application code and use one integrated DFRobot library. For compact, low-power product integration and direct access to the original BMI323 interface, choose the Fermion 10DOF version instead.
6400 Hz BMI323 Motion Sensing with Hardware Events
BMI323 provides 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. Hardware step, tap, tilt, free-fall and activity detection allows the module to report common motion events in addition to raw 6-axis data.
BMM350 Magnetic Data for Heading-Aware Algorithms
BMM350 adds 3-axis magnetic field sensing with a ±2000 μT range, approximately 0.1 μT resolution and output rates up to 400 Hz. Specified output noise is 190 nTrms on the X/Y axes and 450 nTrms on the Z axis, giving developers concrete magnetic data for calibrated heading and orientation algorithms.
BMP581 High-Resolution Pressure and Altitude-Change Data
BMP581 measures 30–125 kPa pressure with approximately 0.0156 Pa resolution, typical ±6 Pa relative accuracy within 700–1100 hPa at 15–55 °C, and output rates from 0.125 Hz to 240 Hz. These pressure readings add a vertical-change input for floor, ramp and elevation analysis, while final altitude accuracy still depends on reference pressure, airflow, enclosure design and calibration.
Gravity Integration Makes BMI323, BMM350 and BMP581 Easier to Use
The onboard MCU exposes BMI323, BMM350 and BMP581 through one integrated DFRobot library, I2C/UART and four selectable module addresses. A PH2.0-4P connector, 3.3–5 V operation and Gravity GUI provide a unified workflow for connecting the module and viewing motion, magnetic and pressure data during evaluation.
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 – power consumption selectable on demand Standard I²C/UART interfaces, compatible with mainstream development boards such as
Arduino, Raspberry Pi, and ESP32
Comes with GUI visualisation software featuring built-in multi-axis attitude fusion algorithm – view data and 3D attitude without programming
Specification
Basic Parameters
Operating Voltage: DC 3.3–5 V Operating Current: 3.59 mA Communication Interface: I²C / UART Connector Type: PH2.0-4P (Gravity pinout) / 2.54 mm pin header holes I²C Addresses: 0x4A (default), 0x4B, 0x4C, 0x4D Programmable Interrupt Pins: ×4 Accelerometer Parameters
Measurement Ranges: ±2 g, ±4 g, ±8 g, ±16 g ADC Resolution: 16-bit 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 Sensitivity Error: ±0.5% Zero-g Offset: ±50 mg Output Data Rate (ODR):
High Performance / Normal mode: 12.5 Hz ~ 6400 Hz
Low Power mode: 0.78125 Hz ~ 400 Hz
Gyroscope Parameters
Angular Rate Ranges: ±125, ±250, ±500, ±1000, ±2000 °/s ADC Resolution: 16-bit 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) Sensitivity Error: ±3% (without self-calibration), ±0.7% (after self-calibration) Zero-Rate Offset: ±1 °/s Output Data Rate (ODR):
High Performance / Normal mode: 12.5 Hz ~ 6400 Hz
Low Power mode: 0.78125 Hz ~ 400 Hz
Magnetometer 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
Barometric Pressure Sensor 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: 32 mm × 27 mm Mounting Hole Spacing: 20 mm Mounting Hole Diameter: 3 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
Gravity: High Precision 10 DOF IMU Sensor ×1 Gravity 4P 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