BNO055#

Authors:

Jonathan P. Newman

Version:

1

IO:

Frame Source, Register Access

ONIX ID:

9

ONIX Hubs:

Headstage-64, Neuropixels-1.0 Headstage

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:

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:

  • 0x0: data output disabled

  • 0x1: data output enabled

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

\[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

    • 3: fully calibrated

Host To Device Data Frames#

This device does not accept input frames. All write attempts will fail with an error.