Data Sheet
October 2017  BNO080 Datasheet  1000-3927 
www.hillcrestlabs.com  © 2017 Hillcrest Laboratories, Inc. All rights reserved.  21 / 57 
Figure 1-24: UART signaling 
1.3.5.2  UART-RVC protocol 
The BNO080 transmits the following data at a rate of 100Hz. 
Header 
Index 
Yaw 
Pitch 
Roll 
X-axis 
accel 
Y-axis 
accel 
Z-axis 
accel 
Reserved 
Csum 
0xAAAA 
LSB 
MSB 
LSB 
MSB 
LSB 
MSB 
LSB 
MSB 
LSB 
MSB 
LSB 
MSB 
0 
0 
0 
Figure 1-25: BNO080 UART-RVC packet format 
The 19-byte message has the following fields: 
Header: Each report is prefixed with a 0xAAAA header 
Index: A monotonically increasing 8-bit count is provided (0-255) per report 
Yaw: The yaw is a measure of the rotation around the Z-axis since reset. The yaw has a range of +/- 180˚ and is 
provided in 0.01˚ increments, i.e. a report of 8734 is equivalent to 87.34˚. 
Pitch: The pitch is a measure of the rotation around the Y-axis. The pitch has a range of +/- 90˚ and is provided in 
0.01˚ increments, i.e. a report of 1072 is equivalent to 10.72˚. 
Roll: The roll is a measure of the rotation around the X-axis. The roll has a range of +/- 180˚ and is provided in 
0.01˚ increments, i.e. a report of 1072 is equivalent to 10.72˚. 
X-axis acceleration: The acceleration along the X-axis, presented in mg 
Y-axis acceleration: The acceleration along the Y-axis, presented in mg 
Z-axis acceleration: The acceleration along the Z-axis, presented in mg 
Reserved: The message is terminated with three reserved bytes, currently set to zero 
Checksum (Csum): The Index, yaw, pitch, roll, acceleration and reserved data bytes are added to produce the 
checksum. 
To determine the actual orientation of the module, the rotations should be applied in the order yaw, pitch then roll. 
An example complete message and checksum calculation is as follows: 
Message: 0xAA AA DE 01 00 92 FF 25 08 8D FE EC FF D1 03 00 00 00 E7  
Where: 
Index = 0xDE = 222 
Yaw = 00.01˚ (1 = 0x0001) 
Pitch = -1.10˚ (-110 = 0xFF92) 
Roll = 20.85˚ (2085 = 0x0825) 
X-acceleration = -371 mg = -3.638 m/s
2
 (-371 = 0xFE8D) 
Y-acceleration = -20 mg = -0.196 m/s
2
 (-20 = 0xFFEC) 
Z-acceleration = 977 mg = -9.581 m/s
2
 (977 = 0x03D1) 
Checksum = 0xE7 
1.4  Host Communication 
1.4.1 SHTP 
The BNO080 uses Hillcrest’s SHTP (Sensor Hub Transport Protocol) to communicate for all interface styles 
except UART-RVC. SHTP provides a means of passing data between the BNO080 and a host with support for 
multiple channels. The BNO080 does not currently support the inclusion of 3
rd
 party applications, but the SHTP 
protocol allows for separation of traffic via these channels such that applications on a host can communicate over 
this channel. 
All data is prefixed with a 4-byte header: 
Start
Stop
D7D6D5D4D3D2D1D0










