BNO055¶
- Authors
- Jonathan P. Newman 
- IO
- Frame Source, Register Access 
- ONIX ID
- 9 
- ONIX Hubs
Description¶
The BNO055 is a 9-axis inertial measurement unit (IMU) that provides orientation and acceleration information. At is core, this device corresponds to a single chip:
- BNO055 9-Axis IMU 
This device implementation has hard-coded all of the configuration required to operate the BNO055 with the following properties:
- 100 Hz update rate 
- Full on-chip sensor fusion (“NDOF” mode) 
- Hardcoded axis map (orientation depends on the headstage) 
Register Programming¶
| Address | Name | Access | Time of Effect | POR Value | Reset Action | Description | 
|---|---|---|---|---|---|---|
| 0x00 | ENABLE | R/W | On Reset | Implementation dependent, see hub documentation | None | The LSB is used to enable or disable the device data stream: 
 | 
Device To Host Data Frames¶
Each frame transmitted to the host is structured as follows:
All IMU data is signed with the exception of the calibration status bits (last byte in the frame). The unit conversions for each of these measurements are as follows:
- Euler angle (Tait-Bryan formalism) - Yaw: 0 to 360 degrees 
- Roll: -180 to 180 degrees 
- Pitch: -90 to 90 degrees 
 
- Quaternion 
- Acceleration & Gravity Vector 
- Temperature 
- Calibration Status - 0: not calibrated 
- 3: fully calibrated 
 
Host To Device Data Frames¶
This device does not accept input frames. All write attempts will fail with an error.