If you've ever connected a 9-DOF sensor, you likely understand the difficulty of converting data from an accelerometer, gyroscope, and magnetometer into actual "3D space orientation." Solving for orientation is complex. Sensor fusion algorithms, which combine data from the accelerometer, magnetometer, and gyroscope to produce stable three-axis orientation output, can be incredibly challenging to perfect and implement on affordable real-time systems.
Bosch has pioneered the integration of a MEMS accelerometer, magnetometer, and gyroscope onto a single die, coupled with a high-speed ARM Cortex-M0 based processor. This processor efficiently processes all the sensor data, simplifies the sensor fusion and real-time demands, and outputs usable data in the form of quaternions, Euler angles, or vectors.
Discover the Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055 in Stemma QT format! The QT model is slightly smaller and features easy-to-use I2C connectors on both sides for solderless connections. Please note, the QT Cable is not included.
Instead of dedicating weeks or months to tweaking algorithms of different accuracies and complexities, you can obtain significant sensor data within minutes with the BNO055. This intelligent 9-DOF sensor autonomously handles sensor fusion, allowing you to access the data directly via I2C.
The BNO055 can output the following sensor data:
- Absolute Orientation (Euler Vector, 100Hz) Three axis orientation data based on a 360° sphere
- Absolute Orientation (Quaternion, 100Hz) Four point quaternion output for more accurate data manipulation
- Angular Velocity Vector (100Hz) Three axis of 'rotation speed' in rad/s
- Acceleration Vector (100Hz) Three axis of acceleration (gravity + linear motion) in m/s^2
- Magnetic Field Strength Vector (20Hz) Three axis of magnetic field sensing in micro Tesla (uT)
- Linear Acceleration Vector (100Hz) Three axis of linear acceleration data (acceleration minus gravity) in m/s^2
- Gravity Vector (100Hz) Three axis of gravitational acceleration (minus any movement) in m/s^2
- Temperature (1Hz) Ambient temperature in degrees celsius
The device is user-friendly, offering I2C support compatible with both 3 and 5 Volt logic. Additionally, interrupt pins and address-selection jumpers are accessible, allowing the use of two BNO-055s on a single I2C bus. Libraries for both Arduino (C/C++) and CircuitPython are provided, enabling compatibility with various microcontrollers or computer boards, and ensuring data readings can be obtained in less than 5 minutes. It also features four mounting holes for a stable installation.
Moreover, as it utilizes I2C, you can simply connect it using two wires—along with power and ground. We have also incorporated SparkFun qwiic-compatible STEMMA QT connectors for the I2C bus, eliminating the need for soldering. Just connect a plug-and-play STEMMA QT cable to start receiving 9 DoF data immediately.