BNO055#
- Authors:
Jonathan P. Newman
- Version:
1
- 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)
Pitch: -180 to 180 degrees
Roll: -90 to 90 degrees
Yaw: 0 to 360 degrees
\[1^{\circ} = 16\ LSB\]- Quaternion
- \[1 = 2^{14}\ LSB\]
- Acceleration & Gravity Vector
- \[1\ m/s^2 = 100\ LSB\]
- Temperature
- \[1^{\circ}C = 1\ LSB\]
- Calibration Status
0: Not calibrated
1: Poorly calibrated
2: Partially Calibrated
3: Fully calibrated
Host To Device Data Frames#
This device does not accept input frames. All write attempts will fail with an error.