Data Sheet
October 2017  BNO080 Datasheet  1000-3927 
www.hillcrestlabs.com  © 2017 Hillcrest Laboratories, Inc. All rights reserved.  22 / 57 
Byte 
Field 
0 
Length LSB 
1 
Length MSB 
2 
Channel 
3 
SeqNum 
Figure 1-26: SHTP Header 
Length 
Bit 15 of the length field is used to indicate if a transfer is a continuation 
of a previous transfer. Bits 14:0 are used to indicate the total number of 
bytes in the cargo plus header, which may be spread over multiple 
messages. The bytes in the header field are counted as part of the 
length. A length of 65535 (0xFFFF) is reserved because a failed 
peripheral can too easily produce 0xFFFF. Therefore, the largest cargo 
that can be transported is 32766 minus the header bytes. The BNO080 
does not support receiving fragmented messages but it does support 
sending them. 
Channel 
The channel number of the cargo. Channel 0 is the command channel 
and is used by the SHTP. 
SeqNum 
The sequence number of the cargo. The sequence number is a 
monotonically incrementing number that increments once for each 
cargo sent or cargo continuation sent. Each channel and each direction 
has its own sequence number. The sequence number is used to detect 
duplicate or missing cargoes and to associate segmented cargoes with 
each other. 
The length field allows a host to schedule the correct number of clocks to generate for reads over I
2
C and SPI. 
The BNO080 supports partial reads if the host cannot accept all the bytes in one read, the length will be updated 
on a subsequent read. So, for instance a host could read the first 4 bytes to determine the number of clocks to 
generate and then repeat the read with the required number of clocks. The protocol is fully described in [2]. 
The BNO080 supports 6 channels: 
•  Channel 0: the SHTP command channel 
•  Channel 1: executable 
•  Channel 2: sensor hub control channel 
•  Channel 3: input sensor reports (non-wake, not gyroRV) 
•  Channel 4: wake input sensor reports (for sensors configured as wake up sensors) 
•  Channel 5: gyro rotation vector 
The SHTP control channel provides information about the applications built into the BNO080 firmware image. The 
BNO080 uses advertisements to publish the channel maps and the names of the built-in applications. 
The executable channel allows the host to reset the BNO080 and provide details of its operating mode. Figure 
1-27 provides details. 
: 










