Sensors · IMU with onboard fusion

BNO085 9-DOF IMU

Does the sensor fusion for you. Onboard ARM core outputs a quaternion, gravity vector and linear acceleration — no Kalman filter to write, no magnetometer calibration nightmare.

$25 indicative Bosch / Hillcrest IMU with onboard fusion

The role it plays

Sensors split into proprioception — encoders, IMUs, joint torque, motor current — which tells the robot about itself, and exteroception — LiDAR, depth, force, GNSS — which tells it about the world. Build proprioception first. A robot that does not know where its own joints are cannot use a good world model anyway.

Typical use: Balancing robots, humanoids, gimbals, dead reckoning.

What the numbers actually mean

The headline figure is 3-axis accel + gyro + magnetometer (dof), with Quaternion / Euler / rotation vector, plus raw as the next most load-bearing number (output). At $25 in the sensors tier it sits cheap enough to prototype with and replace without regret, which is the correct way to learn a new subsystem.

GotchaThis is the correct answer for a balancing robot. Do not start with an MPU6050 and a hand-written filter unless the filter is the project.

How it compares

Same subsystem, closest alternatives. The primary spec column is usually the one that decides it.

PartPricePrimary specSecond spec
BNO085 9-DOF IMUIMU with onboard fusion $25 3-axis accel + gyro + magnetometer Quaternion / Euler / rotation vector, plus raw
AS5600 magnetic encoderAbsolute rotary encoder $3 12-bit (4096 counts/rev) I²C (also analog / PWM out)
AS5047P magnetic encoderAbsolute rotary encoder $10 14-bit (16384 counts/rev) SPI + ABI quadrature + UVW
CUI AMT102-VCapacitive incremental encoder $25 up to 2048 PPR (configurable) Quadrature A/B/Z
ICM-42688-P6-axis IMU $5 3-axis accel (±16 g) + 3-axis gyro (±2000 °/s) SPI up to 24 MHz, I²C

Where it shows up

Platforms in this atlas that use something in this class: Unitree Go2, Open Duck Mini v2, linorobot2, iRobot Create 3.