Data Sheet
October 2017 BNO080 Datasheet 1000-3927
www.hillcrestlabs.com © 2017 Hillcrest Laboratories, Inc. All rights reserved. 30 / 57
2 Sensor Data Processing
The BNO080 analyzes the data from the 3-axis accelerometer, 3-axis gyroscope and 3-axis magnetometer. It
manages the various sensors, reads data, and provides a number of outputs to the host. The BNO080 processes
motion relative to a frame of reference. It has no knowledge of the orientation of sensors within the device and
must be configured to conform to the desired frame of reference of the device. While the BNO080 is not
necessarily used within Android systems, the frame of reference defined in the Android specification is used by
the BNO080 software. In Android, the device frame of reference is represented as X axis horizontal, positive to
the right, Y axis vertical, positive along the face of the device and Z axis positive towards the outside of the front
face of the device. The frame of reference is shown in Figure 2-1.
Figure 2-1: Android co-ordinate system
The BNO080 can be mounted within the device in any orientation that allows the PCB to be laid out efficiently.
The BNO080 sensor orientation is provided in Figure 4-1.
The BNO080 needs to be configured to understand what the orientation is relative to the device frame of
reference. This is achieved by modifying either the static calibration record if the device is passed through a
calibration step or by modifying the sensor orientation records. Sensor orientation is discussed further in section
4.
2.1 Motion Outputs
Motion outputs allow applications to understand the motion being applied to the device as measured by BNO080.
2.1.1 Acceleration Outputs
The 3-axis accelerometer measures the acceleration of the device (note that the accelerometer will measure
gravity as acceleration). BNO080 calibrates the accelerometer output to improve the data reported. BNO080 will
report this acceleration aligned to the coordinate frame of the device. BNO080 can (after fusing data with the
gyroscope) separate gravity from this acceleration, thus providing the BNO080 with the following acceleration
outputs:
• Calibrated Acceleration (m/s
2
). Acceleration of the device including gravity
• Linear acceleration (m/s
2
). Acceleration of the device with gravity removed
• Gravity (m/s
2
)
• Raw uncalibrated accelerometer data (ADC units). Used for testing
Note that for raw data to be transmitted the accelerometer must be enabled by a separate set feature request, i.e.
the raw sensor listens to an already configured sensor. The rate specified in the raw sensor set feature request
cannot be higher than the underlying sensor configuration. The raw data will either be delivered at the same rate
as the underlying sensor or at the rate requested (within the constraints of rate decimation).