← Wiki

Ingredient

IMU (MPU6050 / BNO085)

Also known as: inertial measurement unit, MPU6050, MPU9250, BNO085, BNO055

Inertial measurement unit — combines a 3-axis accelerometer (linear acceleration) and a 3-axis gyroscope (angular rate) on a single IC; 9-DoF variants add a 3-axis magnetometer for absolute heading. The right ingredient when a robot needs to know its orientation, tilt, or motion: leveling a rover, stabilizing a drone, detecting that a robot has tipped or stalled, computing dead-reckoning position. MPU6050 (~$3, 6-DoF, popular but old) for hobbyist work; BNO085 (~$25, 9-DoF, runs on-chip sensor-fusion to output stable quaternions directly) for serious applications.

Inputs / outputs

  • Power: 3.3V or 5V, ~5–10 mA
  • Interface: I²C typical; some SPI variants
  • Output rate: up to 1 kHz raw; on-chip-fused quaternion at 100–400 Hz
  • Range: accelerometer ±2g–±16g; gyroscope ±125°/s–±2000°/s
  • 6-DoF vs 9-DoF: 6-DoF gyro drift over time; 9-DoF magnetometer corrects yaw drift but is sensitive to nearby ferrous metal

Solves / unlocks

  • Rover tilt and rollover detection (safety stop on excessive tilt)
  • Drone attitude stabilization (the foundational drone-flight-controller sensor)
  • Vibration monitoring on motors / pumps (accelerometer FFT detects bearing wear)
  • Dead-reckoning fill-in between GPS updates (orientation + wheel odometry)
  • Equipment-tipping alerts (livestock waterer, hive)
  • Activity detection on livestock collars

Constraints

  • Drift — gyroscopes drift over seconds; accelerometers tilt-couple with gravity; magnetometers distort near steel. Sensor fusion is required for stable orientation.
  • Calibration matters — gyro bias, magnetometer hard-iron and soft-iron calibration are necessary for accuracy.
  • Vibration sensitivity — high-vibration platforms (running engines) produce noisy IMU data; isolate mechanically.
  • Cheap MPU6050 modules vary in quality; prefer SparkFun or Adafruit breakouts over generic AliExpress.

Source

See also

Auto-generated from this entry’s typed relations: frontmatter, grouped by relation type so the editorial signal isn’t flattened.

  • Member of: [[ingredient]]
  • Combines with: [[arduino-uno]] · [[esp32]] · [[ros2]] · [[gps-rtk]] · [[acorn-rover]]

What links here, and how

Inbound connections from across the wiki, grouped by lens and by relationship. These appear automatically — every entity page declares what it links to, and that data populates here on the targets.

Practical

contains

combines with

  • GPS-RTK RTK-GPS gives position; IMU gives orientation; fused they give pose
  • PX4 / ArduPilot autopilot Pixhawk includes industrial-grade IMUs internally; the same sensor class as the IMU pantry entry

combines

6 inbound links · 6 outbound