Data Sheet
October 2017  BNO080 Datasheet  1000-3927 
www.hillcrestlabs.com  © 2017 Hillcrest Laboratories, Inc. All rights reserved.  27 / 57 
Byte 
Description 
0 
Report ID = 0xFD 
1 
Feature Report ID 
2 
Feature flags 
3 
Change sensitivity [absolute | relative] LSB 
4 
Change sensitivity [absolute | relative] MSB 
5 
Report Interval LSB 
6 
Report Interval 
7 
Report Interval 
8 
Report Interval MSB 
9 
Batch Interval LSB 
10 
Batch Interval 
11 
Batch Interval 
12 
Batch Interval MSB 
13 
Sensor-specific configuration word LSB 
14 
Sensor-specific configuration word 
15 
Sensor-specific configuration word 
16 
Sensor-specific configuration word MSB 
Figure 1-33: Set Feature command 
The host can request a feature report for a particular sensor (Get Feature command) to which the BNO080 will 
respond with a Get Feature Response. This can be used to verify the configuration of a sensor. A Get Feature 
Response is also issued by the BNO080 whenever the sensor’s operating mode changes which can occur due to 
the host issuing a Set Feature command or because the internal rates changed due to events within the BNO080. 
1.4.5.1  Batching 
Batching is a power management feature added to Android Lollipop. The concept is that the application processor 
receives data in batches hence avoiding the constant processing of sensor data. This delay in processing allows 
the processor to do more useful work until sufficient sensor data has accumulated for the task for which the 
sensor data was requested. In addition when the application processor sleeps, sensor data can accumulate in a 
batch buffer and be used to wake the processor when sufficient data has accumulated. 
To facilitate the batching the BNO080 provides two batch queues. The higher priority queue is for wake sensors 
and the other for all remaining enabled sensors (described as always-on in [1]). The batch interval in the set 
feature command indicates how many microseconds must pass before the batch is sent to the host. If the 
application processor is asleep it will be woken when the wake queue reaches the programmed interval. At that 
point all data from both queues will be pushed to the host. Data in the non-wake queue will be allowed to be lost, 
oldest data first in the event the application processor is sleeping. A sensor is designated as a wake sensor by a 
flag in the feature flags field. 
Note that the BNO080 only supports one batch queue per type of sensor. If a sensor is configured as a wake 
sensor it cannot also be marked as a non-wake sensor (always-on).  
1.4.5.2  Example sensor report 
All input reports have a similar format ([1] provides full details). The calibrated gyroscope output is an example: 
Byte 
Description 
0 
Report ID = 0x02 
1 
Sequence number 
2 
Status 
3 
Delay 
4 
Gyroscope calibrated Axis X LSB 
5 
Gyroscope calibrated Axis X MSB 










