Data Sheet
October 2017  BNO080 Datasheet  1000-3927 
www.hillcrestlabs.com  © 2017 Hillcrest Laboratories, Inc. All rights reserved.  31 / 57 
2.1.2 Angular Velocity Outputs 
The 3-axis gyroscope measures the angular velocity of the device. The angular velocity is reported as rotations 
around the X, Y, Z axes as depicted in Figure 2-1. A positive value is reported for counter-clockwise rotations. 
BNO080 calibrates this data to improve the measurement and provides the following outputs: 
•  Calibrated gyroscope (rad/s). The angular velocity of the device 
•  Uncalibrated gyroscope (rad/s). Angular velocity without bias compensation. This output is required for 
Android 4.4 compatibility. The bias is reported as a second parameter 
•  Raw uncalibrated gyroscope (ADC units). Data direct from the gyroscope, used for testing 
Note that for raw data to be transmitted the gyroscope 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). 
2.1.3 Magnetometer Processing 
While not actually a motion sensor, the magnetometer can be used to detect motion. The magnetometer 
measures the surrounding magnetic field and is used to determine absolute orientation as well as support other 
fusion operations. Absolute orientation can be thought of as determining which direction is magnetic north and 
evaluating the sensors orientation with respect to north.  
The complication with measuring the magnetic field is that the field is distorted by the proximity of ferrous or 
magnetic material. The distortion caused by these materials is often referred to as the soft-iron and hard-iron 
effect. To remove this distortion the device must be moved sufficiently through all 3 axes (X, Y and Z) of 3-
dimensional space. An indication of the degree of calibration is reported in the magnetometer reports accuracy 
field. 
BNO080 provides the following magnetic field measurement outputs: 
•  Magnetic field calibrated (in µTesla). The fully calibrated magnetic field measurement. 
•  Magnetic field uncalibrated (in µTesla). The magnetic field measurement without hard-iron offset applied, 
the hard-iron estimate is provided as a separate parameter. 
•  Raw magnetic field measurement (in ADC units). Direct data from the magnetometer. Used for testing. 
2.2  Orientation Outputs 
One of the primary outputs of BNO080 is an estimation of the device orientation. Fusing data from 
accelerometers, gyroscopes and magnetometers has a rich history of usage for estimating orientation. BNO080 
provides multiple estimates that have different tradeoffs as described below (note that the term rotation vector 
used below is derived from Google’s definition in Android 4.4). 
2.2.1 Geomagnetic Rotation Vector 
The geomagnetic rotation vector is an orientation output that is expressed as a quaternion referenced to magnetic 
north and gravity. It is produced by fusing the outputs of the accelerometer and magnetometer. The gyroscope is 
specifically excluded in order to produce a rotation vector output using less power than is required to produce the 
rotation vector of section 2.2.4. The consequences of removing the gyroscope are: 
•  Less responsive output since the highly dynamic outputs of the gyroscope are not used 
•  More errors in the presence of varying magnetic fields 
2.2.2 Game Rotation Vector 
The game rotation vector is an orientation output that is expressed as a quaternion with no specific reference for 
heading, while roll and pitch are referenced against gravity. It is produced by fusing the outputs of the 
accelerometer and the gyroscope (i.e. no magnetometer). The game rotation vector does not use the 
magnetometer to correct the gyroscopes drift in yaw. This is a deliberate omission (as specified by Google) to 
allow gaming applications to use a smoother representation of the orientation without the jumps that an 
instantaneous correction provided by a magnetic field update could provide. Long term the output will likely drift in 










