Introduction
Gravity: BMI323 + BMM350 9 DOF IMU Sensor combines a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer in one compact motion sensing module. Built around Bosch BMI323 and BMM350, it provides acceleration, angular velocity, and magnetic field data for heading-aware motion sensing, electronic compass prototypes, wearable devices, robotics experiments, and embedded orientation projects.
Compared with a basic 6-axis IMU, this 9 DOF module adds magnetometer data for direction-related sensing and 9-axis attitude evaluation. Gravity wiring, I2C/UART communication, selectable I2C addresses, programmable interrupt pins, and GUI visualization help reduce early-stage bring-up and debugging work.
Why It Matters: When 6-Axis Motion Data Is Not Enough
A 6-axis IMU can measure acceleration and rotation, but gyroscope-based orientation estimates may drift over time. Projects that need heading reference, electronic compass functions, or direction-aware interaction usually require magnetic field data.
By adding the BMM350 3-axis magnetometer, this module provides an additional magnetic reference for 9-axis motion evaluation, making it more suitable for heading-aware robotics, wearable motion devices, handheld controllers, and orientation tracking prototypes.
Developer Pro-Tips
Magnetometer Placement: Keep the module away from strong magnets, motors, speakers, steel structures, and high-current wiring. Magnetometer calibration should be performed after final installation.
Accelerometer Range Selection: Use ±2g for slow tilt and orientation changes, ±4g or ±8g for general wearable and handheld motion, and ±16g for impact or fast movement detection.
Gyroscope Range Selection: Use lower gyroscope ranges for slow rotation and higher sensitivity. Use ±1000°/s or ±2000°/s for fast gestures or rapid device movement.
ODR Selection: High ODR is useful for fast motion capture and rapid gesture detection. Lower ODR settings are better for battery-powered wearables and slow orientation tracking.
Interrupt-Based Design: Use programmable interrupt pins for tap, tilt, free-fall, activity, or motion events to reduce continuous polling in low-power embedded systems.
Features
9 DOF Motion Sensing: Integrates a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer for acceleration, angular velocity, and magnetic field measurement.
BMI323 + BMM350 Sensor Combination: Uses Bosch BMI323 for 6-axis inertial sensing and BMM350 for 3-axis magnetic field sensing, enabling heading-aware motion data evaluation.
Built-In Motion Event Detection: Supports step counting, tap detection, tilt detection, free-fall detection, and activity recognition, reducing the need to build every basic motion event from raw sensor data.
I2C/UART for Flexible Development: Supports both I2C and UART communication for Arduino, ESP32, Raspberry Pi, and other embedded platforms.
4 Selectable I2C Addresses: Supports 0x4A, 0x4B, 0x4C, and 0x4D to reduce conflicts in multi-sensor I2C systems.
3 Programmable Interrupt Pins: Allows motion events or sensor conditions to trigger host-side responses without continuous polling.
Specification
Basic Parameters
Operating Voltage: DC 3.3–5 V
Operating Current: 3.42 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: ×3
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
Operating Modes: Normal periodic measurement, triggered forced measurement, low-power sleep standby
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 compensation)
Z-Axis Gain Error: ±3% (25 °C, after compensation)
Sensitivity Temperature Drift: ±0.010 %/K
Offset Temperature Error: ±200 nT/K
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
X/Y-Axis Output Noise: 190 nTrms
Z-Axis Output Noise: 450 nTrms
Physical Dimensions
PCB Size: 32 mm × 27 mm
Mounting Hole Spacing: 20 mm
Mounting Hole Diameter: 3 mm
Shipping List
Gravity: High Precision 9 DOF IMU Sensor ×1
Gravity 4P Sensor Cable ×1
2.54 mm Black Single Row Pin Header – 10-Pin ×1
Applications
Electronic Compass and Heading Reference
Robotics Orientation Feedback
Wearable Motion Devices
Gesture-Controlled Handheld Devices