Data sheet

BNO055
Intelligent 9-axis absolute orientation sensor
Bosch Sensortec

•
•
•
•
•

User Motion

Quaternion
Linear Acceleration
Rotation
Gravity
Robust Heading

BNO055: data sheet
Document revision

1.8

Document release date

October 2021

Document number

BST-BNO055-DS000-18

Sales Part Number(s)0 273 141 209

Notes

Data in this document are subject to change without notice. Product photos
and pictures are for illustration purposes only and may differ from the real
product’s appearance.

BNO055
Data sheet

Page 2

BNO055INTELLIGENT ABSOLUTE ORIENTATION SENSOR, 9-AXIS SENSOR FUSION
ALL-IN-ONE WINDOWS 8.x COMPLIANT SENSOR HUB
Basic Description
Key features:• Outputs fused sensor data•

3 sensors in one device•

Small package•

Power Management••

Common voltage supplies
Digital interface•

Consumer electronics suite

Quaternion, Euler angles, Rotation vector,
Linear acceleration, Gravity, Heading
an advanced triaxial 16bit gyroscope, a versatile,
leading edge triaxial 14bit accelerometer and afull performance geomagnetic sensor
LGA package 28 pins
Footprint 3.8 x 5.2 mm², height 1.13 mm²Intelligent Power Management: normal,
low power and suspend mode available
VDD voltage range: 2.4V to 3.6V
HID-I2C (Windows 8 compatible), I²C, UARTVDDIO voltage range: 1.7V to 3.6V
MSL1, RoHS compliant, halogen-free
Operating temperature: -40°C ... +85°C

Key features of integrated sensors:
Accelerometer features• Programmable functionality•

On-chip interrupt controller

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Acceleration ranges ±2g/±4g/±8g/±16g
Low-pass filter bandwidths 1kHz - <8Hz
Operation modes:- Normal- Suspend- Low power- Standby- Deep suspend
Motion-triggered interrupt-signal generation for- any-motion (slope) detection- slow or no motion recognition- high-g detection

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Gyroscope features• Programmable functionality•

On-chip interrupt controller

Magnetometer features• Flexible functionality

Page 3Ranges switchable from ±125°/s to ±2000°/s
Low-pass filter bandwidths 523Hz - 12Hz
Operation modes:- Normal- Fast power up- Deep suspend- Suspend- Advanced power save
Motion-triggered interrupt-signal generation for- any-motion (slope) detection- high rate

Magnetic field range typical ±1300µT (x-, y-axis);±2500µT (z-axis)
Magnetic field resolution of ~0.3µT
Operating modes:- Low power- Regular- Enhanced regular- High Accuracy
Power modes:- Normal- Sleep- Suspend- Force

Typical applications• Navigation• Robotics• Fitness and well-being• Augmented reality• Context awareness• Tablets and ultra-books

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 4General description
The BNO055 is a System in Package (SiP), integrating a triaxial 14-bit accelerometer, a triaxial
16-bit gyroscope with a range of ±2000 degrees per second, a triaxial geomagnetic sensor anda 32-bit cortex M0+ microcontroller running Bosch Sensortec sensor fusion software, in asingle package.
The corresponding chip-sets are integrated into one single 28-pin LGA 3.8mm x 5.2mm x
1.1 mm housing. For optimum system integration the BNO055 is equipped with digital bidirectional I2C and UART interfaces. The I2C interface can be programmed to run with the HIDI2C protocol turning the BNO055 into a plug-and-play sensor hub solution for devices running
the Windows 8.0 or 8.1 operating system.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 5

Table of Contents
BASIC DESCRIPTION ........................................................................................................... 2
SPECIFICATION.................................................................................................................. 13
1.1 ELECTRICAL SPECIFICATION .......................................................................................... 13
1.2 ELECTRICAL AND PHYSICAL CHARACTERISTICS, MEASUREMENT PERFORMANCE ................ 14
2. ABSOLUTE MAXIMUM RATINGS .................................................................................. 18
3. FUNCTIONAL DESCRIPTION ......................................................................................... 19
3.1 ARCHITECTURE............................................................................................................. 19
3.2 POWER MANAGEMENT ................................................................................................... 19
3.2.1 NORMAL MODE ....................................................................................................................... 20
3.2.2 LOW POWER MODE ................................................................................................................. 20
3.2.3 SUSPEND MODE ..................................................................................................................... 21

3.3 OPERATION MODES ...................................................................................................... 21
3.3.1 CONFIG MODE ........................................................................................................................ 23
3.3.2 NON-FUSION MODES .............................................................................................................. 23
3.3.3 FUSION MODES ....................................................................................................................... 23

3.4 AXIS REMAP.................................................................................................................. 26
3.5 SENSOR CONFIGURATION.............................................................................................. 28
3.5.1 DEFAULT SENSOR CONFIGURATION .......................................................................................... 28
3.5.2 ACCELEROMETER CONFIGURATION .......................................................................................... 29
3.5.3 GYROSCOPE CONFIGURATION.................................................................................................. 30
3.5.4 MAGNETOMETER CONFIGURATION............................................................................................ 31

3.6 OUTPUT DATA ............................................................................................................... 32
3.6.1 UNIT SELECTION...................................................................................................................... 32
3.6.2 DATA OUTPUT FORMAT ............................................................................................................ 32
3.6.3 FUSION OUTPUT DATA RATES .................................................................................................. 33
3.6.4 SENSOR CALIBRATION DATA ..................................................................................................... 33
3.6.5 OUTPUT DATA REGISTERS ....................................................................................................... 35

3.7 DATA REGISTER SHADOWING ......................................................................................... 39
3.8 INTERRUPTS ................................................................................................................. 40
3.8.1 INTERRUPT PIN ....................................................................................................................... 40
3.8.2 INTERRUPT SETTINGS ............................................................................................................. 40

3.9 SELF-TEST ................................................................................................................... 50
3.9.1 POWER ON SELF TEST (POST) ............................................................................................... 50
3.9.2 BUILT-IN SELF-TEST (BIST) .................................................................................................... 50

3.10 BOOT LOADER ............................................................................................................ 51
3.11 CALIBRATION .............................................................................................................. 51
3.11.1 ACCELEROMETER CALIBRATION ............................................................................................. 51
3.11.2 GYROSCOPE CALIBRATION .................................................................................................... 51
3.11.3 MAGNETOMETER CALIBRATION .............................................................................................. 51
3.11.4 SOFT-IRON CALIBRATION (SIC) ............................................................................................. 52
3.11.5 REUSE OF CALIBRATION PROFILE .......................................................................................... 53

4. REGISTER DESCRIPTION .............................................................................................. 54
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 6

4.1 GENERAL REMARKS ...................................................................................................... 54
4.2 REGISTER MAP ............................................................................................................. 55
4.2.1 REGISTER MAP PAGE 0 ........................................................................................................... 55
4.2.2 REGISTER MAP PAGE 1 ........................................................................................................... 58

4.3 REGISTER DESCRIPTION (PAGE 0).................................................................................. 60
4.3.1 CHIP_ID 0X00 ....................................................................................................................... 60
4.3.2 ACC_ID 0X01 ........................................................................................................................ 60
4.3.3 MAG_ID 0X02 ....................................................................................................................... 60
4.3.4 GYR_ID 0X03 ........................................................................................................................ 60
4.3.5 SW_REV_ID_LSB 0X04 ....................................................................................................... 61
4.3.6 SW_REV_ID_MSB 0X05 ...................................................................................................... 61
4.3.7 BL_REV_ID 0X06 .................................................................................................................. 61
4.3.8 PAGE ID 0X07 ....................................................................................................................... 61
4.3.9 ACC_DATA_X_LSB 0X08 ..................................................................................................... 62
4.3.10 ACC_DATA_X_MSB 0X09 .................................................................................................. 62
4.3.11 ACC_DATA_Y_LSB 0X0A .................................................................................................. 62
4.3.12 ACC_DATA_Y_MSB 0X0B ................................................................................................. 62
4.3.13 ACC_DATA_Z_LSB 0X0C .................................................................................................. 63
4.3.14 ACC_DATA_Z_MSB 0X0D ................................................................................................. 63
4.3.15 MAG_DATA_X_LSB 0X0E .................................................................................................. 63
4.3.16 MAG_DATA_X_MSB 0X0F ................................................................................................. 63
4.3.17 MAG_DATA_Y_LSB 0X10 .................................................................................................. 64
4.3.18 MAG_DATA_Y_MSB 0X11 ................................................................................................. 64
4.3.19 MAG_DATA_Z_LSB 0X12 .................................................................................................. 64
4.3.20 MAG_DATA_Z_MSB 0X13 ................................................................................................. 64
4.3.21 GYR_DATA_X_LSB 0X14 .................................................................................................. 65
4.3.22 GYR_DATA_X_MSB 0X15 ................................................................................................. 65
4.3.23 GYR_DATA_Y_LSB 0X16 .................................................................................................. 65
4.3.24 GYR_DATA_Y_MSB 0X17 ................................................................................................. 65
4.3.25 GYR_DATA_Z_LSB 0X18 ................................................................................................... 66
4.3.26 GYR_DATA_Z_MSB 0X19 .................................................................................................. 66
4.3.27 EUL_DATA_X_LSB 0X1A ................................................................................................... 66
4.3.28 EUL_DATA_X_MSB 0X1B .................................................................................................. 66
4.3.29 EUL_DATA_Y_LSB 0X1C ................................................................................................... 67
4.3.30 EUL_DATA_Y_MSB 0X1D.................................................................................................. 67
4.3.31 EUL_DATA_Z_LSB 0X1E ................................................................................................... 67
4.3.32 EUL_DATA_Z_MSB 0X1F .................................................................................................. 67
4.3.33 QUA_DATA_W_LSB 0X20 ................................................................................................. 68
4.3.34 QUA_DATA_W_MSB 0X21 ................................................................................................ 68
4.3.35 QUA_DATA_X_LSB 0X22 .................................................................................................. 68
4.3.36 QUA_DATA_X_MSB 0X23 ................................................................................................. 68
4.3.37 QUA_DATA_Y_LSB 0X24 .................................................................................................. 69
4.3.38 QUA_DATA_Y_MSB 0X25 ................................................................................................. 69
4.3.39 QUA_DATA_Z_LSB 0X26 ................................................................................................... 69
4.3.40 QUA_DATA_Z_MSB 0X27 .................................................................................................. 69
4.3.41 LIA_DATA_X_LSB 0X28 ..................................................................................................... 70
4.3.42 LIA_DATA_X_MSB 0X29 .................................................................................................... 70
4.3.43 LIA_DATA_Y_LSB 0X2A .................................................................................................... 70
4.3.44 LIA_DATA_Y_MSB 0X2B ................................................................................................... 70
4.3.45 LIA_DATA_Z_LSB 0X2C .................................................................................................... 71
4.3.46 LIA_DATA_Z_MSB 0X2D ................................................................................................... 71
4.3.47 GRV_DATA_X_LSB 0X2E .................................................................................................. 71
4.3.48 GRV_DATA_X_MSB 0X2F ................................................................................................. 71
4.3.49 GRV_DATA_Y_LSB 0X30 .................................................................................................. 72
4.3.50 GRV_DATA_Y_MSB 0X31 ................................................................................................. 72
4.3.51 GRV_DATA_Z_LSB 0X32 ................................................................................................... 72
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 74.3.52 GRV_DATA_Z_MSB 0X33 .................................................................................................. 72
4.3.53 TEMP 0X34 ......................................................................................................................... 73
4.3.54 CALIB_STAT 0X35.............................................................................................................. 73
4.3.55 ST_RESULT 0X36 .............................................................................................................. 73
4.3.56 INT_STA 0X37 .................................................................................................................... 74
4.3.57 SYS_CLK_STATUS 0X38 ................................................................................................... 74
4.3.58 SYS_STATUS 0X39 ............................................................................................................ 74
4.3.59 SYS_ERR 0X3A .................................................................................................................. 75
4.3.60 UNIT_SEL 0X3B.................................................................................................................. 75
4.3.61 OPR_MODE 0X3D .............................................................................................................. 76
4.3.62 PWR_MODE 0X3E.............................................................................................................. 76
4.3.63 SYS_TRIGGER 0X3F ......................................................................................................... 76
4.3.64 TEMP_SOURCE 0X40 ........................................................................................................ 76
4.3.65 AXIS_MAP_CONFIG 0X41 ................................................................................................. 77
4.3.66 AXIS_MAP_SIGN 0X42 ...................................................................................................... 77
4.3.67 SIC_MATRIX_LSB0 0X43 ................................................................................................... 77
4.3.68 SIC_MATRIX_MSB0 0X44 .................................................................................................. 77
4.3.69 SIC_MATRIX_LSB1 0X45 ................................................................................................... 78
4.3.70 SIC_MATRIX_MSB1 0X46 .................................................................................................. 78
4.3.71 SIC_MATRIX_LSB2 0X47 ................................................................................................... 78
4.3.72 SIC_MATRIX_MSB2 0X48 .................................................................................................. 78
4.3.73 SIC_MATRIX_LSB3 0X49 ................................................................................................... 78
4.3.74 SIC_MATRIX_MSB3 0X4A ................................................................................................. 79
4.3.75 SIC_MATRIX_LSB4 0X4B .................................................................................................. 79
4.3.76 SIC_MATRIX_MSB4 0X4C ................................................................................................. 79
4.3.77 SIC_MATRIX_LSB5 0X4D .................................................................................................. 79
4.3.78 SIC_MATRIX_MSB5 0X4E ................................................................................................. 80
4.3.79 SIC_MATRIX_LSB6 0X4F .................................................................................................. 80
4.3.80 SIC_MATRIX_MSB6 0X50 .................................................................................................. 80
4.3.81 SIC_MATRIX_LSB7 0X51 ................................................................................................... 80
4.3.82 SIC_MATRIX_MSB7 0X52 .................................................................................................. 80
4.3.83 SIC_MATRIX_LSB8 0X53 ................................................................................................... 81
4.3.84 SIC_MATRIX_MSB8 0X54 .................................................................................................. 81
4.3.85 ACC_OFFSET_X_LSB 0X55 .............................................................................................. 81
4.3.86 ACC_OFFSET_X_MSB 0X56 ............................................................................................. 82
4.3.87 ACC_OFFSET_Y_LSB 0X57 .............................................................................................. 82
4.3.88 ACC_OFFSET_Y_MSB 0X58 ............................................................................................. 82
4.3.89 ACC_OFFSET_Z_LSB 0X59 .............................................................................................. 82
4.3.90 ACC_OFFSET_Z_MSB 0X5A ............................................................................................. 83
4.3.91 MAG_OFFSET_X_LSB 0X5B ............................................................................................. 83
4.3.92 MAG_OFFSET_X_MSB 0X56C .......................................................................................... 83
4.3.93 MAG_OFFSET_Y_LSB 0X5D ............................................................................................. 83
4.3.94 MAG_OFFSET_Y_MSB 0X5E ............................................................................................ 84
4.3.95 MAG_OFFSET_Z_LSB 0X5F ............................................................................................. 84
4.3.96 MAG_OFFSET_Z_MSB 0X60............................................................................................. 84
4.3.97 GYR_OFFSET_X_LSB 0X61 .............................................................................................. 84
4.3.98 GYR_OFFSET_X_MSB 0X62 ............................................................................................. 85
4.3.99 GYR_OFFSET_Y_LSB 0X63 .............................................................................................. 85
4.3.100 GYR_OFFSET_Y_MSB 0X64 ........................................................................................... 85
4.3.101 GYR_OFFSET_Z_LSB 0X65 ............................................................................................ 85
4.3.102 GYR_OFFSET_Z_MSB 0X66 ........................................................................................... 86
4.3.103 ACC_RADIUS_LSB 0X67 ................................................................................................. 86
4.3.104 ACC_RADIUS_MSB 0X68 ................................................................................................ 86
4.3.105 MAG_RADIUS_LSB 0X69 ................................................................................................ 86
4.3.106 MAG_RADIUS_MSB 0X6A ............................................................................................... 86

4.4 REGISTER DESCRIPTION (PAGE 1).................................................................................. 87
4.4.1 PAGE ID 0X07 ........................................................................................................................ 87
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 84.4.2 ACC_CONFIG 0X08 ................................................................................................................ 87
4.4.3 MAG_CONFIG 0X09 ............................................................................................................... 87
4.4.4 GYR_CONFIG_0 0X0A ........................................................................................................... 88
4.4.5 GYR_CONFIG_1 0X0B ........................................................................................................... 88
4.4.6 ACC_SLEEP_CONFIG 0X0C ................................................................................................... 89
4.4.7 GYR_SLEEP_CONFIG 0X0D ................................................................................................... 90
4.4.8 INT_MSK 0X0F ..................................................................................................................... 91
4.4.9 INT_EN 0X10 ........................................................................................................................ 92
4.4.10 ACC_AM_THRES 0X11 ...................................................................................................... 92
4.4.11 ACC_INT_SETTINGS 0X12 ................................................................................................... 93
4.4.12 ACC_HG_DURATION 0X13 ............................................................................................... 93
4.4.13 ACC_HG_THRES 0X14 ...................................................................................................... 93
4.4.14 ACC_NM_THRES 0X15 ...................................................................................................... 94
4.4.15 ACC_NM_SET 0X16 ........................................................................................................... 94
4.4.16 GYR_INT_SETTING 0X17 .................................................................................................. 95
4.4.17 GYR_HR_X_SET 0X18 ....................................................................................................... 95
4.4.18 GYR_DUR_X 0X19 ............................................................................................................. 96
4.4.19 GYR_HR_Y_SET 0X1A ...................................................................................................... 96
4.4.20 GYR_DUR_Y 0X1B ............................................................................................................. 96
4.4.21 GYR_HR_Z_SET 0X1C ...................................................................................................... 97
4.4.22 GYR_DUR_Z 0X1D ............................................................................................................. 97
4.4.23 GYR_AM_THRES 0X1E ..................................................................................................... 97
4.4.24 GYR_AM_SET 0X1F ........................................................................................................... 98

4.5 DIGITAL INTERFACE....................................................................................................... 99
4.6 I2C PROTOCOL ........................................................................................................... 100
4.7 UART PROTOCOL....................................................................................................... 103
4.8 HID OVER I2C ............................................................................................................ 104
5. PIN-OUT AND CONNECTION DIAGRAM ..................................................................... 105
5.1 PIN-OUT ..................................................................................................................... 105
5.2 CONNECTION DIAGRAM I2C .......................................................................................... 107
5.3 CONNECTION DIAGRAM UART ..................................................................................... 108
5.4 CONNECTION DIAGRAM HID-I2C .................................................................................. 109
5.5 XOUT32 & XIN32 CONNECTIONS................................................................................ 110
5.5.1 EXTERNAL 32KHZ CRYSTAL OSCILLATOR ............................................................................... 110
5.5.2 INTERNAL CLOCK MODE ......................................................................................................... 111

6. PACKAGE ..................................................................................................................... 112
6.1 OUTLINE DIMENSIONS.................................................................................................. 112
6.2 MARKING.................................................................................................................... 113
6.3 SOLDERING GUIDELINES ............................................................................................. 113
6.4 HANDLING INSTRUCTIONS ............................................................................................ 113
6.5 TAPE AND REEL SPECIFICATION.................................................................................... 114
6.6 ENVIRONMENTAL SAFETY ............................................................................................ 114
6.6.1 HALOGEN CONTENT............................................................................................................... 114
6.6.2 INTERNAL PACKAGE STRUCTURE ............................................................................................ 114

7. LEGAL DISCLAIMER .................................................................................................... 115
7.1 ENGINEERING SAMPLES............................................................................................... 115
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 97.2 PRODUCT USE ............................................................................................................ 115
7.3 APPLICATION EXAMPLES AND HINTS ............................................................................. 115
8. DOCUMENT HISTORY AND MODIFICATIONS ............................................................ 116

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 10

Table of Figures
Figure 1: system architecture ...............................................................................................19
Figure 2: Principle of any-motion detection ...........................................................................44
Figure 3: High rate interrupt ..................................................................................................46
Figure 4: Principle of any-motion detection ...........................................................................48
Figure 5: I²C timing diagram ...............................................................................................101
Figure 6: I²C write ...............................................................................................................102
Figure 7: I²C multiple read ..................................................................................................102
Figure 8: Pin-out bottom view .............................................................................................105
Figure 9: I2C connection diagram .......................................................................................107
Figure 10: UART connection diagram .................................................................................108
Figure 11 : HID via IC connection diagram .........................................................................109
Figure 12 : External 32kHz Crystal Oscillator with Load Capacitor .....................................110
Figure 13: Outline dimensions ............................................................................................112

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 11

List of Tables
Table 0-1: Electrical parameter specification ........................................................................13
Table 0-2: Electrical characteristics BNO055........................................................................14
Table 2-1: Absolute maximum ratings ..................................................................................18
Table 3-1: power modes selection ........................................................................................20
Table 3-2: Low power modes - Interrupts .............................................................................20
Table 3-3: Operating modes overview ..................................................................................21
Table 3-4: Default sensor settings ........................................................................................22
Table 3-5: operating modes selection ...................................................................................22
Table 3-6: Operating mode switching time............................................................................22
Table 3-7: Default sensor configuration at power-on ............................................................28
Table 3-8: Accelerometer configurations ..............................................................................29
Table 3-9: Gyroscope configurations ....................................................................................30
Table 3-10: Magnetometer configurations ...........................................................................31
Table 3-13: unit selection .....................................................................................................32
Table 3-14: Fusion data output format ..................................................................................32
Table 3-15: Rotation angle conventions ...............................................................................32
Table 3-16: Fusion output data rates ....................................................................................33
Table 3-17: Accelerometer Default-Reg settings ..................................................................33
Table 3-18: Accelerometer offset range settings...................................................................33
Table 3-19: Accelerometer Unit settings ...............................................................................33
Table 3-20: Magnetometer Default-Reg settings ..................................................................34
Table 3-21: Magnetometer Unit settings ...............................................................................34
Table 3-22: Gyroscope Default Reg-settings ........................................................................34
Table 3-23: Gyroscope offset range settings ........................................................................35
Table 3-24: Gyroscope unit settings .....................................................................................35
Table 3-25: Radius Default-Reg settings ..............................................................................35
Table 3-26: Radius range settings ........................................................................................35
Table 3-27: Acceleration data ...............................................................................................35
Table 3-28: Magnetic field strength data ...............................................................................36
Table 3-29: Yaw rate data ....................................................................................................36
Table 3-30: Compensated orientation data in Euler angles format........................................37
Table 3-31: Euler angle data representation .........................................................................37
Table 3-32: Compensated orientation data in quaternion format ..........................................37
Table 3-33: Quaternion data representation .........................................................................37
Table 3-34: Linear Acceleration Data ...................................................................................38
Table 3-35: Linear Acceleration data representation ............................................................38
Table 3-36: Gravity Vector Data ...........................................................................................38
Table 3-37: Gravity Vector data representation ....................................................................38
Table 3-38: Temperature Data .............................................................................................39
Table 3-39: Temperature data representation ......................................................................39
Table 3-40: Temperature Source Selection ..........................................................................39
Table 3-41: No-motion time-out periods................................................................................42
Table 3-42: Timing of No-motion interrupt ............................................................................43
Table 3-43: Any-motion Interrupt parameters and Axis selection ..........................................45
Table 3-44: High-G Interrupt parameters and Axis selection.................................................45
Table 3-45: High Rate Interrupt parameters and Axis selection ............................................47
Table 3-46: Axis selection and any motion interrupt .............................................................49
Table 3-47: Power on Self Test ............................................................................................50
Table 3-48: Built-in self-test ..................................................................................................50
Table 3-11: Soft-Iron Calibration matrix definition .................................................................52
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 12

Table 3-12: Soft-Iron Calibration matrix scaling factor ..........................................................52
Table 4-1: Register Access Coding ......................................................................................55
Table 4-2: Register Map Page 0 ...........................................................................................55
Table4-3: Register Map Page 1 ............................................................................................58
Table 4-4: protocol select pin mapping .................................................................................99
Table 4-5: Mapping of digital interface pins ..........................................................................99
Table 4-6: Electrical specification of the interface pins..........................................................99
Table 4-7: I2C address selection ........................................................................................100
Table 4-8: I²C timings .........................................................................................................100
Table 5-1: Pin description ...................................................................................................106
Table 5-2: Crystal Oscillator Source Connections...............................................................110
Table 6-1: Marking of mass production parts ......................................................................113

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 13

Specification
If not stated otherwise, the given values are over lifetime and full performance temperatureand voltage ranges, minimum/maximum values are ±3 sigma.

1.1 Electrical specification
Table 0-1: Electrical parameter specification
OPERATING CONDITIONS BNO055
Parameter

SymbolCondition

Min

Typ

Max

Unit

Supply Voltage(only Sensors)
Supply Voltage(µC and I/O Domain)
Voltage Input
Low Level (UART, I2C)

VDD

--

2.4

--

3.6

V

VDDIO

--

1.7

--

3.6

V

VDDIO_VILVDDIO = 1.7-2.7V----

0.25 VDDIOV

VDDIO = 2.7-3.6V----

0.3 VDDIO

V

--

--

V

Voltage Input
High Level (UART, I2C)VDDIO_VIH

VDDIO = 1.7-2.7V

0.7 VDDIOVDDIO = 2.7-3.6V

0.55 VDDIO

--

--

V

Voltage Output
Low Level (UART, I2C)VDDIO_VOLVDDIO > 3V , IOL =20mA--

0.1 VDDIO

0.2 VDDIOV

Voltage Output
High Level (UART, I2C)POR Voltage thresholdon VDDIO-IN rising
POR Voltage thresholdon VDDIO-IN falling
Operating Temperature

VDDIO_VOH

VDDIO > 3V , IOH =10mA

0.8 VDDIO

0.9 VDDIO--V

VDDIO_POT+VDDIO falls at 1V/ms or slower

--

1.45

--

V

--

0.99

--

V

VDDIO_POTTA

--

-40

--

+85

°C

Total supply current
normal mode at TA(9DOF @100Hz output
data rate)
Total supply current
Low power mode at TA

IDD + IDDIO

VDD = 3V, VDDIO = 2.5V

--

--

12.3

mA

IDD_LPMVDD = 3V, VDDIO = 2.5V

0.33

2.72#

Total supply current
suspend mode at TA

IDD_SuM

VDD = 3V, VDDIO = 2.5V

--

--

mA
0.04*

mA

# 80% suspend mode and 20% normal mode with 9DOF @100Hz output data rate
* using I2C as communication protocol

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 14

1.2 Electrical and physical characteristics, measurement performance
Table 0-2: Electrical characteristics BNO055
OPERATING CONDITIONS BNO055
Parameter

SymbolCondition

Min

Typ

Max

Unit

Start-Up time

TSup

From Off to configuration
mode

400

ms

POR time

TPOR

From Reset to Config mode

650

ms

Data RateDR

Data rate tolerance
9DOF @100Hz output
data rate(if internal oscillator is
used)

DRtol

Parameter

SymbolCondition

Acceleration Range

gFS2g

Selectable
via serial digital interface

s. Par. Fusion Output data rates±1%

OPERATING CONDITIONS ACCELEROMETER
Min

Typ

Max

Units

±2

g

±4

g

gFS8g

±8

g

gFS16g

±16

g

gFS4g

OUTPUT SIGNAL ACCELEROMETER(ACCELEROMETER ONLY MODE)
Parameter

SymbolCondition

Min

Typ

SensitivityS

All gFSXg Values, TA=25°C

1

Sensitivity tolerance

Stol

Ta=25°C, gFS2g±1

Sensitivity Temperature
Drift

TCS

±0.03

Sensitivity
Supply Volt. Drift

SVDD

gFS2g,
Nominal VDD supplies,
Temp operating conditions
gFS2g, TA=25°C,
VDD_min ≤ VDD ≤ VDD_max

Zero-g Offset (x,y.z)

OffxyzgFS2g, TA=25°C, nominal VDD
supplies, over life-timeZero-g Offset
Temperature Drift

TCO

Zero-g Offset Supply
Volt. Drift
Bandwidth

Max

Units
LSB/mg

±4

%
%/K

0.065

0.2

%/V

±80

+150

mg

gFS2g,
Nominal VDD supplies±1+/-3.5

mg/K

OffVDD

gFS2g, TA=25°C,
VDD_min ≤ VDD ≤ VDD_max

1.5

2.5

mg/V

bw8

2nd order filter, bandwidth
programmable

8

Hz

16

Hz

bw31

31

Hz

bw63

63

Hz

bw125

125

Hz

bw250

250

Hz

bw500

500

Hz

bw1000

1,000

Hz

bw16

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

-150

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 15

Nonlinearity

NL

best fit straight line, gFS2g

0.5

2

%FS

Output Noise Density

nrms

gFS2g, TA=25°C
Nominal VDD supplies
Normal mode

150

190

µg/HzMECHANICAL CHARACTERISTICS ACCELEROMETER
SymbolCondition
Min
Typ

Max

Units

Parameter
Cross Axis Sensitivity

CAS

relative contribution between
any two of the three axes

1

2

%

Alignment Error

EA

relative to package outline

0.5

2

°

Parameter

SymbolCondition

Typ

Max

Unit

Rate Range

RFS125

Selectable
via serial digital interface

OPERATING CONDITIONS GYROSCOPE
Min

125

°/s

250

°/s

RFS500500°/s

RFS1000

1,000

°/s

RFS2000

2,000

°/s

16.0
900
±1

±3

LSB/°/s
rad/s
%

±0.03

±0.07

%/K

RFS250OUTPUT SIGNAL GYROSCOPE(GYRO ONLY MODE)
Sensitivity via register
Map
Sensitivity tolerance

S

Ta=25°C

Stol

Ta=25°C, RFS2000

Sensitivity Change over

TCS

Nominal VDD supplies -40°C

Temperature
Sensitivity≤ T ≤ +85°C RFS2000
A

TA=25°C,

SVDDSupply Volt. Drift
Nonlinearity

--

<0.4

%/V

VDD_min ≤ VDD ≤ VDD_max
NLbest fit straight line

±0.05

±0.2

%FS

±1

+3

°/s

Nominal VDD supplies -40°C≤ T ≤ +85°C RFS2000±0.015±0.03°/s per K

TA=25°C,

0.1

RFS1000, RFS2000
Zero-rate Offset

Off x y andz

Zero- Offset Change

TCO

over Temperature
Zero- Offset Supply-3

A

Slow and fast offset
cancellation off

AOff VDD

Volt. Drift
Output Noise

Nominal VDD supplies
T =25°C,nrms°/s /VVDD_min ≤ VDD ≤ VDD_max
rms, BW=47Hz

0.1

0.3

°/s

(@ 0.014°/s/√Hz)

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Bandwidth BW

f

Page 16
523
230
116
64
47
32
23
12

-3dB

Hz

MECHANICAL CHARACTERISTICS GYROSCOPE
Cross Axis Sensitivity

CAS

Sensitivity to stimuli in

±1

±3

%

Max

Units

non-sense-direction

OPERATING CONDITIONS MAGNETOMETER(MAGNETOMETER ONLY MODE)
Parameter

SymbolCondition

Min

Typ

Magnetic field range1

Brg,xyTA=25°C

±1200

±1300

µT

±2000

±2500

µT

Brg,z
Magnetometer heading
accuracy2

As heading

30µT horizontal geomagnetic
field component, TA=25°C

±2.5

deg

Max

Unit

MAGNETOMETER OUTPUT SIGNAL
Parameter

SymbolCondition

Device Resolution

Dres,m

TA=25°C

0.3

Gain error

Gerr,m±5±8%

Sensitivity Temperature
Drift

TCSm

±0.01

±0.03

%/K

Zero-B offset

OFFm

After API compensation
TA=25°C
Nominal VDD supplies
After API compensation-40°C ≤ TA ≤ +85°C
Nominal VDD supplies
TA=25°C

Zero-B offset4

OFFm,calZero-B offset
Temperature Drift
Full-scale Nonlinearity

3

Min

Typ

µT

±40

µT

After calibration in fusion mode
-40°C ≤ TA ≤ +85°C

±2

µT

TCOm

-40°C  TA  +85°C±0.23

NLm, FS

best fit straight line

±0.37

µT/K

1

%FS

1

Full linear measurement range considering sensor offsets.
The heading accuracy depends on hardware and software. A fully calibrated sensor and ideal tilt
compensation are assumed.
3 Definition: gain error = ( (measured field after API compensation) / (applied field) ) – 1
4
Magnetic zero-B offset assuming calibration in fusion mode. Typical value after applying calibration
movements containing various device orientations (typical device usage).
2

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Output Noise

Power Supply Rejection
Rate

Page 17

nrms,lp,m,xy

Low power presetx, y-axis, TA=25°C
Nominal VDD supplies

1.0

µT

nrms,lp,m,z

Low power preset
z-axis, TA=25°C
Nominal VDD supplies

1.4

µT

nrms,rg,mRegular preset
TA=25°C
Nominal VDD supplies

0.6

µT

nrms,eh,mEnhanced regular preset
TA=25°C
Nominal VDD supplies

0.5

µT

nrms,ha,mHigh accuracy preset
TA=25°C
Nominal VDD supplies

0.3

µT

PSRRm

TA=25°C
Nominal VDD supplies

±0.5

µT/V

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 18

2. Absolute Maximum Ratings
Table 2-1: Absolute maximum ratings
Parameter

SymbolVoltage at Supply Pin

Min

Max

Units

VDD Pin

-0.3

4.2

V

VDDIO Pin

-0.3

3.6

V

Voltage at any Logic Pin

Vnon-supply Pin-0.3

VDDIO+0.3

VPassive Storage Temp.
Range

Trps

≤ 65% rel. H.

-50

+150

°C

Mechanical Shock

MechShock200µs

Duration ≤ 200µs

10,000g

MechShock1ms

Duration ≤ 1.0ms

2,000

g

MechShockfreefall

Free fall
onto hard surfaces

1.8m

ESDHBM

HBM, at any Pin

2kV

ESDCDM

CDM

500

V

ESDMM

MM

200

V

ESD

Condition

Note:
Stress above these limits may cause damage to the device. Exceeding the specified electricallimits may affect the device reliability or cause malfunction.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 19

3. Functional Description
3.1 Architecture
The following figure shows the basic building blocks of the BNO055 device.
Figure 1: system architecture

3.2 Power management
The BNO055 has two distinct power supply pins:• VDD is the main power supply for the internal sensors• VDDIO is a separate power supply pin used for the supply of the µC and the digital interfaces
For the switching sequence of power supply VDD and VDDIO it is mandatory that VDD is poweredon and driven to the specified level before or at the same time as VDDIO is powered ON.
Otherwise there are no limitations on the voltage levels of both pins relative to each other, as
long as they are used within the specified operating range.
The sensor features a power-on reset (POR), initializing the register map with the default
values and starting in CONFIG mode. The POR is executed at every power on and can also
be triggered either by applying a low signal to the nRESET pin for at least 20ns or by setting
the RST_SYS bit in the SYS_TRIGGER register.
The BNO055 can be configured to run in one of the following power modes: normal mode, lowpower mode, and suspend mode. These power modes are described in more detail in section
Power Modes

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 20

Power Modes
The BNO055 support three different power modes: Normal mode, Low Power Mode, andSuspend mode.
The power mode can be selected by writing to the PWR_MODE register as defined in the tablebelow. As default at start-up the BNO055 will run in Normal mode.
Table 3-1: power modes selection
Parameter

Value[Reg Addr]: Reg Value

Power Mode

Normal Mode

[PWR_MODE]: xxxxxx00b

Low Power Mode

[PWR_MODE]: xxxxxx01b

Suspend Mode

[PWR_MODE]: xxxxxx10b

Invalid[PWR_MODE]: xxxxxx11b

It is recommended not to configure the invalid power mode, writing multiple register along with
PWR_MODE register and no specific value is guaranteed when read.
3.2.1 Normal Mode
In normal mode all sensors required for the selected operating mode (see section 3.3) arealways switched ON. The register map and the internal peripherals of the MCU are always
operative in this mode.
3.2.2 Low Power Mode
If no activity (i.e. no motion) is detected for a configurable duration (default 5 seconds), theBNO055 enters the low power mode. In this mode only the accelerometer is active. Oncemotion is detected (i.e. the accelerometer signals an any-motion interrupt), the system iswoken up and normal mode is entered. The following settings are possible.
Table 3-2: Low power modes - Interrupts
Description

Parameter

Entering to Detection
Typesleep:NO Motion
Interrupt
ParamsDescription
Waking up: Any
Motion Interrupt

Value

Reg Value

Restriction

No Motion
Detection Axis

[ACC_NM_SET] : xxxxxxx1b[ACC_INT_Settings] : bit4-bit2

Duration
Threshold[ACC_NM_SET] : bit6-bit1[ACC_NM_THRE] : bit7-bit0

n/a
Shares common
bit with Any Motion
interrupt
axis
selectionn/an/aParameter
Detection Type

Value
Detection Axis

Reg Value[ACC_INT_Settings] : bit4-bit2

ParamsDuration
Threshold[ACC_INT_Settings] : bit1-bit0[ACC_AM_THRES] : bit7-bit0

Additionally, the interrupt pins can also be configured to provide HW interrupt to the host.
The BNO055 is by default configured to have optimum values for entering into sleep andwaking up. To restore these values, trigger system reset by setting RST_SYS bit in
SYS_TRIGGER register.
There are some limitations to achieve the low power mode performance:
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet••

Page 21

Only No and Any motion interrupts are applicable and High-G and slow motion
interrupts are not applicable in low power mode.
Low power mode is not applicable where accelerometer is not employed.

3.2.3 Suspend ModeIn suspend mode the system is paused and all the sensors and the microcontroller are put into
sleep mode. No values in the register map will be updated in this mode. To exit from suspendmode the mode should be changed by writing to the PWR_MODE register (see Table 3-1).

3.3 Operation Modes
The BNO055 provides a variety of output signals, which can be chosen by selecting theappropriate operation mode. The table below lists the different modes and the available sensor
signals.
Table 3-3: Operating modes overview
Available sensor signals

Fusion modes

Non-fusionmodes

Operating Mode

Fusion Data

Accel

Mag

Gyro

Relativeorientation

Absoluteorientation

CONFIGMODE

-

-

-

-

-

ACCONLY

X

-

-

-

-

MAGONLY

-

X

-

-

-

GYROONLY

-

-

X

-

-

ACCMAG

X

X

-

-

-

ACCGYRO

X

-

X

-

-

MAGGYRO

-

X

X

-

-

AMG

X

X

X

-

-

IMU

X

-

X

X

-

COMPASS

X

X

-

-

X

M4G

X

X

X

-

NDOF_FMC_OFF

X

X

X

-

X

NDOF

X

X

X

-

X

The default operation mode after power-on is CONFIGMODE.
When the user changes to another operation mode, the sensors which are required in thatparticular sensor mode are powered, while the sensors whose signals are not required are set
to suspend mode.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 22

The BNO055 sets the following default settings for the sensors. The user can overwrite thesesettings in the register map when in CONFIGMODE.
Table 3-4: Default sensor settings
SensorRange

Bandwidth

Accelerometer

4G

62.5 Hz

Magnetometer

NA

10 Hz

Gyroscope2000 dps

32 Hz

In any mode, the sensor data are available in the data register based on the unit selected. The
axis of the data is configured based on the axis-remap register configuration.
The operating mode can be selected by writing to the OPR_MODE register, possible registervalues and the corresponding operating modes are shown in the table below.
Table 3-5: operating modes selection
Parameter

Value[Reg Addr]: Reg ValueCONFIG MODECONFIGMODE[OPR_MODE]: xxxx0000b

ACCONLY[OPR_MODE]: xxxx0001b

MAGONLY[OPR_MODE]: xxxx0010b

GYROONLY[OPR_MODE]: xxxx0011b

ACCMAG[OPR_MODE]: xxxx0100b

ACCGYRO[OPR_MODE]: xxxx0101b

MAGGYRO[OPR_MODE]: xxxx0110b

AMG[OPR_MODE]: xxxx0111b

IMU[OPR_MODE]: xxxx1000b

COMPASS[OPR_MODE]: xxxx1001b

M4G[OPR_MODE]: xxxx1010b

NDOF_FMC_OFF[OPR_MODE]: xxxx1011b

NDOF[OPR_MODE]: xxxx1100b

Non-Fusion
Mode

Fusion Mode

Table 3-6 below shows the time required to switch between CONFIGMODE and the otheroperating modes.
Table 3-6: Operating mode switching time
From
CONFIGMODE
Any operation mode

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

To
Any operation mode
CONFIGMODE

Switching time
7ms
19ms

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 23

3.3.1 Config Mode
This mode is used to configure BNO, wherein all output data is reset to zero and sensor fusion
is halted. This is the only mode in which all the writable register map entries can be changed.
(Exceptions from this rule are the interrupt registers (INT and INT_MSK) and the operation
mode register (OPR_MODE), which can be modified in any operation mode.)
As being said, this mode is the default operation mode after power-on or RESET. Any othermode must be chosen to be able to read any sensor data.
3.3.2 Non-Fusion Modes
3.3.2.1 ACCONLY
If the application requires only raw accelerometer data, this mode can be chosen. In this modethe other sensors (magnetometer, gyro) are suspended to lower the power consumption. In
this mode, the BNO055 behaves like a stand-alone acceleration sensor.
3.3.2.1 MAGONLY
In MAGONLY mode, the BNO055 behaves like a stand-alone magnetometer, with acceleration
sensor and gyroscope being suspended.
3.3.2.2 GYROONLYIn GYROONLY mode, the BNO055 behaves like a stand-alone gyroscope, with acceleration
sensor and magnetometer being suspended.
3.3.2.3 ACCMAG
Both accelerometer and magnetometer are switched on, the user can read the data from these
two sensors.
3.3.2.4 ACCGYROBoth accelerometer and gyroscope are switched on; the user can read the data from these two
sensors.
3.3.2.5 MAGGYROBoth magnetometer and gyroscope are switched on, the user can read the data from these
two sensors.
3.3.2.6 AMG (ACC-MAG-GYRO)
All three sensors accelerometer, magnetometer and gyroscope are switched on.
3.3.3 Fusion modes
Sensor fusion modes are meant to calculate measures describing the orientation of the devicein space. It can be distinguished between non-absolute or relative orientation and absoluteorientation. Absolute orientation means orientation of the sensor with respect to the earth andits magnetic field. In other words, absolute orientation sensor fusion modes calculate thedirection of the magnetic north pole.
In non-absolute or relative orientation modes, the heading of the sensor can vary depending
on how the sensor is placed initially.
All fusion modes provide the heading of the sensor as quaternion data or in Euler angles (roll,
pitch and yaw angle). The acceleration sensor is both exposed to the gravity force and toaccelerations applied to the sensor due to movement. In fusion modes it is possible to separate
the two acceleration sources, and thus the sensor fusion data provides separately linear
acceleration (i.e. acceleration that is applied due to movement) and the gravity vector.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 24

For all Fusion modes, the sensors are configured with the default settings as defined in Table
3-7: Default sensor configuration at power-on in Chapter 3.5.1.
Note 1: The sensor fusion algorithm performs automatic background calibration of all sensors.
This feature cannot be disabled.
Note 2: The sensor fusion algorithm uses the accelerometer data to compensate for thegyroscope drift over time. When the device is in motion, the accelerometer data is temporarily
ignored and the fusion relies on the gyroscope for pitch and roll. If the accelerometer datacannot be used for an extended period of time (e.g. due to vibration, or to constant movement),
then this may cause the pitch and roll values to drift over time. Likewise, if the magnetometerdata is detected to be distorted, it will automatically be ignored by the algorithm and this may
cause the heading to drift over time (as in IMU mode).
Note 3: The sensor fusion algorithm was primarily designed to track human motion. If thedevice is subjected to large accelerations for an extended period of time (e.g. in a vehicle
cornering at high speed or braking over a long distance), the device may incorrectly interpret
this large acceleration as the gravity vector. For applications where the sensor may be exposed
to significant velocities, it is recommended to test the device for the specific use-case.
3.3.3.1 IMU (Inertial Measurement Unit)
In the IMU mode the relative orientation of the BNO055 in space is calculated from theaccelerometer and gyroscope data. The calculation is fast (i.e. high output data rate).
3.3.3.2 COMPASSThe COMPASS mode is intended to measure the magnetic earth field and calculate thegeographic direction.
The earth magnetic field is a vector with the horizontal components x,y and the vertical z
component. It depends on the position on the globe and natural iron occurrence. For heading
calculation (direction of compass pointer) only the horizontal components x and y are used.
Therefore the vector components of the earth magnetic field must be transformed in thehorizontal plane, which requires the knowledge of the direction of the gravity vector. To
summarize, the heading can only be calculated when considering gravity and magnetic fieldat the same time.
However, the measurement accuracy depends on the stability of the surrounding magnetic
field. Furthermore, since the earth magnetic field is usually much smaller than the magnetic
fields that occur around and inside electronic devices, the compass mode requires calibration(see chapter 3.10)
3.3.3.3 M4G (Magnet for Gyroscope)
The M4G mode is similar to the IMU mode, but instead of using the gyroscope signal to detect
rotation, the changing orientation of the magnetometer in the magnetic field is used. Since themagnetometer has much lower power consumption than the gyroscope, this mode is lesspower consuming in comparison to the IMU mode. There are no drift effects in this mode which
are inherent to the gyroscope.
However, as for compass mode, the measurement accuracy depends on the stability of thesurrounding magnetic field.
For this mode no magnetometer calibration is required and also not available.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 25

3.3.3.4 NDOF_FMC_OFF
This fusion mode is same as NDOF mode, but with the Fast Magnetometer Calibration turned‘OFF’.
3.3.3.5 NDOF
This is a fusion mode with 9 degrees of freedom where the fused absolute orientation data is
calculated from accelerometer, gyroscope and the magnetometer. The advantages ofcombining all three sensors are a fast calculation, resulting in high output data rate, and highrobustness from magnetic field distortions. In this mode the Fast Magnetometer calibration isturned ON and thereby resulting in quick calibration of the magnetometer and higher output
data accuracy. The current consumption is slightly higher in comparison to the
NDOF_FMC_OFF fusion mode.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 26

3.4 Axis remap
The device mounting position should not limit the data output of the BNO055 device. The axisof the device can be re-configured to the new reference axis.
Axis configuration byte: Register Address: AXIS_MAP_CONFIG
Bit 7
Bit 6
Reserved

Bit 5
Bit 4
Remapped Z axis
value

Bit 3
Bit 2
Remapped Y axis
value

Bit 1
Bit 0
Remapped X axis
value

There are two bits are used to configure the axis remap which will define in the following way,
Value
00
01
10
11

Axis Representation
X - Axis
Y - Axis
Z- AxisInvalid

Also, when user try to configure the same axis to two or more then BNO055 will take this asinvalid condition and previous configuration will be restored in the register map. The default
value is: X Axis = X, Y Axis = Y and Z Axis = Z (AXIS_REMAP_CONFIG = 0x24).
Axis sign configuration byte: Register Address: AXIS_MAP_SIGN
Bit 7

Bit 6

Bit 5
Reserved

Bit 4

Bit 3

Value

Sign

0
1

Positive
Negative

Bit 2
Remapped
X axis sign

Bit 1
Remapped
Y axis sign

Bit 0
Remapped
Z axis sign

The default value is 0x00.
The default values correspond to the following coordinate system

Z; Ωz; z
X; Ωx; xY; Ωy; y
Accel; Gyro; Magnet

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 27

Some example placement for axis vs. register settings:

P0

P1

P4

P2

P3

P6

P7

TOP VIEW

P5

BOTTOM VIEW

Z
Y
X
P0
For the above described placements, following would be the axis configuration parameters.
Placement
P0
P1 (default)
P2
P3
P4
P5
P6
P7

AXIS_REMAP_CONFIG
0x21
0x24
0x24
0x21
0x24
0x21
0x21
0x24

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

AXIS_REMAP_SIGN
0x04
0x00
0x06
0x02
0x03
0x01
0x07
0x05

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 28

3.5 Sensor Configuration
The fusion outputs of the BNO055 are tightly linked with the sensor configuration settings. Dueto this fact, the sensor configuration is limited when BNO055 is configured to run in any of thefusion operating mode. In any of the non-fusion modes the configuration settings can be
updated by writing to the configuration registers as defined in the following sections.
3.5.1 Default sensor configuration
In fusion modes, the sensors settings are controlled by the BNO055 and configured as definedin Table 3-7. In non-fusion modes, the sensor settings can be configured by the user while in
CONFIG_MODE are retained.
Table 3-7: Default sensor configuration at power-on
Sensors
Accelerometer

Gyroscope

Magnetometer

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Parameters

Value

Power Mode

NORMALRange+/- 4gBandwidth

62.5HzResolution

14 bits

Power Mode

NORMAL

Range

2000 °/s

Bandwidth

32Hz

Resolution

16 bits

Power Mode

FORCEDODR

20Hz

XY Repetition
Z Repetition
Resolution x/y/z

15
16
13/13/15 bits

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 29

3.5.2 Accelerometer configuration
The fusion outputs of the BNO055 are tightly linked with the accelerometer sensor settings.
Therefore the configuration possibilities are restricted when running in any of the fusion
operating modes. The accelerometer configuration can be changed by writing to the
ACC_Config register, Table below shows different Accelerometer configurations
Table 3-8: Accelerometer configurations
Parameter
G Range

Bandwidth

Operation Mode

Values[Reg Addr]: Reg Value

2G[ACC_Config]: xxxxxx00b

4G[ACC_Config]: xxxxxx01b

8G[ACC_Config]: xxxxxx10b

16G[ACC_Config]: xxxxxx11b

7.81Hz[ACC_Config]: xxx000xxb

15.63Hz[ACC_Config]: xxx001xxb

31.25Hz[ACC_Config]: xxx010xxb

62.5Hz[ACC_Config]: xxx011xxb

125Hz[ACC_Config]: xxx100xxb

250Hz[ACC_Config]: xxx101xxb

500Hz[ACC_Config]: xxx110xxb

1000Hz[ACC_Config]: xxx111xxb

Normal[ACC_Config]: 000xxxxxb

Suspend[ACC_Config]: 001xxxxxb

Low Power 1[ACC_Config]: 010xxxxxb

Standby[ACC_Config]: 011xxxxxb

Low Power 2[ACC_Config]: 100xxxxxb

Deep Suspend[ACC_Config]: 101xxxxxb

Restrictions

Auto controlled in fusion
mode

The accelerometer sensor operation mode is not configurable by user when BNO power mode
is configured as low power mode. BNO rewrites the user configured value to Normal mode
when switching from config mode to any BNO operation mode. This used to achieve the BNO
low power mode performance.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 30

3.5.3 Gyroscope configuration
The fusion outputs of the BNO055 are tightly linked with the angular rate sensor settings.
Therefore the configuration possibilities are restricted when running in any of the fusion
operating modes. The gyroscope configuration can be changed by writing to the GYR_Config
register, Table below shows different Gyroscope configurations
Table 3-9: Gyroscope configurations
Parameter
Range

Bandwidth

Operation Mode

Values[Reg Addr]: Register value

2000 dps[GYR_Config_0]: xxxxx000b1000 dps[GYR_Config_0]: xxxxx001b

500dps[GYR_Config_0]: xxxxx010b

250 dps[GYR_Config_0]: xxxxx011b

125 dps[GYR_Config_0]: xxxxx100b

523Hz[GYR_Config_0]: xx000xxxb

230Hz[GYR_Config_0]: xx001xxxb

116Hz[GYR_Config_0]: xx010xxxb

47Hz[GYR_Config_0]: xx011xxxb

23Hz[GYR_Config_0]: xx100xxxb

12Hz[GYR_Config_0]: xx101xxxb

64Hz[GYR_Config_0]: xx110xxxb

32Hz[GYR_Config_0]: xx111xxxb

Normal[GYR_Config_1]: xxxxx000b

Fast Power up[GYR_Config_1]: xxxxx001b

Deep Suspend[GYR_Config_1]: xxxxx010b

Suspend[GYR_Config_1]: xxxxx011b

Advanced
Powersave[GYR_Config_1]: xxxxx100b

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Restrictions

Auto controlled in fusion mode

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 313.5.4 Magnetometer configuration
The fusion outputs of the BNO055 are tightly linked with the magnetometer sensor settings.
Therefore the configuration possibilities are restricted when running in any of the fusion
operating modes. The magnetometer configuration can be changed by writing to the
MAG_Config register, Table below shows different Magnetometer configurations.
Table 3-10: Magnetometer configurations
Parameter

Values[Reg Addr]: Register
value

Data output rate

2Hz

[MAG_Config]: xxxxx000b

6Hz[MAG_Config]: xxxxx001b8Hz[MAG_Config]: xxxxx010b

10Hz[MAG_Config]: xxxxx011b

15Hz[MAG_Config]: xxxxx100b

20Hz[MAG_Config]: xxxxx101b25Hz[MAG_Config]: xxxxx110b

30Hz[MAG_Config]: xxxxx111b

Low Power[MAG_Config]: xxx00xxxb

Regular[MAG_Config]: xxx01xxxb

Enhanced
Regular[MAG_Config]: xxx10xxxb

High Accuracy[MAG_Config]: xxx11xxxb

Normal[MAG_Config]: x00xxxxxb

Sleep[MAG_Config]: x01xxxxxb

Suspend[MAG_Config]: x10xxxxxb

Force Mode

[MAG_Config]: x11xxxxxb

Operation Mode

Power Mode

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Restrictions

Auto controlled in fusion mode

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 32

3.6 Output data
Depending on the selected operating mode the device will output either un-calibrated sensor
data (in non-fusion mode) or calibrated / fused data (in fusion mode), this section describes
the output data for each modes.
3.6.1 Unit selection
The measurement units for the various data outputs (regardless of operation mode) can be
configured by writing to the UNIT_SEL register as described in Table 3-9.
Table 3-11: unit selection
Data

Units

Acceleration

m/s

2

mg

[Reg Addr]: Register Value[UNIT_SEL] : xxxxxxx0b[UNIT_SEL] : xxxxxxx1b2Linear Acceleration,
Gravity vector
Magnetic Field Strengthm/s

Angular Rate

Dps

[UNIT_SEL] : xxxxxx0xb

Rps[UNIT_SEL] : xxxxxx1xb

Degrees[UNIT_SEL] : xxxxx0xxb

Radians[UNIT_SEL] : xxxxx1xxb

Quaternion
units
°C

NA
[UNIT_SEL] : xxx0xxxxb°F[UNIT_SEL] : xxx1xxxxb

Euler Angles
Quaternion
Temperature

Micro Tesla[UNIT_SEL] : xxxxxxx0bNA3.6.2 Data output format
The data output format can be selected by writing to the UNIT_SEL register, this allows user
to switch between the orientation definition described by Windows and Android operating
systems.
Table 3-12: Fusion data output format
Parameter
Fusion data output
formatValuesWindows
Android[Reg Addr]: Register value[UNIT_SEL]: 0xxxxxxxb[UNIT_SEL]: 1xxxxxxxb

The output data format is based on the following convention regarding the rotation angles forroll, pitch and heading / yaw (compare also section 3.4):
Table 3-13: Rotation angle conventions
Rotation angle

Range (Android format)

Pitch+180° to -180° (turning -180° to +180° (turning clockclockwise decreases values) wise increases values)-90° to +90° (increasing with increasing inclination)
0° to 360° (turning clockwise increases values)

RollHeading / Yaw

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Range (Windows format)

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 33

3.6.3 Fusion Output data rates
Table 3-14: Fusion output data rates
Data input rate

Data output rate

Gyro

Algo
calling
rate

Accel

Mag

Gyro

NA

100Hz

100Hz

100Hz

NA

100Hz

Fusion
data
100Hz

20Hz

20Hz

NA

20Hz

20Hz

20Hz

NA

20Hz

50Hz

50Hz

NA

50Hz

50Hz

50Hz

NA

50Hz

NDOF_FMC_OFF

100Hz

20Hz

100Hz

100Hz

100Hz

20Hz

100Hz

100Hz

NDOF

100Hz

20Hz

100Hz

100Hz

100Hz

20Hz

100Hz

100Hz

BNO055 Operating
Mode

Accel

Mag

IMU

100Hz

COMPASS
M4G

3.6.4 Sensor calibration data
The following section describes the register holding the calibration data of the sensors (seechapter 3.11). The offset and radius data can be read from these registers and stored in thehost system, which could be later used to get the correct orientation data after ‘Power on Reset’of the sensor.
3.6.4.1 Accelerometer offset
The accelerometer offset can be configured in the following registers, shown in the table below.
There are 6 bytes required to configure the accelerometer offset (2 bytes for each of the 3 axis
X, Y and Z). Configuration will take place only when the user writes the last byte (i.e.,
ACC_OFFSET_Z_MSB).
Table 3-15: Accelerometer Default-Reg settings
Reg Name
ACC_OFFSET_X_LSB
ACC_OFFSET_X_MSB
ACC_OFFSET_Y_LSB
ACC_OFFSET_Y_MSB
ACC_OFFSET_Z_LSB
ACC_OFFSET_Z_MSB

Default Reg Value (Bit 0 – Bit 7)
0x00
0x00
0x00
0x00
0x00
0x00

The range of the offsets for Accelerometer is +/-500 in LSB. .
Table 3-16: Accelerometer offset range settings
Offset for Sensor
Accelerometer

Maximum Offset range in LSB+/- 500

Table 3-17: Accelerometer Unit settings
Unit

Representation

2

1 m/s2 = 100 LSB

m/s

mg

1 mg = 1 LSB

3.6.4.2 Magnetometer offset
The magnetometer offset can be configured in the following registers,
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 34

Table 3-18: Magnetometer Default-Reg settings
Reg Name
MAG_OFFSET_X_LSB
MAG_OFFSET_X_MSB
MAG_OFFSET_Y_LSB
MAG_OFFSET_Y_MSB
MAG_OFFSET_Z_LSB
MAG_OFFSET_Z_MSB

Default Reg Value (Bit 0 – Bit 7)
0x00
0x00
0x00
0x00
0x00
0x00

There are 6 bytes required to configure the magnetometer offset (bytes (2 bytes for each of
the 3 axis X, Y and Z). Configuration will take place only when the user writes the last byte
(i.e., MAG_OFFSET_Z_MSB). Therefore the last byte must be written whenever the user
wants to changes the configuration. The range of the magnetometer offset is +/-6400 in LSB.
Table 3-19: Magnetometer Unit settings
Unit

RepresentationµT

1 µT = 16 LSB

3.6.4.3 Gyroscope offset
The gyroscope offset can be configured in the following registers, shown in the table below
Table 3-20: Gyroscope Default Reg-settings
Reg Name
GYR_OFFSET_X_LSBGYR_OFFSET_X_MSB
GYR_OFFSET_Y_LSB
GYR_OFFSET_Y_MSB
GYR_OFFSET_Z_LSB
GYR_OFFSET_Z_MSB

Default Reg Value (Bit 0 – Bit 7)
0x00
0x00
0x00
0x00
0x00
0x00

There are 6 bytes required to configure the gyroscope offset (bytes (2 bytes for each of the 3axis X, Y and Z). Configuration will take place only when the user writes the last byte (i.e.,
GYR_OFFSET_Z_MSB). Therefore the last byte must be written whenever the user wants tochanges the configuration. The range of the offset for Gyroscope is +/-2000 in LSB.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 35

Table 3-21: Gyroscope offset range settings
Offset for Sesnor
Gyroscope

Maximum Offset range in LSB+/- 2000

Table 3-22: Gyroscope unit settings
Unit

RepresentationDps

1 Dps = 16 LSB

Rps

1 Rps = 900 LSB

3.6.4.4 Radius
The radius of accelerometer and magnetometer can be configured in the following registers,
Table 3-23: Radius Default-Reg settings
Reg Name
ACC_RADIUS_LSB
ACC_RADIUS_MSB
MAG_RADIUS_LSB
MAG_RADIUS_MSB

Default Reg Value (Bit 0 – Bit 7)
0x00
0x00
0x00
0x00

There are 4 bytes (2 bytes for each accelerometer and magnetometer) to configure the radius.
Configuration will take place only when user writes to the last byte (i.e., ACC_RADIUS_MSB
and MAG_RADIUS_MSB). Therefore the last byte must be written whenever the user wants
to changes the configuration. The range of the radius for accelerometer is +/-2048 in LSB,
magnetometer is from 144 to 1280 in LSB and Gyroscope is NA.
Table 3-24: Radius range settings
Radius for sensor
Accelerometer
Magnetometer

Maximum Range in LSB+/- 2048
144 to 1280

3.6.5 Output data registers
3.6.5.1 Acceleration data
In non-fusion mode uncompensated acceleration data for each axis X/Y/Z, can be read fromthe appropriate ACC_DATA_<axis>_LSB and ACC_DATA_<axis>_MSB registers.
In fusion mode the fusion algorithm output offset compensated acceleration data for each axis
X/Y/Z, the output data can be read from the appropriate ACC_DATA_<axis>_LSB and
ACC_DATA_<axis>_MSB registers. Refer table below for information regarding the data types
for the acceleration data.
Table 3-25: Acceleration data
Parameter

Data type

bytes

Accel_Data_X

signed2

Accel_Data_Ysigned2

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 36

Parameter

Data type

bytes

Accel_Data_Z

signed2

3.6.5.2 Magnetic Field Strength
In non-fusion mode uncompensated field strength data for each axis X/Y/Z, can be read fromthe appropriate MAG_DATA_<axis>_LSB and MAG_DATA_<axis>_MSB registers.
In fusion mode the fusion algorithm output offset compensated magnetic field strength data foreach axis X/Y/Z, the output data can be read from the appropriate MAG_DATA_<axis>_LSB
and MAG_DATA_<axis>_MSB registers. Refer table below for information regarding the datatypes for the magnetic field strength.
Table 3-26: Magnetic field strength data
Parameter

Data type

bytes

Mag_Data_X

signed2

Mag_Data_Ysigned2

Mag_Data_Z

signed2

3.6.5.3 Angular Velocity
In non-fusion mode uncompensated angular velocity (yaw rate) data for each axis X/Y/Z, canbe read from the appropriate GYR_DATA_<axis>_LSB and GYR_DATA_<axis>_MSB
registers.
In fusion mode the fusion algorithm output offset compensated angular velocity (yaw rate) data
for each axis X/Y/Z, the output data can be read from the appropriate GYR_DATA_<axis>_LSB
and GYR_DATA_<axis>_MSB registers. Refer table below for information regarding the datatypes for the angular velocity.
Table 3-27: Yaw rate data
Parameter

Data type

bytes

Gyr_Data_X

signed2

Gyr_Data_Ysigned2

Gyr_Data_Z

signed2

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 37

3.6.5.4 Orientation (Euler angles)
Orientation output only available in fusion operation modes.
The fusion algorithm output offset and tilt compensated orientation data in Euler angles format
for each DOF Heading/Roll/Pitch, the output data can be read from the appropriate
EUL<dof>_LSB and EUL_<dof>_MSB registers. Refer table below for information regarding
the data types and the unit representation for the Euler angle format.
Table 3-28: Compensated orientation data in Euler angles format
Parameter

Data type

bytes

EUL_Heading

Signed2

EUL_Roll

Signed2

EUL_Pitch

Signed2

Table 3-29: Euler angle data representation
Unit

Representation

Degrees

1 degree = 16 LSB

Radians

1 radian = 900 LSB

3.6.5.5 Orientation (Quaternion)
Orientation output only available in fusion operating modes.
The fusion algorithm output offset and tilt compensated orientation data in quaternion format
for each DOF w/x/y/z, the output data can be read from the appropriate
QUA_DATA_<dof>_LSB and QUA_DATA_<dof>_MSB registers. Refer table below for
information regarding the data types and the unit representation for the Orientation output.
Table 3-30: Compensated orientation data in quaternion format
Parameter

Data type

bytes

QUA_Data_w

Signed2

QUA_Data_x

Signed2

QUA_Data_y

Signed2

QUA_Data_z

Signed2

Table 3-31: Quaternion data representation
Unit

Representation

Quaternion (unit less)

1 Quaternion (unit less) = 2^14 LSB

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 38

3.6.5.6 Linear Acceleration
Linear acceleration output only available in fusion operating modes.
The fusion algorithm output linear acceleration data for each axis x/y/z, the output data can beread from the appropriate LIA_DATA_<axis>_LSB and LIA_DATA_<axis>_MSB registers.
Refer to the table below for further information regarding the data types and the unit
representation for Linear acceleration.
Note: The linear acceleration signal typically cannot be integrated to recover velocity, or
double-integrated to recover position. The error typically becomes larger than the signal within
less than 1 second if other sensor sources are not used to compensate this integration error.
Table 3-32: Linear Acceleration Data
Parameter

Data type

bytes

LIA_Data_X

signed2

LIA_Data_Ysigned2

LIA_Data_Z

signed2

Table 3-33: Linear Acceleration data representation
Unit

Representation

2

1 m/s2 = 100 LSB

m/s

mg

1 mg = 1 LSB

3.6.5.7 Gravity Vector
Gravity Vector output only available in fusion operating modes.
The fusion algorithm output gravity vector data for each axis x/y/z, the output data can be readfrom the appropriate GRV_DATA_<axis>_LSB and GRV_DATA_<axis>_MSB registers. Refertable below for further information regarding the data types and the unit representation for theGravity vector.
Table 3-34: Gravity Vector Data
Parameter

Data type

bytes

GRV_Data_X

signed2

GRV_Data_Ysigned2

GRV_Data_Z

signed2

Table 3-35: Gravity Vector data representation
Unit

Representation

2

1 m/s2 = 100 LSB

m/s

mg

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

1 mg = 1 LSB

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 39

Temperature
The temperature output data can be read from the TEMP register. The table below describes
the output data type and data representation (depending on selected unit).
The temperature can be read from one of two sources, the temperature source can be selectedby writing to the TEMP_SOURCE register as detailed below.
Table 3-36: Temperature Data
Parameter

Data type

bytes

TEMP

signed1

Table 3-37: Temperature data representation
Unit

Representation°C

1°C = 1 LSBF

2 F = 1 LSB

Table 3-38: Temperature Source Selection
Source[Reg Addr]: Register Value

Accelerometer[TEMP_SOURCE]: xxxxxx00b

Gyroscope[TEMP_SOURCE]: xxxxxx01b

3.7 Data register shadowing
This section describes the two methods to read sensor data from the BNO055 register map.
In the first method also called multi byte read (or burst read) the data consistency is ensured
by data register shadowing and hence the LSB and MSB of each axis are all referring to thesame instance (refer section 4.6 I2C read access)
Whereas in the single byte reads, the MSB may get updated when the data in LSB is read andthereby resulting in data inconsistency.
So depending upon the application, the user may select the type of data read to ensure thatthe correct data is being read.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 40

3.8 Interrupts
3.8.1 Interrupt Pin
INT is configured as interrupt pin for signaling an interrupt to the host. The interrupt trigger isconfigured as raising edge and is latched on to the INT pin. Once an interrupt occurs, the INT
pin is set to high and will remain high until it is reset by host. This can be done by setting
RST_INT in SYS_TRIGGER register.
Interrupts can be enabled by setting the corresponding bit in the interrupt enable register(INT_EN) and disabled when it is cleared.
Interrupt Pin Masking
Interrupts can be routed to the INT pin by setting the corresponding interrupt bit in the
INT_MSK register.
Interrupt Status
Interrupt occurrences are stored in the interrupt status register (INT_STA). All bits in thisregister are cleared on read.
3.8.2 Interrupt Settings
3.8.2.1 Data Ready Interrupt (DRDY INT)
Note: Data ready interrupt is only available on software versions 03.14 and above
Data Ready Interrupt is a signal to host about the data availability in the register map, so thathost can read the sensor data immediately when the sensor data is available in the registermap.
The following data ready interrupts are available,
1. Accelerometer or fusion data ready interrupt (ACC_BSX_DRDY)
2. Magnetometer data ready interrupt (MAG_DRDY)
3. Gyroscope data ready interrupt (GYR_DRDY)
In Non-fusion mode:•

In Non-fusion mode the data ready interrupt is signaled based on individual sensor
data rate configured to the sensors.

•

The data ready interrupt “ACC_BSX_DRDY“ is set/triggered when the Accelerometerdata is available in the register map at the configured data rate of sensor in theoperation mode where Accelerometer is ON.

•

The data ready interrupt “MAG_DRDY“ is set/triggered when the Magnetometer data
is available in the register map at the configured data rate of sensor in the operation
mode where Magnetometer is ON.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet•

Page 41

The data ready interrupt “GYR_DRDY“ is set/triggered when the Gyroscope data isavailable in the register map at the configured data rate of sensor in the operation
mode where Gyroscope is ON.

In fusion mode:•

In fusion mode the data ready interrupt is signaled based on primary sensor data rate.

•

The data ready interrupt “ACC_BSX_DRDY“ is set/triggered when thecalibrated/fusion data available in the register map at the primary rate of the sensor.

Here, the data ready interrupt ”ACC_BSX_DRDY” is shared between non-fusion and fusionmode for Accelerometer and fusion data respectively.
Data Ready Interrupt Behavior:Once an interrupt occurs, the INT pin is set to high and will remain high until it is reset or readby host. The INT is set to low and high immediately when multiple interrupt occurs before hostreset or read.
Data Ready Interrupt behavior when host reads the interrupt status:

Data Ready Interrupt behavior when the interrupt status is not read:

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 423.8.2.2 Accelerometer Slow/No Motion Interrupt
The slow-motion/no-motion interrupt engine can be configured in two modes.
Slow-motion Interrupt is triggered when the measured slope of at least one enabled axis
exceeds the programmable slope threshold for a programmable number of samples. Hencethe engine behaves similar to the any-motion interrupt, but with a different set of parameters.
In order to suppress false triggers, the interrupt is only generated (cleared) if a certain number
N of consecutive slope data points is larger (smaller) than the slope threshold given by
slo_no_mot_dur<1:0>. The number is N = slo_no_mot_dur<1:0> + 1.
In no-motion mode an interrupt is generated if the slope on all selected axes remains smaller
than a programmable threshold for a programmable delay time. Figure 11 shows the timing
diagram for the no-motion interrupt. The scaling of the threshold value is identical to that of
the slow-motion interrupt. However, in no-motion mode register slo_no_mot_dur defines thedelay time before the no-motion interrupt is triggered.

Table 3-39 lists the delay times adjustable with register slo_no_mot_dur. The timer tick period
is 1 second. Hence using short delay times can result in considerable timing uncertainty.
If bit SM/NM is set to ‘1’ (‘0’), the no-motion/slow-motion interrupt engine is configured in the
no-motion (slow-motion) mode. Common to both modes, the engine monitors the slopes of
the axes that have been enabled with bits AM/NM_X_AXIS, AM/NM_Y_AXIS, and
AM/NM_Z_AXIS for the x-axis, y-axis and z-axis, respectively. The measured slope values arecontinuously compared against the threshold value defined in register ACC_NM_THRES. The
scaling is such that 1 LSB of ACC_NM_THRES corresponds to 3.91 mg in 2g-range (7.81 mg
in 4g-range, 15.6 mg in 8g-range and 31.3 mg in 16g-range). Therefore the maximum value is
996 mg in 2g-range (1.99g in 4g-range, 3.98g in 8g-range and 7.97g in 16g-range). The timedifference between the successive acceleration samples depends on the selected bandwidthand equates to 1/(2 * bw).

Table 3-39: No-motion time-out periods
slo_no_mot_dur
0
1
2
...
14
15

Delay
time
1s
2s
3s
...
15 s
16 s

slo_no_mot_dur
16
17
18
19
20
21

Delay
time
40 s
48 s
56 s
64 s.
72 s
80 s

slo_no_mot_dur
32
33
34
...
62
63

Delay
Time
88 s
96 s
104 s
...
328 s
336 s

Note: slo_no_mot_dur values 22 to 31 are not specified

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
acceleration

Page 43

acc(t0+Δt)
acc(t0)slope

axis x, y, or z

slope(t0+Δt)= acc(t0+Δt) - acc(t0)axis x, y, or z

slo_no_mot_th-slo_no_mot_th
slo_no_mot_dur

timer

INT
time

Table 3-40: Timing of No-motion interrupt
Params
Detection TypeInterrupt Parameters

Axis selection

Value[Reg Addr]: Register ValueNo Motion[ACC_NM_SET]: xxxxxxx1b

Slow Motion[ACC_NM_SET]: xxxxxxx0b

Threshold[ACC_NM_THRE]: bit7:bit0

Duration[ACC_NM_SET]: bit6:bit1

X-axis[ACC_INT_Settings]: xxxxx1xxb

Y-axis[ACC_INT_Settings]: xxxx1xxxb

Z-axis[ACC_INT_Settings]: xxx1xxxxb

3.8.2.3 Accelerometer Any Motion Interrupt
The any-motion interrupt uses the slope between successive acceleration signals to detectchanges in motion. An interrupt is generated when the slope (absolute value of accelerationdifference) exceeds a preset threshold. It is cleared as soon as the slope falls below thethreshold. The principle is made clear in Figure 2: Principle of any-motion detection.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 44

accelerationacc(t0)acc(t0−1/(2*bw))

timeslope(t0)=acc(t0)−acc(t0−1/(2*bw))
slope

slope_thtimeslope_dur

slope_dur

INT

time

Figure 2: Principle of any-motion detection
The threshold is defined through register ACC_AM_THRES. In terms of scaling 1 LSB of
ACC_AM_THRES corresponds to 3.91 mg in 2g-range (7.81 mg in 4g-range, 15.6 mg in 8grange and 31.3 mg in 16g-range). Therefore the maximum value is 996 mg in 2g-range (1.99g
in 4g-range, 3.98g in 8g-range and 7.97g in 16g-range).
The time difference between the successive acceleration signals depends on the selectedbandwidth and equates to 1/(2*bandwidth) ()t=1/(2*bw)). In order to suppress false triggers,
the interrupt is only generated (cleared) if a certain number N of consecutive slope data points
is larger (smaller) than the slope threshold given by ACC_AM_THRES. This number is set by
the AM_DUR bits. It is N = AM_DUR + 1.
Example: AM_DUR = 00b, …, 11b = 1decimal, …, 4decimal.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 45

Enabling (disabling) for each axis:
Any-motion detection can be enabled (disabled) for each axis separately by writing ´1´ (´0´) tobits AM/NM_X_AXIS, AM/NM_Y_AXIS, AM/NM_Z_AXIS. The criteria for any-motion detection
are fulfilled and the slope interrupt is generated if the slope of any of the enabled axes exceeds
the threshold ACC_AM_THRES for [AM_DUR +1] consecutive times. As soon as the slopesof all enabled axes fall or stay below this threshold for [AM_DUR +1] consecutive times theinterrupt is cleared unless interrupt signal is latched.
Table 3-41: Any-motion Interrupt parameters and Axis selection
ParamsInterrupt Parameters

Axis selection

Value[Reg Addr]: Register Value

Threshold[ACC_AM_THRES]: bit7:bit0

Duration[ACC_INT_Settings]: bit1:bit0

X-axis[ACC_INT_Settings]: xxxxx1xxb

Y-axis[ACC_INT_Settings]: xxxx1xxxb

Z-axis[ACC_INT_Settings]: xxx1xxxxb

3.8.2.4 Accelerometer High G Interrupt
This interrupt is based on the comparison of acceleration data against a high-g threshold forthe detection of shock or other high-acceleration events.
The high-g interrupt is enabled (disabled) per axis by writing ´1´ (´0´) to bits ACC_HIGH_G in
the INT_EN register and enabling the axis in with bits HG_X_AXIS, HG_Y_AXIS, and
HG_Z_AXIS, respectively in the ACC_INT_Settings register. The high-g threshold is set
through the ACC_HG_THRES register. The meaning of an LSB of ACC_HG_THRES depends
on the selected g-range: it corresponds to 7.81 mg in 2g-range, 15.63 mg in 4g-range, 31.25
mg in 8g-range, and 62.5 mg in 16g-range (i.e. increment depends from g-range setting).
The high-g interrupt is generated if the absolute value of the acceleration of at least one of theenabled axes (´or´ relation) is higher than the threshold for at least the time defined by the
ACC_HG_DURATION register. The interrupt is reset if the absolute value of the accelerationof all enabled axes (´and´ relation) is lower than the threshold for at least the time defined by
the ACC_HG_DURATION register. The interrupt status is stored in bit ACC_HIGH_G in the
INT_STA register. The relation between the content of ACC_HG_DURATION and the actual
delay of the interrupt generation is delay [ms] = [ACC_HG_DURATION + 1] * 2 ms. Therefore,possible delay times range from 2 ms to 512 ms.
Table 3-42: High-G Interrupt parameters and Axis selection
ParamsInterrupt Parameters

Axis selection

Value[Reg Addr]: Register Value

Threshold[ACC_HG_THRES]: bit7 : bit0

Duration[ACC_HG_DURATION]: bit7 : bit0

X-axis[ACC_INT_Settings]: xx1xxxxxb

Y-axis[ACC_INT_Settings]: x1xxxxxxb

Z-axis[ACC_INT_Settings]: 1xxxxxxxb

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 46

3.8.2.5 Gyroscope High Rate Interrupt
This interrupt is based on the comparison of angular rate data against a high-rate threshold forthe detection of shock or other high-angular rate events. The principle is made clear in Figure
3 below:

Figure 3: High rate interrupt
The high-rate interrupt is enabled (disabled) per axis by writing ´1´ (´0´) to bits
GYRO_HIGH_RATE in the INT_EN register and for each axis by writing to the HR_X_AXIS,
HR_Y_AXIS, and HR_Z_AXIS, respectively in the GYR_INT_SETTING register. The high-rate
threshold is set through the HR_<axis>_Threshold bits in the appropriate
GYR_HR_<axis>_SET register. The meaning of an LSB of HR_<axis>_Threshold depends on
the selected °/s-range: it corresponds to 62.5°/s in 2000°/s-range, 31.25°/s in 1000°/s-range,
15.625°/s in 500°/s -range …). The HR_<axis>_Threshold register setting 0 corresponds to62.26°/s in 2000°/s-range, 31.13°/s in 1000°/s-range, 15.56°/s in 500°/s-range …. Therefore
the maximum value is 1999.76°/s in 2000°/s-range (999.87°/s 1000°/s-range, 499.93°/s in
500°/s -range …).
A hysteresis can be selected by setting the HR_<axis>_THRES_HYST bits. Analogously tothreshold, the meaning of an LSB of HR_<axis>_THRES_HYST bits is °/s-range dependent:
The HR_<axis>_THRES_HYST register setting 0 corresponds to an angular rate difference of
62.26°/s in 2000°/s-range, 31.13°/s in 1000°/s-range, 15.56°/s in 500°/s-range …. The
meaning of an LSB of HR_<axis>_THRES_HYST depends on the selected °/s-range too: itcorresponds to 62.5°/s in 2000°/s-range, 31.25°/s in 1000°/s-range, 15.625°/s in 500°/s -range…).
The high-rate interrupt is generated if the absolute value of the angular rate of at least one of
the enabled axes (´or´ relation) is higher than the threshold for at least the time defined by the
GYR_DUR_<axis> register. The interrupt is reset if the absolute value of the angular rate of
all enabled axes (´and´ relation) is lower than the threshold minus the hysteresis. In bit
GYR_HIGH_RATE in the INT_STA the interrupt status is stored. The relation between thecontent of GYR_DUR_<axis> and the actual delay of the interrupt generation is delay [ms] = [GYR_DUR_<axis> + 1] * 2.5 ms. Therefore, possible delay times range from 2.5 ms to 640
ms.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 47

Table 3-43: High Rate Interrupt parameters and Axis selection
ParamsAxis selection
High Rate Filter
settings
Interrupt Settings Xaxis

Interrupt Settings Yaxis

Interrupt Settings Xaxis

Value[Reg Addr]: Register Value

X-axis[GYR_INT_SETTING]: xxxx1xxxb

Y-axis[GYR_INT_SETTING]: xxx1xxxxb

Z-axis[GYR_INT_SETTING]: xx1xxxxxb

Filtered[GYR_INT_SETTING]: 0xxxxxxxb

Unfiltered[GYR_INT_SETTING]: 1xxxxxxxb

Threshold[GYR_HR_X_SET]: bit4 : bit0

Duration[GYR_DUR_X]: bit7 : bit0

Hysteresis[GYR_HR_X_SET]: bit6 : bit5

Threshold[GYR_HR_Y_SET]: bit4 : bit0

Duration[GYR_DUR_Y]: bit7 : bit0

Hysteresis[GYR_HR_Y_SET]: bit6 : bit5

Threshold[GYR_HR_Z_SET]: bit4 : bit0

Duration[GYR_DUR_Z]: bit7 : bit0

Hysteresis[GYR_HR_Z_SET]: bit6 : bit5

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 48

3.8.2.6 Gyroscope Any Motion Interrupt
Any-motion (slope) detection uses the slope between successive angular rate signals to detectchanges in motion. An interrupt is generated when the slope (absolute value of angular rate
difference) exceeds a preset threshold. It is cleared as soon as the slope falls below thethreshold. The principle is made clear in Figure 4.

angular rate
rate(t0)rate(t0−1/(4*fs))timeslope(t0)=gyro(t0)−gyro(t0−1/(2*bw))
slope
slope_thtimeslope_dur

slope_dur

INT

time

Figure 4: Principle of any-motion detection
The threshold is defined through register GYR_AM_THRES. In terms of scaling 1 LSB of
GYR_AM_THRES corresponds to 1 °/s in 2000°/s-range (0.5°/s in 1000°/s-range, 0.25°/s in
500°/s -range …). Therefore the maximum value is 125°/s in 2000°/s-range (62.5°/s 1000°/srange, 31.25 in 500°/s -range …).
The time difference between the successive angular rate signals depends on the selected
update rate(fs) which is coupled to the bandwidth and equates to 1/(4*fs) (t=1/(4*fs)). For
bandwidth settings with an update rate higher than 400Hz (bandwidth =0,1,2) fs is set to400Hz.
In order to suppress false triggers, the interrupt is only generated (cleared) if a certain number
N of consecutive slope data points is larger (smaller) than the slope threshold given by
GYR_AM_THRES. This number is set by the Slope Samples bits in the GYR_AM_SET
register. It is N = [Slope Samples + 1]*4. N is set in samples. Thus the time is scaling with theupdate rate (fs).
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 49

3.8.2.7 Enabling (disabling) for each axis
Any-motion detection can be enabled (disabled) for each axis separately by writing ´1´ (´0´) tobits AM_X_AXIS, AM_Y_AXIS, AM_Z_AXIS in the GYR_INT_SETTING register. The criteria
for any-motion detection are fulfilled and the Any-Motion interrupt is generated if the slope of
any of the enabled axes exceeds the threshold GYR_AM_THRES for [Slope Samples+1]*4
consecutive times. As soon as the slopes of all enabled axes fall or stay below this thresholdfor [Slope Samples +1]*4 consecutive times the interrupt is cleared unless interrupt signal islatched.
3.8.2.8 Axis of slope / any motion interrupt
The interrupt status is stored in bit GYRO_AM in the INT_EN register. The Any-motion interrupt
supplies additional information about the detected slope.
Table 3-44: Axis selection and any motion interrupt
ParamsAxis selection
Any Motion Filter
settings
Interrupt Settings

Value[Reg Addr]: Register Value

X-axis[GYR_INT_SETING]: xxxxxxx1b

Y-axis[GYR_INT_SETING]: xxxxxx1xb

Z-axis[GYR_INT_SETING]: xxxxx1xxb

Filtered[GYR_INT_SETING]: x0xxxxxxb

Unfiltered[GYR_INT_SETING]: x1xxxxxxb

Threshold[GYR_AM_THRES]: bit6 : bit0

Slope Samples[GYR_AM_SET]: bit1 : bit0

Awake Duration[GYR_AM_SET]: bit3 : bit2

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 50

3.9 Self-Test
3.9.1 Power On Self Test (POST)
During the device startup, a power on self test is executed. This feature checks that theconnected sensors and microcontroller are responding / functioning correctly. Following tests
are executed
Table 3-45: Power on Self Test
Components

Test type

Accelerometer

Verify chip ID

Magnetometer

Verify chip ID

Gyroscope

Verify chip ID

Microcontroller

Memory Build In Self Test

The results of the POST are stored at register ST_RESULT, where a bit set indicates test
passed and cleared indicates self test failed.
3.9.2 Built-In Self-Test (BIST)
The host can trigger a self-test from CONFIG MODE. The test can be triggered by setting bit
SELF_TEST in the in the SYS_TRIGGER register, the results are stored in the ST_RESULT
register. During the execution of the system test, all other features are paused.
It is recommended to only trigger the self-test config mode.
During the self-test:• When triggering the BIST, the SYS_STATUS changes to “executing selftest”, but the
SYS_STATUS will be updated only in case of failure, not in case of success.
• To know if the BIST succeeded/failed you should:
o Trigger BISTo Wait for 400ms
o Read SYS_ERROR register (0x3A):▪ SYS_ERROR will remain at 0 in case of success (0 = No error)▪ SYS_ERROR will show 3 in case of self-test failure (3 = Self-test result
failed)o In case of failed BIST (SYS_ERROR != 0 above), you can see which sensor
failed by reading the ST_RESULT (0x36) register (bit of the corresponding
sensor is ‘1’ if self-test was successful, but will show ‘0’ if the self-test failed).
Table 3-46: Built-in self-test
Components

Test type

Accelerometerbuilt in self-test

Magnetometerbuilt in self-test

Gyroscope

built in self-test

Microcontroller

No testperformed

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 51

3.10 Boot loader
The boot loader is located at the start of the program memory and it is executed at each reset/ power-on sequence. It first checks the status of the nBOOT_LOAD_PIN.
If the nBOOT_LOAD_PIN is pulled low during reset / power-on sequence, it continues
execution in boot loader mode. Otherwise the device continues to boot in application mode.
In case there is a firmware update, then an application note would be available in time with thenecessary information to upgrade at the host side. Nevertheless it is recommended that thenBOOT_LOAD_PIN is connected as shown in section 5.

3.11 Calibration
Though the sensor fusion software runs the calibration algorithm of all the three sensors(accelerometer, gyroscope and magnetometer) in the background to remove the offsets, somepreliminary steps had to be ensured for this automatic calibration5 to take place.
The accelerometer and the gyroscope are relatively less susceptible to external disturbances,
as a result of which the offset is negligible. Whereas the magnetometer is susceptible toexternal magnetic field and therefore to ensure proper heading accuracy, the calibration steps
described below have to be taken.
Depending on the sensors been selected in the fusion mode, the following simple steps had
to be taken after every ‘Power on Reset’ for proper calibration of the device.
3.11.1 Accelerometer Calibration• Place the device in 6 different stable positions for a period of few seconds to allow theaccelerometer to calibrate.
• Make sure that there is slow movement between 2 stable positions• The 6 stable positions could be in any direction, but make sure that the device is lying atleast once perpendicular to the x, y and z axis.
• The register CALIB_STAT can be read to see the calibration status of the accelerometer.
3.11.2 Gyroscope Calibration• Place the device in a single stable position for a period of few seconds to allow thegyroscope to calibrate• The register CALIB_STAT can be read to see the calibration status of the gyroscope.
3.11.3 Magnetometer Calibration
Magnetometer in general are susceptible to both hard-iron and soft-iron distortions, but
majority of the cases are rather due to the former. And the steps mentioned below are to
calibrate the magnetometer for hard-iron distortions.
Nevertheless certain precautions need to be taken into account during the positioning of thesensor in the PCB which is described in our HSMI (Handling, Soldering and Mounting
Instructions) application note to avoid unnecessary magnetic influences.

5

It is not possible to disable the automatic calibration which runs in the background

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 52

Compass, M4G & NDOF_FMC_OFF:• Make some random movements (for example: writing the number ‘8’ on air) until the
CALIB_STAT register indicates fully calibrated.
• It takes more calibration movements to get the magnetometer calibrated than in the NDOF
mode.
NDOF:
• The same random movements have to be made to calibrate the sensor as in the FMC_OFF
mode, but here it takes relatively less calibration movements (and slightly higher current
consumption) to get the magnetometer calibrated.
• The register CALIB_STAT can be read to see the calibration status of the magnetometer.
3.11.4 Soft-Iron Calibration (SIC)
The BNO055 supports SIC via a 3x3 calibration matrix. At startup, the identity matrix is used
as coefficients to the magnetometer signal. An SIC compensation matrix can efficiently
compensate for distortions due to soft magnetic material in close vicinity of the sensor. The
magnetometer data is first multiplied by this SIC matrix, before being used in the sensor fusion
algorithm.
Table 3-47: Soft-Iron Calibration matrix definition
Msb0Lsb0 Msb1Lsb1 Msb2Lsb2[Msb3Lsb3 Msb4Lsb4 Msb5Lsb5]
Msb6Lsb6 Msb7Lsb7 Msb8Lsb8Each value of the matrix is represented by a 16-bit signed integer, and can represents a value
in the range of -2.0000 to 1.9999 by using the conversion factor (1/214).
Table 3-48: Soft-Iron Calibration matrix scaling factor
User Value-32768…
-16384
…
0
…
16384
…
32767

Conversion Factor
1/214
1/214
1/214
1/214
1/214

Actual Value-2.0000…
-1.0000…
0.0000…
1.0000…
1.99993.11.4.1 SIC matrix generation
The preferred method for generating the soft-iron calibration matrix is to use Helmholtz coils,
although a less precise field calibration using the earth’s magnetic field is also possible. The
generation of the SIC matrix is the sole responsibility of the customer.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 53

3.11.5 Reuse of Calibration Profile
Once the device is calibrated, the calibration profile can be reused to get the correct orientation
data immediately after ‘Power of Reset’ (prior to going through the steps mentioned in theabove section). However, once the sensor enters the internal calibration routine, the calibration
profile is overwritten with the newly obtained sensor offsets and sensor radius. Depending on
the application, necessary steps had to be ensured for proper calibration of the sensor.
Reading Calibration profile
The calibration profile includes sensor offsets and sensor radius. Host system can read theoffsets and radius only after a full calibration is achieved and the operation mode is switchedto CONFIG_MODE. Refer to sensor offsets and sensor radius registers.
Setting Calibration profile
It is important that the correct offsets and corresponding sensor radius are used. Incorrect
offsets may result in unreliable orientation data even at calibration accuracy level 3. To set thecalibration profile the following steps need to be taken
1. Select the operation mode to CONFIG_MODE
2. Write the corresponding sensor offsets and radius data
3. Change operation mode to fusion mode

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 54

4. Register description
4.1 General Remarks
The entire communication with the device is performed by reading from and writing to registers.
Registers have a width of 8 bits. There are several registers which are either completely or
partially marked as ‘reserved’. Any reserved bit is ignored when it is written and no specificvalue is guaranteed when read. It is recommended not to use registers at all which arecompletely marked as ‘reserved’. Furthermore it is recommended to mask out (logical and withzero) reserved bits of registers which are partially marked as reserved.
Read-Only Registers are marked as shown in Table 4-1: Register Access Coding. Any attempt
to write to these registers is ignored.
There are bits within some registers that trigger internal sequences. These bits are configured
for write-only access and read as value ´0´.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 55

4.2 Register map
The register map is separated into two logical pages, Page 1 contains sensor specificconfiguration data and Page 0 contains all other configuration parameters and output data.
At power-on Page 0 is selected, the PAGE_ID register can be used to identify the current
selected page and change between page 0 and page 1.
4.2.1 Register map Page 0
Table 4-1: Register Access Coding
read/write

read only

write only

reserved

Table 4-2: Register Map Page 0
Register
Address
7F-6B
6A
69
68
67
66
65
64
63
62
61
60
5F
5E
5D
5C
5B
5A
59
58
57
56
55

Register Name
Reserved
MAG_RADIUS_MSB
MAG_RADIUS_LSB
ACC_RADIUS_MSB
ACC_RADIUS_LSB
GYR_OFFSET_Z_MSB
GYR_OFFSET_
Z_LSB
GYR_OFFSET_Y_MSB
GYR_OFFSET_Y_LSB
GYR_OFFSET_
X_MSB
GYR_OFFSET_
X_LSB
MAG_OFFSET_Z_MSB
MAG_OFFSET_Z_LSB
MAG_OFFSET_Y_MSB
MAG_OFFSET_Y_LSB
MAG_OFFSET_X_MSB
MAG_OFFSET_X_LSB
ACC_OFFSET_
Z_MSB
ACC_OFFSET_
Z_LSB
ACC_OFFSET_
Y_MSB
ACC_OFFSET_
Y_LSB
ACC_OFFSET_
X_MSB
ACC_OFFSET_
X_LSB

Default
Value
N/A

bit7

bit6

bit5

bit4

bit3

bit2

0x01

Magnetometer Radius

0xE0

Magnetometer Radius

0x00

Accelerometer Radius

0x00

Accelerometer Radius

0x00

Gyroscope Offset Z <15:8>

0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

bit1

bit0

Gyroscope Offset Z <7:0>
Gyroscope Offset Y <15:8>
Gyroscope Offset Y <7:0>
Gyroscope Offset X <15:8>
Gyroscope Offset X <7:0>
Magnetometer Offset Z <15:8>
Magnetometer Offset Z <7:0>
Magnetometer Offset Y <15:8>
Magnetometer Offset Y <7:0>
Magnetometer Offset X <15:8>
Magnetometer Offset X <7:0>
Accelerometer Offset Z <15:8>
Accelerometer Offset Z <7:0>
Accelerometer Offset Y <15:8>
Accelerometer Offset Y <7:0>
Accelerometer Offset X <15:8>
Accelerometer Offset X <7:0>

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Register
Address
54
53
52
51
50
4F
4E
4D
4C
4B
4A
49
48
47
46
45
44
43
42
41
40

SIC_MATRIX_
MSB8
SIC_MATRIX_L
SB8
SIC_MATRIX_
MSB7
SIC_MATRIX_L
SB7
SIC_MATRIX_
MSB6
SIC_MATRIX_L
SB6
SIC_MATRIX_
MSB5
SIC_MATRIX_L
SB5
SIC_MATRIX_
MSB4
SIC_MATRIX_L
SB4
SIC_MATRIX_
MSB3
SIC_MATRIX_L
SB3
SIC_MATRIX_
MSB2
SIC_MATRIX_L
SB2
SIC_MATRIX_
MSB1
SIC_MATRIX_L
SB1
SIC_MATRIX_
MSB0
SIC_MATRIX_L
SB0
AXIS_MAP_SI
GN
AXIS_MAP_CO
NFIG
TEMP_SOURC
E

Default
Value

bit7

bit6

bit5

bit4

bit3

bit2

0x40

SIC_MATRIX_MSB8

0x00

SIC_MATRIX_LSB8

0x00

SIC_MATRIX_MSB7

0x00

SIC_MATRIX_LSB7

0x00

SIC_MATRIX_MSB6

0x00

SIC_MATRIX_LSB6

0x00

SIC_MATRIX_MSB5

0x00

SIC_MATRIX_LSB5

0x40

SIC_MATRIX_MSB4

0x00

SIC_MATRIX_LSB4

0x00

SIC_MATRIX_MSB3

0x00

SIC_MATRIX_LSB3

0x00

SIC_MATRIX_MSB2

0x00

SIC_MATRIX_LSB2

0x00

SIC_MATRIX_MSB1

0x00

SIC_MATRIX_LSB1

0x40

SIC_MATRIX_MSB0

0x00

SIC_MATRIX_LSB0

0x00
Remapped Z axis
value

0x24
0x00

bit0

TEMP_Source <1:0>
CLK_S
EL

RST_INT

RST_SYS

SYS_TRIGGER

0x00

3E

PWR_MODE

0x00

3D

OPR_MODE

0x10

3C

Reserved

3B

UNIT_SEL

0x80

3A

SYS_ERR

0x00

System Error Code39

SYS_STATUS
SYS_CLK_STA
TUS

0x00

System Status Code37

INT_STA

0x00

36

ST_RESULT

0x0F

35

CALIB_STAT

0x00

34

TEMP
GRV_Data_Z_
MSB

0x00

33

bit1

Remappe Remappe Remapped X axisd Y axisd Z axis
sign
sign
sign
Remapped Y axis
Remapped X axis
value
value

3F

38

6

Register Name

Page 56

Self_Test
Power Mode <1:0>
Operation Mode <3:0>

ORI_Android_W
indows

TEMP_Unit

EUL_Unit GYR_Unit ACC_Unit

0x00
ACC_N
M

ACC_A ACC_HI GYR_DR GYR_HIG GYRO_A
M
GH_G
DY6
H_RATEM
ST_MCU ST_GYR
SYS Calib Status
GYR Calib Status
ACC Calib Status 0:3
0:3
0:3
Temperature

0x00

ST_MAI
N_CLK
MAG_DR ACC_BS
DY6
X_DRDY6
ST_MAG ST_ACC
MAG Calib Status 0:3

Gravity Vector Data Z <15:8>

This field is only available with software versions 03.14 and above

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Register
Address

Register Name

Default
Value

bit7

bit6

bit5

Page 57

bit4

bit3

bit2

1E

GRV_Data_Z_L
SB
GRV_Data_Y_
MSB
GRV_Data_Y_L
SB
GRV_Data_X_
MSB
GRV_Data_X_L
SB
LIA_Data_Z_M
BS
LIA_Data_Z_LS
B
LIA_Data_Y_M
BS
LIA_Data_Y_LS
B
LIA_Data_X_M
BS
LIA_Data_X_LS
B
QUA_Data_z_
MSB
QUA_Data_z_L
SB
QUA_Data_y_
MSB
QUA_Data_y_L
SB
QUA_Data_x_
MSB
QUA_Data_x_L
SB
QUA_Data_w_
MSB
QUA_Data_w_L
SB
EUL_Pitch_MS
B
EUL_Pitch_LSB

1D

EUL_Roll_MSB

0x00

Roll Data <15:8>

1C

EUL_Roll_LSB
EUL_Heading_MSB
EUL_Heading_LSB
GYR_DATA_Z_
MSB
GYR_DATA_Z_
LSB
GYR_DATA_Y_MSB
GYR_DATA_Y_
LSB
GYR_DATA_X_
MSB
GYR_DATA_X_
LSB
MAG_DATA_Z_
MSB
MAG_DATA_Z_
LSB
MAG_DATA_Y_MSB
MAG_DATA_Y
_LSB

0x00

Roll Data <7:0>

0x00

Heading Data <15:8>

0x00

Heading Data <7:0>

0x00

Gyroscope Data Z <15:8>

0x00

Gyroscope Data Z <7:0>

0x00

Gyroscope Data Y <15:8>

0x00

Gyroscope Data Y <7:0>

0x00

Gyroscope Data X <15:8>

0x00

Gyroscope Data X <7:0>

0x00

Magnetometer Data Z <15:8>

0x00

Magnetometer Data Z <7:0>

0x00

Magnetometer Data Y <15:8>

0x00

Magnetometer Data Y <7:0>

32
31
30
2F
2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F

1B
1A
19
18
17
16
15
14
13
12
11
10

0x00

Gravity Vector Data Z <7:0>

0x00

Gravity Vector Data Y <15:8>

0x00

Gravity Vector Data Y <7:0>

0x00

Gravity Vector Data X <15:8>

0x00

Gravity Vector Data X <7:0>

0x00

Linear Acceleration Data Z <15:8>

0x00

Linear Acceleration Data Z <7:0>

0x00

Linear Acceleration Data Y <15:8>

0x00

Linear Acceleration Data Y <7:0>

0x00

Linear Acceleration Data X <15:8>

0x00

Linear Acceleration Data X <7:0>

0x00

Quaternion z Data <15:8>

0x00

Quaternion z Data <7:0>

0x00

Quaternion y Data <15:8>

0x00

Quaternion y Data <7:0>

0x00

Quaternion x Data <15:8>

0x00

Quaternion x Data <7:0>

0x00

Quaternion w Data <15:8>

0x00

Quaternion w Data <7:0>

0x00

Pitch Data <15:8>

0x00

Pitch Data <7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

bit1

bit0

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Register
Address
F
E
D
C
B
A
9
8
7
6

Register Name
MAG_DATA_X_MSB
MAG_DATA_X_LSB
ACC_DATA_Z_
MSB
ACC_DATA_Z_
LSB
ACC_DATA_Y_
MSB
ACC_DATA_Y_
LSB
ACC_DATA_X_
MSB
ACC_DATA_X_
LSBPage ID

Default
Value

bit7

bit6

bit5

Page 58

bit4

bit3

0x00

Magnetometer Data X <15:8>

0x00

Magnetometer Data X <7:0>

0x00

Acceleration Data Z <15:8>

0x00

Acceleration Data Z <7:0>

0x00

Acceleration Data Y <15:8>

0x00

Acceleration Data Y <7:0>

0x00

Acceleration Data X <15:8>

0x00

Acceleration Data X <7:0>

0x00

Page ID

0x15

Bootloader Version

0x037

SW Revision ID <15:8>

0x118

SW Revision ID <7:0>

3

BL_Rev_ID
SW_REV_ID_M
SB
SW_REV_ID_L
SB
GYR_ID

0x0F

GYRO chip ID

2

MAG_ID

0x32

MAG chip ID

1

ACC_ID

0xFB

ACC chip ID

0

CHIP_ID

0xA0

BNO055 CHIP ID

5
4

bit2

bit1

bit0

4.2.2 Register map Page 1
Table4-3: Register Map Page 1
Register
Address
7F-60

Register NameUNIQUE_ID

4F - 20

Reserved

1F

GYR_AM_SET

1D
1C
1B
1A
19
18
17
16
15
14

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Reserved

5F - 50

1E

Default
Value

GYR_AM_THR
ES
GYR_DUR_Z
GYR_HR_Z_S
ET
GYR_DUR_Y
GYR_HR_Y_SET
GYR_DUR_X
GYR_HR_X_S
ET
GYR_INT_SET
ING
ACC_NM_SET
ACC_NM_THR
E
ACC_HG_THR
ES

N/A

BNO unique ID

0x0A

Awake Duration
<1:0>

0x04

Gyro Any Motion Threshold <6:0>

0x19

HR_Z_Duration
HR_Z_THRES_
HYST <1:0>

0x01
0x19

0x01
0x00
0x0B

HR_Z_Threshold <4:0>
HR_Y_Duration

HR_Y_THRES_
HYST <1:0>

0x01
0x19

Slope Samples <1:0>

HR_Y_Threshold <4:0>

HR_X_Duration
HR_X_THRES_
HR_X_Threshold <4:0>
HYST <1:0>
HR_FIL AM_FIL HR_Z_ HR_Y_A HR_X_A AM_Z_A AM_Y_A
T
T
AXIS
XIS
XIS
XIS
XIS
NO/SLOW Motion Duration <5:0>

0x0A

Accelerometer NO/SLOW motion threshold

0xC0

Accelerometer High G Threshold

AM_X_AXIS
SMNM

7The current pre-programmed software version is 3.11 and therefore the SW_REV_ID_MSB is 0x03. However theregister default value is subject to change with respect to the updated software.
8
The current pre-programmed software version is 3.11 and therefore the SW_REV_ID_LSB is 0x11. However theregister default value is subject to change with respect to the updated software.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
Register
Address
13
12
11

Register Name
ACC_HG_DUR
ATION
ACC_INT_Setti
ngs
ACC_AM_THR
ESDefault
Value

0x03

bit5

bit4

0x00

F

INT_MSK

0x00

E

0x00

B

Reserved
GYR_Sleep_C
onfig
ACC_Sleep_C
onfig
GYR_Config_1

A

GYR_Config_0

0x38

9

MAG_Config

0x0B

8

ACC_Config

0x0D

7

Page ID

0x00

6-0

Reserved

bit3

bit2

bit1

bit0

Accelerometer High G Duration
HG_Z_ HG_Y_ HG_X_
AXIS
AXIS
AXIS

0x14

INT_EN

C

bit6

0x0F

10

D

bit7

Page 59

AM/NM_
Z_AXIS

AM/NM_Y_AXIS

AM/NM_
X_AXISAM_DUR <1:0>

Accelerometer Any motion threshold
GYR_HI
ACC_N ACC_A ACC_H GYR_DR
GYRO_A MAG_DR
GH_RAT
M
M
IGH_G
DY6
M
DY6
E
GYR_HI
ACC_N ACC_A ACC_H GYR_DR
GYRO_A MAG_DR
GH_RAT
M
M
IGH_G
DY6
M
DY6
E
AUTO_SLP_DURATION
<2:0>

0x00
0x00

ACC_BSX_D
RDY6

SLP_DURATION <2:0>

SLP_DURATION <3:0>

0x00

ACC_BSX_D
RDY6

SLP_MODEGYR_Power_Mode <2:0>
GYR_Bandwidth <2:0>
MAG_Power_mo MAG_OPR_Modede <1:0><1:0>
ACC_PWR_Mode <2:0>
ACC_BW <2:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

GYR_Range <2:0>
MAG_Data_output_rate <2:0>
ACC_Range <1:0>

Page ID

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 60

4.3 Register description (Page 0)
4.3.1 CHIP_ID 0x00
AccessReset
Content

bit7
r
1

DATA
BNO055 CHIP ID

bit6
r
0

bit5
r
1

bits
<7:0>

bit4
bit3
r
r
0
0
BNO055 CHIP ID

bit2
r
0

bit1
r
0

bit0
r
0

Description
Chip identification code, read-only fixed value 0xA0

4.3.2 ACC_ID 0x01
Access
Reset

bit7
r

bit6
r

bit5
r

bit4
r

bit3
r

bit2
r

bit1
R

bit0
r

0xFB

Content

ACC chip ID

DATA
ACC chip ID

bits
<7:0>

Description
Chip ID of the Accelerometer device, read-only fixed value 0xFB

4.3.3 MAG_ID 0x02
Access
Reset

bit7
r

bit6
r

bit5
r

bit4
r

bit3
r

bit2
r

bit1
R

bit0
r

0x32

Content

MAG chip ID

DATA
MAG chip ID

bits
<7:0>

Description
Chip ID of the Magnetometer device, read-only fixed value 0x32

4.3.4 GYR_ID 0x03
Access
Reset

bit7
r

bit6
r

bit4
r

bit3
r

bit2
r

bit1
R

bit0
r

0x0F

Content
DATA
GYRO chip ID

bit5r

GRYO chip ID
bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
Chip ID of the Gyroscope device, read-only fixed value 0x0F

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 61

4.3.5 SW_REV_ID_LSB 0x04
Access
Reset

bit7
r

bit6
r

bit5
r

bit4
r

bit3
r

bit2
r

bit1
r

bit0
r

0x11

Content

SW Revision ID <7:0>

DATA
SW Revision ID
<7:0>

bits
<7:0>

Description
Lower byte of SW Revision ID, read-only fixed value depending on SW revision programmedon microcontroller

4.3.6 SW_REV_ID_MSB 0x05
Access
Reset

bit7
r

bit6
r

bit5
r

bit4
r

bit3
r

bit2
r

bit1
r

bit0
r

0x03

Content

SW Revision ID <15:8>

DATA
SW Revision ID<15:8>

bits<7:0>

Description
Upper byte of SW Revision ID, read-only fixed value depending on SW revision programmedon microcontroller

4.3.7 BL_REV_ID 0x06
Access
Reset

bit7
r

bit6
r

bit5
r

bit4
r

bit3
r

bit2
r

bit1
r

bit0
r

0x15

Content

Bootloader Version

DATA
Bootloader
Version

bits
<7:0>

Description
Identifies the version of the bootloader in the microcontroller, read-only

4.3.8 PAGE ID 0x07

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

DATA
Page ID

Page ID

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
Read: Number of currently selected page
Write: Change page, 0x00 or 0x01

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 624.3.9 ACC_DATA_X_LSB 0x08
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Acceleration Data X <7:0>

DATA
Acceleration Data
X <7:0>

bits
<7:0>

Description
Lower byte of X axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.10 ACC_DATA_X_MSB 0x09
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Acceleration Data X <15:8>

DATA
Acceleration Data
X <15:8>

bits
<7:0>

Description
Upper byte of X axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.11 ACC_DATA_Y_LSB 0x0A
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Acceleration Data Y <7:0>

DATA
Acceleration Data
Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.12 ACC_DATA_Y_MSB 0x0B
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Acceleration Data
Y <15:8>

Acceleration Data Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 634.3.13 ACC_DATA_Z_LSB 0x0C
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Acceleration Data Z <7:0>

DATA
Acceleration Data
Z <7:0>

bits
<7:0>

Description
Lower byte of Z axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.14 ACC_DATA_Z_MSB 0x0D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Acceleration Data Z <15:8>

DATA
Acceleration Data
Z <15:8>

bits
<7:0>

Description
Upper byte of Z axis Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.15 MAG_DATA_X_LSB 0x0E

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Magnetometer Data X <7:0>

DATA
Magnetometer
Data X <7:0>

bits
<7:0>

Description
Lower byte of X axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.16 MAG_DATA_X_MSB 0x0F

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
Magnetometer
Data X <15:8>

Magnetometer Data X <15:8>

bits
<7:0>

Description
Upper byte of X axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 644.3.17 MAG_DATA_Y_LSB 0x10

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Magnetometer Data Y <7:0>

DATA
Magnetometer
Data Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.18 MAG_DATA_Y_MSB 0x11

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Magnetometer Data Y <15:8>

DATA
Magnetometer
Data Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.19 MAG_DATA_Z_LSB 0x12

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Magnetometer Data Z <7:0>

DATA
Magnetometer
Data Z <7:0>

bits
<7:0>

Description
Lower byte of Z axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.20 MAG_DATA_Z_MSB 0x13

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
Magnetometer
Data Z <15:8>

Magnetometer Data Z <15:8>

bits
<7:0>

Description
Upper byte of Z axis Magnetometer data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 65

4.3.21 GYR_DATA_X_LSB 0x14
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Gyroscope Data X <7:0>

DATA
Gyroscope Data
X <7:0>

bits
<7:0>

Description
Lower byte of X axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.22 GYR_DATA_X_MSB 0x15
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Gyroscope Data X <15:8>

DATA
Gyroscope Data
X <15:8>

bits
<7:0>

Description
Upper byte of X axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.23 GYR_DATA_Y_LSB 0x16
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Gyroscope Data Y <7:0>

DATA
Gyroscope Data
Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.24 GYR_DATA_Y_MSB 0x17
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Gyroscope Data
Y <15:8>

Gyroscope Data Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 66

4.3.25 GYR_DATA_Z_LSB 0x18
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Gyroscope Data Z <7:0>

DATA
Gyroscope Data Z
<7:0>

bits
<7:0>

Description
Lower byte of Z axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.26 GYR_DATA_Z_MSB 0x19
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Gyroscope Data Z <15:8>

DATA
Gyroscope Data Z<15:8>

bits<7:0>

Description
Upper byte of Z axis Gyroscope data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.27 EUL_DATA_X_LSB 0x1A

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Heading Data <7:0>

DATA
Heading Data
<7:0>

bits
<7:0>

Description
Lower byte of heading data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.28 EUL_DATA_X_MSB 0x1B

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
Heading Data
<15:8>

Heading Data <15:8>

bits
<7:0>

Description
Upper byte of heading data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 67

4.3.29 EUL_DATA_Y_LSB 0x1C
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Roll Data <7:0>

DATA
Roll Data <7:0>

bits
<7:0>

Description
Lower byte of roll data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.30 EUL_DATA_Y_MSB 0x1D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Roll Data <15:8>

DATA
Roll Data <15:8>

bits
<7:0>

Description
Upper byte of Y axis roll data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.31 EUL_DATA_Z_LSB 0x1E
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Pitch Data <7:0>

DATA
Pitch Data <7:0>

bits
<7:0>

Description
Lower byte of pitch data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.32 EUL_DATA_Z_MSB 0x1F
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Pitch Data <15:8>

Pitch Data <15:8>

bits
<7:0>

Description
Upper byte of pitch data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 68

4.3.33 QUA_DATA_W_LSB 0x20
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data W <7:0>

DATA
Quaternion Data
W <7:0>

bits
<7:0>

Description
Lower byte of w axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.34 QUA_DATA_W_MSB 0x21
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data W <15:8>

DATA
Quaternion Data
W <15:8>

bits
<7:0>

Description
Upper byte of w axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.35 QUA_DATA_X_LSB 0x22
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data X <7:0>

DATA
Quaternion Data
X <7:0>

bits
<7:0>

Description
Lower byte of X axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.36 QUA_DATA_X_MSB 0x23
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Quaternion Data
X <15:8>

Quaternion Data X <15:8>

bits
<7:0>

Description
Upper byte of X axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 69

4.3.37 QUA_DATA_Y_LSB 0x24
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data Y <7:0>

DATA
Quaternion Data
Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.38 QUA_DATA_Y_MSB 0x25
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data Y <15:8>

DATA
Quaternion Data
Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.39 QUA_DATA_Z_LSB 0x26
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Quaternion Data Z <7:0>

DATA
Quaternion Data
Z <7:0>

bits
<7:0>

Description
Lower byte of Z axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.40 QUA_DATA_Z_MSB 0x27
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Quaternion Data
Z <15:8>

Quaternion Data Z <15:8>

bits
<7:0>

Description
Upper byte of Z axis Quaternion data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 70

4.3.41 LIA_DATA_X_LSB 0x28
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Linear Acceleration Data X <7:0>

DATA
Linear
Acceleration Data
X <7:0>

bits
<7:0>

Description
Lower byte of X axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.42 LIA_DATA_X_MSB 0x29
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Linear Acceleration Data X <15:8>

DATA
Linear
Acceleration Data
X <15:8>

bits
<7:0>

Description
Upper byte of X axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.43 LIA_DATA_Y_LSB 0x2A
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Linear Acceleration Data Y <7:0>

DATA
Linear
Acceleration Data
Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.44 LIA_DATA_Y_MSB 0x2B
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

DATA
Linear
Acceleration Data
Y <15:8>

Linear Acceleration Data Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 71

4.3.45 LIA_DATA_Z_LSB 0x2C
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Linear Acceleration Data Z <7:0>

DATA
Linear
Acceleration Data
Z <7:0>

bits
<7:0>

Description
Lower byte of Z axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.46 LIA_DATA_Z_MSB 0x2D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Linear Acceleration Data Z <15:8>

DATA
Linear
Acceleration Data
Z <15:8>

bits
<7:0>

Description
Upper byte of Z axis Linear Acceleration data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.47 GRV_DATA_X_LSB 0x2E

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Gravity Vector Data X <7:0>

DATA
Gravity Vector
Data X <7:0>

bits
<7:0>

Description
Lower byte of X axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.48 GRV_DATA_X_MSB 0x2F

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
Gravity Vector
Data X <15:8>

Gravity Vector Data X <15:8>

bits
<7:0>

Description
Upper byte of X axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 72

4.3.49 GRV_DATA_Y_LSB 0x30

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Gravity Vector Data Y <7:0>

DATA
Gravity Vector
Data Y <7:0>

bits
<7:0>

Description
Lower byte of Y axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.50 GRV_DATA_Y_MSB 0x31

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Gravity Vector Data Y <15:8>

DATA
Gravity Vector
Data Y <15:8>

bits
<7:0>

Description
Upper byte of Y axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.51 GRV_DATA_Z_LSB 0x32

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Gravity Vector Data Z <7:0>

DATA
Gravity Vector
Data Z <7:0>

bits
<7:0>

Description
Lower byte of Z axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

4.3.52 GRV_DATA_Z_MSB 0x33

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
Gravity Vector
Data Z <15:8>

Gravity Vector Data Z <15:8>

bits
<7:0>

Description
Upper byte of Z axis Gravity Vector data, read only
The output units can be selected using the UNIT_SEL register and data output type can bechanged by updating the Operation Mode in the OPR_MODE register, see section 3.3

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 73

4.3.53 TEMP 0x34
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

Temperature

DATA
Temperature

bits
<7:0>

Description
Temperature data, read only
The output units can be selected using the UNIT_SEL register and data output source can beselected by updating the TEMP_SOURCE register, see section 0

4.3.54 CALIB_STAT 0x35
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

AccessReset
Content

SYS Calib Status <0:1>

DATA
SYS Calib Status
<0:1>

bits
<7:6>

GYR Calib Status<0:1>
ACC Calib Status<0:1>
MAG Calib Status
<0:1>

<5:4>

GYR Calib Status <0:1>

ACC Calib Status <0:1>

MAG Calib Status <0:1>

Description
Current system calibration status, depends of the calibration status of the orientation, and isavailable for the fusion modes with absolute orientation, read-only
Read: 3 indicates fully calibrated; 0 indicates not calibrated
Current offset calibration status of Gyroscope, read-only
Read: 3 indicates fully calibrated; 0 indicates not calibrated
Current offset calibration status of Accelerometer, read-only
Read: 3 indicates fully calibrated; 0 indicates not calibrated
Current offset calibration status of Magnetometer, read-only
Read: 3 indicates fully calibrated; 0 indicates not calibrated

<3:2>
<1:0>

4.3.55 ST_RESULT 0x36

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r

r

r

r

r
1

r
1

r
1

r
1

ST_MCU

ST_GYR

ST_MAG

ST_ACC

Content

Reserved

DATA
ST_MCU

bits
3

ST_GYR2

ST_MAG

1

ST_ACC0

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
Microcontroller self-test result.
Read: 1 indicated test passed; 0 indicates test failed
Gyroscope self-test result.
Read: 1 indicated test passed; 0 indicates test failed
Magnetometer self-test result.
Read: 1 indicated test passed; 0 indicates test failed
Accelerometer self-test result.
Read: 1 indicated test passed; 0 indicates test failed

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 74

4.3.56 INT_STA 0x37
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

ACC_NM

ACC_AM

ACC_HIG
H_G

GYR_DRDY6

GYR_HIG
H_RATE

GYRO_AM

MAG_DRDY6

ACC_BSX_DRDY6DATA
ACC_NMbits
7

ACC_AM

6

ACC_HIGH_G

5

GYR_DRDY64GYR_HIGH_RATE

3

GYRO_AM2

MAG_DRDY61

ACC_BSX_DRDY60

Description
Status of Accelerometer no motion or slow motion interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of Accelerometer any motion interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of Accelerometer high-g interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of gyroscope data ready interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of gyroscope high rate interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of gyroscope any motion interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of magnetometer data ready interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered
Status of Accelerometer/BSX data ready interrupt, read only
Read: 1 indicates interrupt triggered; 0 indicates no interrupt triggered

4.3.57 SYS_CLK_STATUS 0x38
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

ST_MAIN_
CLK

DATA
0

bits
0

Description
Indicates that, it is Free to configure the CLK SRC (External or Internal)

1

0

Indicates that, it is in Configuration state

4.3.58 SYS_STATUS 0x39

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

Content

DATA
System Status
Code

System Status Code

bits
<7:0>

Description
Read: 0 System idle,
1 System Error,
2 Initializing peripherals
3 System Initialization
4 Executing selftest,
5 Sensor fusion algorithm running,
6 System running without fusion algorithm

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 75

4.3.59 SYS_ERR 0x3A
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r

r

r

r

r

r

r

r

AccessReset

0x00

Content

System Error Code

DATA
System Error
Code

bits
<7:0>

Description
Read the error status from this register if the SYS_STATUS (0x39) register is SYSTEMERROR (0x01)
Read : 0 No error
1 Peripheral initialization error
2 System initialization error
3 Self test result failed
4 Register map value out of range
5 Register map address out of range
6 Register map write error
7 BNO low power mode not available for selected operation mode
8 Accelerometer power mode not available
9 Fusion algorithm configuration error
A Sensor configuration error

4.3.60 UNIT_SEL 0x3B
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r/w
1

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

ORI_Andro
id_Windows

TEMP_Unitreserved

EUL_Unit

GYR_Unit

ACC_Unit

DATA
ORI_Android_Win
dows

bits
7

TEMP_Unit

5

EUL_Unit

3

GYR_Unit

2

ACC_Unit1

reserved

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
Read: Current selected orientation mode
Write: Select orientation mode
0: Windows orientation
1: Android orientation
See section 3.6.2 for more details
Read: Current selected temperature units
Write: Select temperature units
0: Celsius
1: Fahrenheit
See section 3.6.1 for more details
Read: Current selected Euler units
Write: Select Euler units
0: Degrees
1: Radians
See section 3.6.1 for more details
Read: Current selected angular rate units
Write: Select angular rate units
0: dps1: rpsSee section 3.6.1 for more details
Read: Current selected acceleration units
Write: Select acceleration units
0: m/s2
1: mg
See section 3.6.1 for more details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 76

4.3.61 OPR_MODE 0x3D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
0

r/w
0

r/w
0

AccessReset
Content

Reserved

DATA
Operation Mode
<3:0>

Operation Mode <3:0>

bits
<3:0>

Description
Read: Current selected operation mode
Write: Select operation mode
See Table 3-5 for details

4.3.62 PWR_MODE 0x3E
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

Reset

0

0

0

0

0

0

0

0

Content

Reserved

DATA
Power Mode
<1:0>

bits
<1:0>

Power Mode <1:0>

Description
Read: Current selected power mode
Write: Select power mode
See Table 3-1 for details

4.3.63 SYS_TRIGGER 0x3F
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r/w
0

r/w
0

w
0

r/w
0

r/w
0

r/w
0

r/w
0

w
0

Content

CLK_SEL

RST_INTRST_SYS

Reserved

Self_Test

DATA
CLK_SELbits
7

RST_INT

6

Description
0: Use internal oscillator
1: Use external oscillator. Set this bit only if external crystal is connected
Set to reset all interrupt status bits, and INT output

RST_SYS

5

Set to reset system

Self_Test

0

Set to trigger self-test

4.3.64 TEMP_SOURCE 0x40

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

DATA
TEMP_Source<1:0>

Reserved

bits
<1:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

TEMP_Source <1:0>

Description
See section 0 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 77

4.3.65 AXIS_MAP_CONFIG 0x41
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
0

r/w
1

r/w
0

r/w
0

AccessReset
Content

Reserved

Remapped Z axis value

Remapped Y axis value

DATA
Remapped Z axis
valueRemapped Y axis
valueRemapped X axis
value

bits
<5:4>

Description
See section 3.4 for details<3:2>

See section 3.4 for details<1:0>

See section 3.4 for details

Remapped X axis value

4.3.66 AXIS_MAP_SIGN 0x42
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Remapped
X axis sign

Remapped
Y axis sign

Remapped
Z axis sign

AccessReset
Content

Reserved

DATA
Remapped X axis
signRemapped Y axis
signRemapped Z axis
sign

bits
2

Description
See section 3.4 for details

1

See section 3.4 for details0

See section 3.4 for details

4.3.67 SIC_MATRIX_LSB0 0x43
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

SIC_MATRIX_LSB0<7:0>

DATA
SIC_MATRIX_LS
B0 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.68 SIC_MATRIX_MSB0 0x44

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

DATA
SIC_MATRIX_MS
B0 <7:0>

bit3

SIC_MATRIX_MSB0<7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See Section 3.11.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 78

4.3.69 SIC_MATRIX_LSB1 0x45
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

SIC_MATRIX_LSB1<7:0>

DATA
SIC_MATRIX_LS
B1 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.70 SIC_MATRIX_MSB1 0x46
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

SIC_MATRIX_MSB1<7:0>

DATA
SIC_MATRIX_MS
B1 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.71 SIC_MATRIX_LSB2 0x47
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_LSB2<7:0>

DATA
SIC_MATRIX_LS
B2 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.72 SIC_MATRIX_MSB2 0x48

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_MSB2<7:0>

DATA
SIC_MATRIX_MS
B2 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.73 SIC_MATRIX_LSB3 0x49

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Content
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00
SIC_MATRIX_LSB3<7:0>
Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

DATA
SIC_MATRIX_LS
B3 <7:0>

bits
<7:0>

Page 79

Description
See Section 3.11.4 for details

4.3.74 SIC_MATRIX_MSB3 0x4A
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_MSB3<7:0>

DATA
SIC_MATRIX_MS
B3 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.75 SIC_MATRIX_LSB4 0x4B
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_LSB4<7:0>

DATA
SIC_MATRIX_LS
B4 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.76 SIC_MATRIX_MSB4 0x4C
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_MSB4<7:0>

DATA
SIC_MATRIX_MS
B4 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.77 SIC_MATRIX_LSB5 0x4D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

DATA
SIC_MATRIX_LS
B5 <7:0>

SIC_MATRIX_LSB5<7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See Section 3.11.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 80

4.3.78 SIC_MATRIX_MSB5 0x4E
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

SIC_MATRIX_MSB5<7:0>

DATA
SIC_MATRIX_MS
B5 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.79 SIC_MATRIX_LSB6 0x4F
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

AccessReset

0x00

Content

SIC_MATRIX_LSB6<7:0>

DATA
SIC_MATRIX_LS
B6 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.80 SIC_MATRIX_MSB6 0x50
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_MSB6<7:0>

DATA
SIC_MATRIX_MS
B6 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.81 SIC_MATRIX_LSB7 0x51
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_LSB7<7:0>

DATA
SIC_MATRIX_LS
B7 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.82 SIC_MATRIX_MSB7 0x52

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Content
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00
SIC_MATRIX_MSB7<7:0>
Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

DATA
SIC_MATRIX_MS
B7 <7:0>

bits
<7:0>

Page 81

Description
See Section 3.11.4 for details

4.3.83 SIC_MATRIX_LSB8 0x53
bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

Access
Reset

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_LSB8<7:0>

DATA
SIC_MATRIX_LS
B8 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.84 SIC_MATRIX_MSB8 0x54

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

SIC_MATRIX_MSB8<7:0>

DATA
SIC_MATRIX_MS
B8 <7:0>

bits
<7:0>

Description
See Section 3.11.4 for details

4.3.85 ACC_OFFSET_X_LSB 0x55

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

DATA
Accelerometer
Offset X <7:0>

bit3

Accelerometer Offset X <7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 82

4.3.86 ACC_OFFSET_X_MSB 0x56

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Offset X <15:8>

DATA
Accelerometer
Offset X <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.87 ACC_OFFSET_Y_LSB 0x57

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Offset Y <7:0>

DATA
Accelerometer
Offset Y <7:0>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.88 ACC_OFFSET_Y_MSB 0x58

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Offset Y <15:8>

DATA
Accelerometer
Offset Y <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.89 ACC_OFFSET_Z_LSB 0x59

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

DATA
Accelerometer
Offset Z <7:0>

bit3

Accelerometer Offset Z <7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 83

4.3.90 ACC_OFFSET_Z_MSB 0x5A

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Offset Z <15:8>

DATA
Accelerometer
Offset Z <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.91 MAG_OFFSET_X_LSB 0x5B

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Magnetometer Data X <7:0>

DATA
Magnetometer
Offset X <7:0>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.92 MAG_OFFSET_X_MSB 0x56C

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Magnetometer Offset X <15:8>

DATA
Magnetometer
Offset X <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.93 MAG_OFFSET_Y_LSB 0x5D

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

DATA
Magnetometer
Offset Y <7:0>

bit3

Magnetometer Offset Y <7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 84

4.3.94 MAG_OFFSET_Y_MSB 0x5E

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Magnetometer Offset Y <15:8>

DATA
Magnetometer
Offset Y <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.95 MAG_OFFSET_Z_LSB 0x5F

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Magnetometer Offset Z <7:0>

DATA
Magnetometer
Offset Z <7:0>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.96 MAG_OFFSET_Z_MSB 0x60

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Magnetometer Offset Z <15:8>

DATA
Magnetometer
Offset Z <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.97 GYR_OFFSET_X_LSB 0x61

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

DATA
Gyroscope Offset
X <7:0>Gyroscope Data X <7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 85

4.3.98 GYR_OFFSET_X_MSB 0x62

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Gyroscope Offset X <15:8>

DATA
Gyroscope Offset
X <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.99 GYR_OFFSET_Y_LSB 0x63

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Gyroscope Offset Y <7:0>

DATA
Gyroscope Offset
Y <7:0>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.100 GYR_OFFSET_Y_MSB 0x64

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Gyroscope Offset Y <15:8>

DATA
Gyroscope Offset
Y <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.101 GYR_OFFSET_Z_LSB 0x65

Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

DATA
Gyroscope Offset
Z <7:0>bit3

Gyroscope Offset Z <7:0>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 86

4.3.102 GYR_OFFSET_Z_MSB 0x66
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Gyroscope Offset Z <15:8>

DATA
Gyroscope Offset
Z <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.103 ACC_RADIUS_LSB 0x67
Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Radius <7:0>

DATA

bits

Description

Gyroscope Offset
Z <7:0><7:0>

See section 3.6.4for details

4.3.104 ACC_RADIUS_MSB 0x68
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

r/w

r/w

r/w

r/w

0x00

Content

Accelerometer Radius <15:8>

DATA
Gyroscope Offset
Z <15:8>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.105 MAG_RADIUS_LSB 0x69
Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit3

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0xE0

Content

Magnetometer Radius <7:0>

DATA
Gyroscope Offset
Z <7:0>

bits
<7:0>

Description
See section 3.6.4 for details

4.3.106 MAG_RADIUS_MSB 0x6A
Access
Reset

bit7

bit6

bit5

bit4

r/w

r/w

r/w

r/w

bit2

bit1

bit0

r/w

r/w

r/w

r/w

0x01

Content

DATA
Gyroscope Offset
Z <15:8>

bit3

Magnetometer Radius <15:8>

bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
See section 3.6.4 for details

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 87

4.4 Register description (Page 1)
4.4.1 Page ID 0x07

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

Page ID

DATA
Page ID

bits
<7:0>

Description
Read: Number of currently selected page
Write: Change page, 0x00 or 0x01

4.4.2 ACC_Config 0x08

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
0

r/w
1

Content

ACC_PWR_Mode <2:0>

DATA
ACC_PWR_Mode<2:0>
ACC_BW <2:0>

bits
<7:5>

ACC_Range <1:0><2:0>

ACC_BW <2:0>

ACC_Range <1:0>

Description
Read: current selected power mode
Write: can only be changed in sensor mode, see section 3.5.2
Read: current selected bandwidth
Write: can only be changed in sensor mode, see section 3.5.2
Read: current selected range
Write: can only be changed in sensor mode, see section 3.5.2<4:3>

4.4.3 MAG_Config 0x09

AccessReset
Content

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
1

r/w
1

reserved

DATA
MAG_Power_mod
e <1:0>
MAG_OPR_Mode<1:0>
MAG_Data_output_rate <2:0>

MAG_Power_mode
<1:0>

bits
<6:5>
<4:3>
<2:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

MAG_OPR_Mode <1:0>

MAG_Data_output_rate <2:0>

Description
Read: current selected power mode
Write: can only be changed in sensor mode, see section 3.5.4
Read: current selected operation mode
Write: can only be changed in sensor mode, see section 3.5.4
Read: current selected data output rate
Write: can only be changed in sensor mode, see section 3.5.4

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 88

4.4.4 GYR_Config_0 0x0A

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
1

r/w
0

r/w
0

r/w
0

Content

reservedDATA
GYR_Bandwidth<2:0>
GYR_Range <2:0>

bits
<5:3>

GYR_Bandwidth <2:0>

GYR_Range <2:0>

Description
Read: current selected bandwidth
Write: can only be changed in sensor mode, see section 3.5.3
Read: current selected range
Write: can only be changed in sensor mode, see section 3.5.3<2:0>

4.4.5 GYR_Config_1 0x0B

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

DATA
GYR_Power_Mod
e <2:0>reserved

bits
<2:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

GYR_Power_Mode <2:0>

Description
Read: current selected power mode
Write: can only be changed in sensor mode, see section 3.5.3

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 89

4.4.6 ACC_Sleep_Config 0x0C
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

AccessReset
Content

reservedDATA
SLP_DURATION
<3:0>

bits
<4:1>

SLP_MODE0SLP_DURATION <3:0>

SLP_MODE

Description
Write: The sleep duration for accelerometer low power mode can be only configured in thesensor operation mode where no fusion library is running. Following sleep phase duration ispossible to set.
SLP_DURATION
Accelerometer Sleep Phase Duration
0000b
0.5 ms0001b
0.5 ms0010b
0.5 ms0011b
0.5 ms0100b
0.5 ms0101b
0.5 ms
0110b
1 ms
0111b
2 ms
1000b
4 ms
1001b
6 ms
1010b
10 ms
1011b
25 ms
1100b
50 ms
1101b
100 ms1110b
500 ms1111b1000 ms
The sleep timer mode for accelerometer low power mode can be only configured in the sensor
operation mode where no fusion library is running
Write 0: use event driven time-base mode
1: use equidistant sampling time-base mode

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 90

4.4.7 GYR_Sleep_Config 0x0D
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

AccessReset
Content

reserved

DATA
AUTO_SLP_DUR
ATION <2:0>

bits
<5:3>

SLP_DURATION
<2:0>

<2:0>

AUTO_SLP_DURATION <2:0>

SLP_DURATION <2:0>

Description
The Gyroscope can be configures in the advanced power mode to optimize the power
consumption. This can be only done if the selected operation mode in sensor mode. The auto
sleep duration is the wake up duration of gyroscope during the duty cycling between normal
and fast-power up mode. Possible configuration for auto sleep duration are:
Auto sleep duration
Time (ms)000b
Not allowed
001b
4 ms
010b
5 ms
011b
8 ms
100b
10 ms
101b
15 ms
110b
20 ms
111b
40 ms
The Gyroscope can be configures in the advanced power mode to optimize the power
consumption. This can be only done if the selected operation mode in sensor mode. The sleep
duration is the sleep time of gyroscope during the duty cycling between normal and fast-power
up mode. Possible configuration for sleep duration are:Sleep duration
Time (ms)
000b
2 ms
001b
4 ms
010b
5 ms
011b
8 ms
100b
10 ms
101b
15 ms
110b
18 ms
111b
20 ms

The only restriction for the use of the power save mode comes from the configuration of thedigital filter bandwidth of gyroscope. For each bandwidth configuration, minimum auto sleep
duration must be ensured. For example, for bandwidth = 47Hz, the minimum auto sleep
duration is 5ms. This is specified in the table below. For sleep duration, there is no restriction.
Gyroscope bandwidth (Hz)
32 Hz
64 Hz
12 Hz
23 Hz
47 Hz
116 Hz230 HzUnfiltered (523 Hz)

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Mini Autosleep duration (ms)
20 ms
10 ms
20 ms
10 ms
5 ms
4 ms
4 ms
4 ms

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 91

4.4.8 INT_MSK 0x0F
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w

r/w
0

r/w
0

r/w

r/w

ACC_NM

ACC_AM

ACC_HIG
H_G

GYR_DRDY6

GYR_HIG
H_RATE

GYRO_AM

MAG_DRDY6

ACC_BSX_DRDY6

AccessReset
Content

DATA
ACC_NMbits
7

ACC_AM

6

ACC_HIGH_G

5

GYR_DRDY64GYR_HIGH_RATE

3

GYRO_AM2

MAG_DRDY61

ACC_BSX_DRDY60

Description
Masking of Accelerometer no motion or slow motion interrupt, when enabled the interrupt will
update the INT_STA register and trigger a change on the INT pin, when disabled only the
INT_STA register will be updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of Accelerometer any motion interrupt, when enabled the interrupt will update the
INT_STA register and trigger a change on the INT pin, when disabled only the INT_STA register
will be updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of Accelerometer high-g interrupt, when enabled the interrupt will update the INT_STA
register and trigger a change on the INT pin, when disabled only the INT_STA register will be
updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of gyroscope data ready interrupt, when enabled together with interrupt will update the
INT_STA register and trigger a change on the INT pin, when disabled only the INT_STA register
will be updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of gyroscope high rate interrupt, when enabled the interrupt will update the INT_STA
register and trigger a change on the INT pin, when disabled only the INT_STA register will be
updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of gyroscope any motion interrupt, when enabled the interrupt will update the INT_STA
register and trigger a change on the INT pin, when disabled only the INT_STA register will be
updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of magnetometer data ready interrupt, when enabled together with interrupt will update
the INT_STA register and trigger a change on the INT pin, when disabled only the INT_STA
register will be updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable
Masking of Accelerometer or BSX data ready interrupt, when enabled together with interrupt will
update the INT_STA register and trigger a change on the INT pin, when disabled only the
INT_STA register will be updated.
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 92

4.4.9 INT_EN 0x10
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w

r/w
0

r/w
0

r/w
0

r/w
0

ACC_NM

ACC_AM

ACC_HIG
H_G

GYR_DRDY6

GYR_HIG
H_RATE

GYRO_AM

MAG_DRDY6

ACC_BSX_DRDY6

AccessReset
Content

DATA
ACC_NMbits
7

ACC_AM

6

ACC_HIGH_G

5

GYR_DRDY64GYR_HIGH_RATE

3

GYRO_AM2

MAG_DRDY61

ACC_BSX_DRDY60

Description
Enable and disable of Accelerometer no motion or slow motion interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of Accelerometer any motion interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of Accelerometer high-g interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of Gyroscope data ready interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of gyroscope high rate interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of gyroscope any motion interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable and disable of magnetometer data ready interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt
Enable or disable of Accelerometer or BSX data ready interrupt
Read: 1: Enabled / 0: Disabled
Write: 1: Enable / 0: Disable interrupt

4.4.10 ACC_AM_THRES 0x11

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
1

r/w
0

r/w
0

Content

DATA
Accelerometer
Any motion
thresholdAccelerometer Any motion threshold

bits
<7:0>

Description
Threshold used for the any-motion interrupt. The threshold value is dependent on theaccelerometer range selected in the ACC_Config register.
1 LSB = 3.91 mg (2-g range)
1 LSB = 7.81 mg (4-g range)
1 LSB = 15.63 mg (8-g range)
1 LSB = 31.25 mg (16-g range)

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 93

4.4.11 ACC_INT_Settings 0x12
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

Content

HG_Z_AXIS

HG_Y_AXIS

HG_X_AXIS

AM/NM_Z_
AXIS

AM/NM_Y_AXIS

AM/NM_X_AXIS

DATA
HG_Z_AXIS

bits
7

HG_Y_AXIS

6

HG_X_AXIS

5

AM/NM_Z_AXIS

4

AM/NM_Y_AXIS

3

AM/NM_X_AXIS

2

AM_DUR <1:0><1:0>

AM_DUR <1:0>

Description
Select which axis of the accelerometer is used to trigger a high-G interrupt
1: Enabled; 0: Disabled
Select which axis of the accelerometer is used to trigger a high-G interrupt
1: Enabled; 0: Disabled
Select which axis of the accelerometer is used to trigger a high-G interrupt
1: Enabled; 0: Disabled
Select which axis of the accelerometer is used to trigger a any motion or no motion interrupt
1: Enabled; 0: Disabled
Select which axis of the accelerometer is used to trigger a any motion or no motion interrupt
1: Enabled; 0: Disabled
Select which axis of the accelerometer is used to trigger a any motion or no motion interrupt
1: Enabled; 0: Disabled
Any motion interrupt triggers if [AM_DUR<1:0>+1] consecutive data points are above the any
motion interrupt threshold define in ACC_AM_THRES register

4.4.12 ACC_HG_DURATION 0x13
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
1

r/w
1

AccessReset
Content

Accelerometer High G Duration

DATA
Accelerometer
High G Duration

bits
<7:0>

Description
The high-g interrupt trigger delay according to [ACC_HG_DURATION + 1] * 2 ms in a range
from 2 ms to 512 ms;

4.4.13 ACC_HG_THRES 0x14

Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
1

r/w
1

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

Content

DATA
Accelerometer
High G Threshold

Accelerometer High G Threshold

bits
<7:0>

Description
Threshold used high-g interrupt. The threshold value is dependent on the accelerometer range
selected in the ACC_Config register.
1 LSB = 7.81 mg (2-g range
1 LSB = 15.63 mg (4-g range)
1 LSB = 31.25 mg (8-g range)
1
LSB = 62.5 mg (16-g range)

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 94

4.4.14 ACC_NM_THRES 0x15
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
1

r/w
0

AccessReset
Content

Accelerometer NO/SLOW motion threshold

DATA
Accelerometer
NO/SLOW motion
threshold

bits
<7:0>

Description
Threshold used for the Slow motion or no motion interrupt. The threshold value is dependent
on the accelerometer range selected in the ACC_Config register.
1 LSB = 3.91 mg (2-g range)
1 LSB = 7.81 mg (4-g range)
1 LSB = 15.63 mg (8-g range)
1 LSB = 31.25 mg (16-g range)

4.4.15 ACC_NM_SET 0x16
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
1

r/w
1

Content

reservedDATA
slo_no_mot_dur<5:0>

slo_no_mot_dur <5:0>

bits
<6:1>

SMNM

Description
Function depends on whether the slow-motion or no-motion interrupt function has been
selected. If the slow-motion interrupt function has been enabled (SMNM = ‘0’) then[slo_no_mot_dur<1:0>+1] consecutive slope data points must be above the slow/no-motion
threshold (ACC_NM_THRES) for the slow-/no-motion interrupt to trigger. If the no-motion
interrupt function has been enabled (SMNM = ‘1’) then slo_no_motion_dur<5:0> defines thetime for which no slope data points must exceed the slow/no-motion threshold(ACC_NM_THRES) for the slow/no-motion interrupt to trigger. The delay time in seconds may
be calculated according with the following equation:
slo_no_mot_dur<5:4>=’b00’ → [slo_no_mot_dur<3:0> + 1]
slo_no_mot_dur<5:4>=’b01’ → [slo_no_mot_dur<3:0> * 4 + 20]
slo_no_mot_dur<5>=’1’ → [slo_no_mot_dur<4:0> * 8 + 88]

SMNM

0

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Select slow motion or no motion interrupt
0: Slow motion; 1: No motion

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 95

4.4.16 GYR_INT_SETTING 0x17
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

HR_FILT

AM_FILT

HR_Z_AXIS

HR_Y_AXIS

HR_X_AXIS

AM_Z_AXIS

AM_Y_AXIS

AM_X_AXI
S

AccessReset
Content

DATA
HR_FILTbits
7

Description‘1’ (‘0’) selects unfiltered (filtered) data for high rate interrupt

AM_FILT

6‘1’ (‘0’) selects unfiltered (filtered) data for any motion interrupt

HR_Z_AXIS

51’ (‘0’) enables (disables) high rate interrupt for z-axis

HR_Y_AXIS

41’ (‘0’) enables (disables) ) high rate interrupt for y-axis

HR_X_AXIS

3

1’ (‘0’) enables (disables) ) high rate interrupt for x-axis

AM_Z_AXIS

2

1’ (‘0’) enables (disables) any motion interrupt for z-axis

AM_Y_AXIS

11’ (‘0’) enables (disables) any motion interrupt for y-axis

AM_X_AXIS01’ (‘0’) enables (disables) any motion interrupt for x-axis

4.4.17 GYR_HR_X_SET 0x18
AccessReset
Content

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

reserved

DATA
HR_X_THRES_HY
ST <1:0>

bits
<6:5>

HR_X_Threshold
<4:0>

<4:0>

HR_X_THRES_HYST<1:0>

HR_X_Threshold <4:0>

Description
High rate hysteresis for X axis = (255 + 256 * HR_X_THRES_HYST) *4 LSB
The high rate value scales with the range setting
1 LSB = 62.26°/s in 2000°/s-range
1 LSB = 31.13°/s in 1000°/s-range
1 LSB = 15.56°/s in 500°/s -range…
High rate threshold is for the gyroscope X axis. The threshold value is dependent on thegyroscope range selected in the GRY_Config_0 register.
1 LSB = 62.5°/s in 2000°/s-range
1 LSB = 31.25°/s in 1000°/s-range
1 LSB = 15.625°/s in 500°/s -range…

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 964.4.18 GYR_DUR_X 0x19
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
0

r/w
0

r/w
1

Content

HR_X_Duration

DATA
HR_X_Duration

bits
<7:0>

Description
High rate duration = (1 + HR_X_Duration)*2.5ms

4.4.19 GYR_HR_Y_SET 0x1A
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
1

AccessReset
Content

reserved

DATA
HR_Y_THRES_HY
ST <1:0>

bits
<6:5>

HR_Y_Threshold
<4:0>

<4:0>

HR_Y_THRES_HYST<1:0>

HR_Y_Threshold <4:0>

Description
High rate hysteresis for Y axis = (255 + 256 * HR_Y_THRES_HYST) *4 LSB
The high rate value scales with the range setting
1 LSB = 62.26°/s in 2000°/s-range
1 LSB = 31.13°/s in 1000°/s-range
1 LSB = 15.56°/s in 500°/s -range…
High rate threshold is for the gyroscope Y axis. The threshold value is dependent on thegyroscope range selected in the GRY_Config_0 register.
1 LSB = 62.5°/s in 2000°/s-range
1 LSB = 31.25°/s in 1000°/s-range
1 LSB = 15.625°/s in 500°/s -range…

4.4.20 GYR_DUR_Y 0x1B
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
0

r/w
0

r/w
1

Content

DATA
HR_Y_Duration

HR_Y_Duration
bits
<7:0>

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Description
High rate duration = (1 + HR_Y_Duration)*2.5ms

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 97

4.4.21 GYR_HR_Z_SET 0x1C
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r
0

r
0

r
0

r
0

r
0

r
0

r
0

r
1

AccessReset
Content

reserved

DATA
HR_Z_THRES_HY
ST <1:0>

bits
<6:5>

HR_Z_Threshold
<4:0>

<4:0>

HR_Z_THRES_HYST<1:0>

HR_Z_Threshold <4:0>

Description
High rate hysteresis for Z axis = (255 + 256 * HR_Z_THRES_HYST) *4 LSB
The high rate value scales with the range setting
1 LSB = 62.26°/s in 2000°/s-range
1 LSB = 31.13°/s in 1000°/s-range
1 LSB = 15.56°/s in 500°/s -range…
High rate threshold is for the gyroscope Z axis. The threshold value is dependent on thegyroscope range selected in the GRY_Config_0 register.
1 LSB = 62.5°/s in 2000°/s-range
1 LSB = 31.25°/s in 1000°/s-range
1 LSB = 15.625°/s in 500°/s -range…

4.4.22 GYR_DUR_Z 0x1D
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
1

r/w
0

r/w
0

r/w
1

Content

HR_Z_Duration

DATA
HR_Z_Duration

bits
<7:0>

Description
High rate duration = (1 + HR_Z_Duration)*2.5ms

4.4.23 GYR_AM_THRES 0x1E
bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Access
Reset

r/w
0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
0

Content

reserved

DATA
Gyro Any Motion
Threshold <6:0>

bits
<6:0>

Gyro Any Motion Threshold <6:0>
Description
Any motion threshold is for the gyroscope any motion interrupt. The threshold value isdependent on the gyroscope range selected in the GRY_Config_0 register.
1 LSB = 1 °/s in 2000°/s-range
1 LSB = 0.5°/s in 1000°/s-range
1 LSB = 0.25°/s in 500°/s -range…

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 98

4.4.24 GYR_AM_SET 0x1F
Access
Reset

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

r/w
0

r/w
0

r/w
0

r/w
0

r/w
1

r/w
0

r/w
1

r/w
0

Content

DATA
Awake Duration<1:0>
Slope Samples<1:0>

reserved

Awake Duration <1:0>

Slope Samples <1:0>

bits
<3:2>

Description
0=8 samples, 1=16 samples, 2=32 samples, 3=64 samples<1:0>

Any motion interrupt triggers if [Slope Samples + 1]*4 consecutive data points are above theany motion interrupt threshold define in GYRO_AM_THRES register

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 99

4.5 Digital Interface
The BNO055 supports two digital interfaces for communication between the salve and hostdevice: I2C which supports the HID-I2C protocol and I2C Standard and Fast modes; and the
UART interface.
The active interface is selected by the state of the protocol select pins (PS1 and PS0), Table
4-4 shows the mapping between the protocol select pins and the selected interface mode.
Table 4-4: protocol select pin mapping
PS1
0
0
1
1

PS0
0
1
0
1

Functionality
Standard/Fast I2C Interface
HID over I2C
UART Interface
Reserved

It is not allowed to keep the protocol select pins floating.
Both digital interfaces share partially the same pins, the pin mapping for each interface isshown in Table 4-5.
Table 4-5: Mapping of digital interface pins
PIN
COM0
COM1
COM2
COM3

I2C Interfaces(PS1=0b0)
SDA
SCL
GNDIO
I2C address select

UART Interface(PS1.PS0=0b10)
Tx
Rx

The following table shows the electrical specifications of the interface pins:
Table 4-6: Electrical specification of the interface pins
Parameter

SymbolCondition

Min

Typ

Max

Units

Pull-up Resistance,
COM3 pin

RupInternal Pull-up
Resistance to
VDDIO

20

40

60

k

Input Capacitance

Cin

5

10

pF

I²C Bus Load
Capacitance (max.
drive capability)

CI2C_Load

400

pF

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 100

4.6 I2C Protocol
The I²C bus uses SCL (= SCx pin, serial clock) and SDA (= SDx pin, serial data input andoutput) signal lines. Both lines are connected to VDDIO externally via pull-up resistors so thatthey are pulled high when the bus is free.
The I²C interface of the BNO055 is compatible with the I²C Specification UM10204 Rev. 03 (19June 2007), available at http://www.nxp.com. The BNO055 supports I²C standard mode andfast mode, only 7-bit address mode is supported. The BNO055 I²C interface uses clock
stretching.
The default I²C address of the BNO055 device is 0101001b (0x29). The alternative address
0101000b (0x28), in I2C mode the input pin COM3 can be used to select between the primary
and alternative I2C address as shown in Table 4-7.
Table 4-7: I2C address selection
I2C
configuration
Slave
Slave
HID-I2C

COM3_state

I2C address

HIGH
LOW
X

0x29
0x28
0x40

The timing specification for I²C of the BNO055 is given in Table 4-8: I²C timings:
Table 4-8: I²C timings
Parameter
Clock Frequency
SCL Low Period
SCL High Period
SDA Setup TimeSDA Hold Time
Setup Time for arepeated Start Condition
Hold Time for a Start
Condition
Setup Time for a Stop
Condition
Time before a newTransmission can start
Idle time between write
accesses, normal mode,
standby mode, lowpower mode 2
Idle time between write
accesses, suspendmode, low-power mode
1

Symbol
fSCL
tLOW
tHIGH
tSUDATtHDDAT

Condition

Min

Max
400

Units
kHz

1.3
0.6
0.1
0.0

tSUSTA

0.6

tHDSTA

0.6

tSUSTO

0.6

tBUF

1.3

tIDLE_wacc_nm

2

µs

450

µs

tIDLE_wacc_su

BST-BNO055-DS000-18 | Revision 1.8 | October 2021msBosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 101

Figure 5: I²C timing diagram shows the definition of the I²C timings given in Table 4-8:

SDA
tBUF
tf

tLOW
SCL
tHIGH
tr

tHDSTAtHDDATtSUDAT

SDA
tSUSTAtSUSTO

Figure 5: I²C timing diagram
The I²C protocol works as follows:
START: Data transmission on the bus begins with a high to low transition on the SDA line
while SCL is held high (start condition (S) indicated by I²C bus master). Once the START signal
is transferred by the master, the bus is considered busy.
STOP: Each data transfer should be terminated by a Stop signal (P) generated by master. The
STOP condition is a low to HIGH transition on SDA line while SCL is held high.
ACK: Each byte of data transferred must be acknowledged. It is indicated by an acknowledge
bit sent by the receiver. The transmitter must release the SDA line (no pull down) during theacknowledge pulse while the receiver must then pull the SDA line low so that it remains stablelow during the high period of the acknowledge clock cycle.
In the following diagrams these abbreviations are used:
S
P
ACKS
ACKM
NACKM
RW

Start
Stop
Acknowledge by slave
Acknowledge by masterNot acknowledge by master
Read / Write

A START immediately followed by a STOP (without SCL toggling from ´VDDIO´ to ´GND´) isnot supported. If such a combination occurs, the STOP is not recognized by the device.
I²C write access:I²C write access can be used to write a data byte in one sequence. The sequence begins withstart condition generated by the master, followed by 7 bits slave address and a write bit (RW= 0). The slave sends an acknowledge bit (ACK = 0) and releases the bus. Then the master
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 102

sends the one byte register address. The slave again acknowledges the transmission andwaits for the 8 bits of data which shall be written to the specified register address. After theslave acknowledges the data byte, the master generates a stop signal and terminates thewriting protocol.

1

0

1

0

0

0

A

x

ACKS

0

Register address (0x00 .. 0x7F)

x

x

x

x

x

x

x

A

Data

x

x

x

x

x

x

x

x

Stop

0

RW

ACKS

S

Slave address

dummy

Start

ACKS

Example of an I²C write access to the BNO055 (i2c address in this case: 0101000b = 0x28):

A

P

Figure 6: I²C write
I²C read access:I²C read access also can be used to read one or multiple data bytes in one sequence. A readsequence consists of a one-byte I²C write phase followed by the I²C read phase. The two partsof the transmission must be separated by a repeated start condition (Sr). The I²C write phaseaddresses the slave and sends the register address to be read. After slave acknowledges thetransmission, the master generates again a start condition and sends the slave address
together with a read bit (RW = 1). Then the master releases the bus and waits for the databytes to be read out from slave. After each data byte the master has to generate an
acknowledge bit (ACK = 0) to enable further data transfer. A NACKM (ACK = 1) from themaster stops the data being transferred from the slave. The slave releases the bus so that themaster can generate a STOP condition and terminate the transmission.
The register address is automatically incremented and, therefore, more than one byte can besequentially read out. Once a new data read transmission starts, the start address will be set
to the register address specified in the latest I²C write command. By default the start address
is set at 0x00. In this way repetitive multi-bytes reads from the same starting address are
possible.

0

1

0

1

0

0

0

x

RW

1

A

0

A

…

A

0

0

1

0

0

0

Read data (0x08)

x

x

x

x

x

x

x

x

Read data (0x0A)

x

x

ACKS

…

ACKS

A

x

x

x

x

x

x

Read data (0x0C)

x

x

x

x

x

x

A

A

Read data (0x09)

x

x

A

x

x

A

x

x

x

x

x

x

x

A

…

x

x

NA

P

Read data (0x0B)

x

x

x

x

x

x

Read data (0x0D)

x

x

x

x

x

x

A

…

x

Stop

Slave address

0

ACKM

0

ACKM

0

NACKM

0

ACKS

Sr

1

ACKM

Start

0

ACKM

1

Register address (0x08)

ACKM

0

RW

dummy

S

Slave address

ACKS

Start

ACKS

Example of an I²C read access to the BNO055:

Figure 7: I²C multiple read

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 103

4.7 UART Protocol
The BNO055 supports UART interface with the following settings: 115200 bps, 8N1 (8 data
bits, no parity bit, one stop bit). The maximum length support for read and write is 128 Byte.
The packet structure for register read and write are described below.
Register write
Command:
Byte 1
Start Byte
0xAA

Byte 2
Write
0x00

Byte 3
Reg addr<..>

Byte 4
Length<..>Byte 5
Data 1
<..>

…..
…..
…..

Byte (n+4)
Data n<..>Acknowledge Response:
Byte 1
Response Header
0xEE

Byte 2
Status
0x01: WRITE_SUCCESS
0x03: WRITE_FAIL
0x04: REGMAP_INVALID_ADDRESS
0x05: REGMAP_WRITE_DISABLED
0x06: WRONG_START_BYTE
0x07: BUS_OVER_RUN_ERROR
0X08: MAX_LENGTH_ERROR
0x09: MIN_LENGTH_ERROR
0x0A: RECEIVE_CHARACTER_TIMEOUT

Register readCommand:
Byte 1
Start Byte
0xAA

Byte 2Read
0x01

Byte 2
Reg addr<..>

Byte 3
Length<..>Read Success Response:
Byte 1
ResponseByte
0xBB

Byte 2length<..>Byte 3
Data 1…..
…..

Byte (n+2)
Data nRead Failure or Acknowledge Response:
Byte 1
Response Header
0xEE

Byte 2
Status
0x02: READ_FAIL
0x04: REGMAP_INVALID_ADDRESS
0x05: REGMAP_WRITE_DISABLED
0x06: WRONG_START_BYTE
0x07: BUS_OVER_RUN_ERROR
0X08: MAX_LENGTH_ERROR
0x09: MIN_LENGTH_ERROR
0x0A: RECEIVE_CHARACTER_TIMEOUT

Limitation:• The command is rejected and no acknowledgement is sent when an invalid start byte
is sent. The maximum character timeout is 30ms when receiving successive
characters.
BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 104

4.8 HID over I2C
HID over I2C is a standard interface protocol to connect devices with hosts via I2C. The main
advantage of HID is that there exist generic drivers for different input devices (such as sensors)which can be used with sensors that implement the corresponding well defined HID profiles.
HID over I2C describes how messages (reports and events) are exchanged between thedevice and the host. A descriptor of the structure of these reports is provided by the device
and read by the host during initialization of the device at host system start.
For detailed information on HID please refer to the HID over I2C documentation from Microsoft.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 105

5. Pin-out and connection diagram
5.1 Pin-out
The pin-out of the LGA package is shown in Figure 8 and the pin function is described in Table
5-1.
Figure 8: Pin-out bottom view

Bottom view (pads visible)

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 106

Table 5-1: Pin description
Pin #

Name

I/O Type

Description

1
2
3
4

PIN1
GND
VDD
nBOOT_LOAD_PIN-Ground
SupplyDigital In

5
6
7
8
9
10

PS1
PS0
SWDIO
SWCLK
CAP
BL_IND

11

nRESET

Digital In
Digital In
Digital I/O
Digital In-Digital
Out
--

12
13
14

PIN12
PIN13
INT

15
16
17

PIN15
PIN16
COM3

--Digital
Out--Digital In

Do not connect
GND
VDD
Bootloader
mode
select pin (active
low)Protocol select pin 1
Protocol select pin 2
Debugger interface
Debugger interface
External capacitor
Bootloaderindicator
Reset pin (activelow)
Do not connect
Do not connect
Interrupt output

18

COM2

Digital I/O

19

COM1

Digital I/O

20

COM0

Digital I/O

21
22
23
24
25
26

PIN21
PIN22
PIN23
PIN24
GNDIO
XOUT32

27
28

XIN32
VDDIO

----Ground
DigitalOut
Digital In
SupplyBST-BNO055-DS000-18 | Revision 1.8 | October 2021

Do not connect
Do not connect
Digital interface pin
3
Digital interface pin
2Digital interface pin
1Digital interface pin
0
Do not connect
Do not connect
Do not connect
Do not connect
GNDIO
Optional OSC port
Optional OSC port
VDDIO

Function
I2C
UART
HID-I2C
DNC
GND
VDD
nBOOT_LOAD_PIN

GNDIO
GNDIO

VDDIO
GNDIO
SWDIO
SWCLK
CAP
DNC

GNDIO
VDDIO

nRESET
DNC
DNC
Interrupt

I2C
address
select

DNC
DNC
GNDIO

GNDIO

GNDIO
SCL

Rx

SCL

SDA

Tx

SDA

DNC
DNC
DNC
DNC
GNDIO
OSC Output
OSC Input
VDDIO

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 107

5.2 Connection diagram I2C
Figure 9: I2C connection diagram
VDDIO VDD

Optional
OSC input

RPULL

Optional
OSC input

SDA

PIN21

COM0

20

GNDIO
25

21

XOUT32
26

PIN22

XIN32
27

PIN23

VDDIO
28

PIN24

PIN1

Pull-up

1

120nF

22

23

24

10kΩ

RPULL
GND
100nF
VDD
nBOOT_LOAD_PIN

2

19

BNO 055

3

18

Top View
4

17

COM1

SCL

COM2
COM3

I²C_ADDR_SEL(Pads not visible!)
5

7

8

9

10

11

12

13

14

15

SWDIO

SWCLK

CAP

PIN10

nRESET

PIN12

PIN13

INT

PIN15

Optional
10kΩ

1uF

6

16

PS0

(GNDIO)

PS1

PIN16

INT
BL_INDnRESET
Optional
Debugger
Connection

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 108

5.3 Connection diagram UART
Figure 10: UART connection diagram
VDDIO VDD

Optional
OSC input

Optional
OSC input

TX

COM0

GNDIO
25

PIN21

XOUT32
26

PIN22

XIN32
27

PIN23

VDDIO
28

PIN24

PIN1

Pull-up

1

120nF

GND
100nF
VDD
nBOOT_LOAD_PIN

2

20

21

22

23

24

10kΩ

19

BNO 055

3

18

Top View
4

17

COM1

RX

COM2
COM3

(Pads not visible!)
5

6

7

8

9

10

11

12

13

14

15

SWDIO

SWCLK

CAP

PIN10

nRESET

PIN12

PIN13

INT

PIN15

16

PS0

(GNDIO)

PS1

PIN16

1uF

INT
Optional
10kΩ

BL_INDnRESET
Optional
Debugger
Connection

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 109

5.4 Connection diagram HID-I2C

Figure 11 : HID via IC connection diagram
VDDIO VDD

Optional
OSC input

RPULL

Optional
OSC input

SDA

PIN21

COM0

21

20

PIN22
22

PIN23

GNDIO
25

23

XOUT32
26

PIN24

XIN32
27

24

VDDIO
28

10kΩ

PIN1

Pull-up

1

120nF

RPULL
GND
100nF
VDD
nBOOT_LOAD_PIN

2

19

BNO 055

3

18

Top View
4

17

COM1

SCL

COM2
COM3

(Pads not visible!)
5

12

13

14

15

PIN13

INT

PIN15

10

PIN10

PIN12

9

CAP

11

8

SWCLK

nRESET

7

SWDIO

Optional
10kΩ

1uF

6

16

PS0

(GNDIO)

PS1

PIN16

INT
BL_INDnRESET
Optional
Debugger
Connection

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 110

5.5 XOUT32 & XIN32 Connections
The BNO055 can run from an internal or external 32 KHz clock source. By default, the internal
clock is selected.
An External clock can be selected by setting bit CLK_SEL in the SYS_TRIGGER register. It is
recommended to only trigger the clock selection in config mode. An external 32 KHz crystal
oscillator has to be connected to the pins XIN32 and XOUT32 as shown below.
To get the best performance out of BNO055, it is recommended to use the external crystal.
The typical 32KHz crystal voltage amplitude to be around 500-700mV.
5.5.1 External 32kHz Crystal Oscillator

Figure 12 : External 32kHz Crystal Oscillator with Load Capacitor

Table 5-2: Crystal Oscillator Source Connections
Pin Name
XIN32
XOUT32

Recommended Pin Connection
Load capacitor 22pF910
Load capacitor 22pF910

Description
Timer oscillator input
Timer oscillator output

When switching to the external clock source, the BNO055 will check for integrity of the crystal’s
signal. In case of improper signal (e.g. crystal damaged, broken/missing…), the BNO055 willautomatically switch back to its internal clock source and clear the CLK_SEL bit in
SYS_TRIGGER register.
It takes minimum ~600ms to configure the external crystal and startup the BNO055.
How to detect the external crystal is started and running:• Poll the bit ST_MAIN_CLK in the register SYS_CLK_STATUS till it becomes cleared.
9

These values are given only as typical example.
Decoupling capacitor should be placed close to the device for each supply pin pair in the signal group.

10

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet•

Page 111

Then read the bit CLK_SEL in the register SYS_TRIGGER which will be set if
external crystal is configured successfully otherwise the internal crystal is configured
and CLK_SEL bit is cleared due to some error with external crystal.

5.5.2 Internal clock mode
The internal clock can be selected by clearing bit CLK_SEL in the SYSTEM_TRIGGER
register. When an internal clock is used, both pins XIN32 and XOUT32 can be left open. Theinternal clock of the BNO055 can have clock deviation up to +3%

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 112

6. Package
6.1 Outline dimensions
The sensor package is a standard LGA package; dimensions are shown in the following
diagram. Units are in mm. Note: Unless otherwise specified tolerance = decimal ±0.1mm.
The chapter 3.4 provides information regarding the sensor axis orientation.

Figure 13: Outline dimensions

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 113

6.2 Marking
Table 6-1: Marking of mass production parts
Labeling



701
TTTT
CCC

Name
Pin 1 identifier

Symbol

Product number

701

Second Row

T

3 numeric digits, internal
identification for product typeInternal use

Third RowC

Numerical counter•

Remark
---6.3 Soldering Guidelines
The moisture sensitivity level of the BNO055 sensors corresponds to JEDEC Level 1, see also-

IPC/JEDEC J-STD-020E"Joint Industry Standard: Moisture/Reflow Sensitivity
Classification for non-hermetic Solid State Surface Mount Devices"
IPC/JEDEC J-STD-033D "Joint Industry Standard: Handling, Packing, Shipping and Useof Moisture/Reflow Sensitive Surface Mount Devices"

The sensor fulfils the lead-free soldering requirements of the above-mentioned IPC/JEDEC
standard, i.e. reflow soldering with a peak temperature up to 260°C.

6.4 Handling instructions
Micromechanical sensors are designed to sense acceleration with high accuracy even at low
amplitudes and contain highly sensitive structures inside the sensor element. The MEMS
sensor can tolerate mechanical shocks up to several thousand g's. However, these limits might
be exceeded in conditions with extreme shock loads such as e.g. hammer blow on or next tothe sensor, dropping of the sensor onto hard surfaces etc.
We recommend avoiding g-forces beyond the specified limits during transport, handling andmounting of the sensors in a defined and qualified installation process.
This device has built-in protections against high electrostatic discharges or electric fields (e.g.
2kV HBM); however, anti-static precautions should be taken as for any other CMOS
component. Unless otherwise specified, proper operation can only occur when all terminal
voltages are kept within the supply voltage range. Unused inputs must always be tied to adefined logic voltage level.
For more details on recommended handling, soldering and mounting please contact your local
Bosch Sensortec sales representative and ask for the “Handling, soldering and mounting
instructions” document.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 114

6.5 Tape and reel specification
The BNO055 is shipped in a standard cardboard box. For details please refer to the ‘Shipment
packaging details’ document.

6.6 Environmental safety
The BNO055 sensor meets the requirements of the EC restriction of hazardous substances(RoHS) directive, see also:
RoHS–Directive 2011/65/EU and its amendments, including the amendment
2015/863/EU on the restriction of the use of certain hazardous substances inelectrical and electronic equipment.

6.6.1 Halogen content
The BNO055 is halogen-free. For more details on the analysis results please contact yourBosch Sensortec representative.

6.6.2 Internal package structure
Within the scope of Bosch Sensortec’s ambition to improve its products and secure the mass
product supply, Bosch Sensortec qualifies additional sources (e.g. 2nd source) for the LGA
package of the BNO055.
While Bosch Sensortec took care that all of the technical packages parameters are describedabove are 100% identical for all sources, there can be differences in the chemical content andthe internal structural between the different package sources.
However, as secured by the extensive product qualification process of Bosch Sensortec, thishas no impact to the usage or to the quality of the BNO55 product.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 115

7. Legal disclaimer
7.1 Engineering samples
Engineering Samples are marked with an asterisk (*), (E) or (e). Samples may vary from thevalid technical specifications of the product series contained in this data sheet. They are
therefore not intended or fit for resale to third parties or for use in end products. Their sole
purpose is internal client testing. The testing of an engineering sample may in no way replace
the testing of a product series. Bosch Sensortec assumes no liability for the use of engineering
samples. The Purchaser shall indemnify Bosch Sensortec from all claims arising from the useof engineering samples.

7.2 Product use
Bosch Sensortec products are developed for the consumer goods industry. They may only be
used within the parameters of this product data sheet. They are not fit for use in life-sustainingor safety-critical systems. Safety-critical systems are those for which a malfunction is expected
to lead to bodily harm, death or severe property damage. In addition, they shall not be useddirectly or indirectly for military purposes (including but not limited to nuclear, chemical or
biological proliferation of weapons or development of missile technology), nuclear power, deepsea or space applications (including but not limited to satellite technology).
Bosch Sensortec products are released on the basis of the legal and normative requirements
relevant to the Bosch Sensortec product for use in the following geographical target market:
BE, BG, DK, DE, EE, FI, FR, GR, IE, IT, HR, LV, LT, LU, MT, NL, AT, PL, PT, RO, SE, SK, SI,
ES, CZ, HU, CY, US, CN, JP, KR, TW. If you need further information or have further
requirements, please contact your local sales contact.
The resale and/or use of Bosch Sensortec products are at the purchaser’s own risk and his
own responsibility. The examination of fitness for the intended use is the sole responsibility ofthe purchaser.
The purchaser shall indemnify Bosch Sensortec from all third party claims arising from any
product use not covered by the parameters of this product data sheet or not approved by Bosch
Sensortec and reimburse Bosch Sensortec for all costs in connection with such claims.
The purchaser accepts the responsibility to monitor the market for the purchased products,
particularly with regard to product safety, and to inform Bosch Sensortec without delay of all
safety-critical incidents.

7.3 Application examples and hints
With respect to any examples or hints given herein, any typical values stated herein and/or
any information regarding the application of the device, Bosch Sensortec hereby disclaims any
and all warranties and liabilities of any kind, including without limitation warranties of noninfringement of intellectual property rights or copyrights of any third party. The information
given in this document shall in no event be regarded as a guarantee of conditions or
characteristics. They are provided for illustrative purposes only and no evaluation regarding
infringement of intellectual property rights or copyrights or regarding functionality, performanceor error has been made.

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet

Page 116

8. Document history and modifications
Rev.
No
0.1
0.2
0.9
1.0

1.1

1.2

1.3

1.4

Chapter

Date

Initial version
2013-09-02
Completely revised version (BMF055 added)
2013-10-15
Preliminary version with feature set of Firmware
2014-04-25
version 0.2.B.0
Complete review
2014-07-11
Rearrangement of subsections in chapter 3 for better
3
readability.
Table 3.1 is updated for better readability and all the
3.3
operation modes are elaborated
3.11
Chapter on calibration included
2014-11-05
3.7, 3.10
Update4.2
The default value of the UNIT_SEL register is updated
4.6
I2C communication example figures are updated.
5.1, 5.2, 5.3, Included table 5.1 Pin description.
5.4
Connection diagram updated
5
Updated pin description and connection diagram
6.1
Updated outline dimensions
Chapter removed and the respective information is 2014-11-30
6.2
updated in the Handling, soldering and mounting
instructions application note.
1.1
Supply current in low power mode is updated
1.2
Table 0-2 is updated for POR time description
3.5
Accelerometer restrictions updated in table 3.8
New section called ‘Data Register Shadowing’ is 2015-08-19
3.7
included to explain the concept shadowing
The SMNM bit field for Slow motion and no motion
4.4.15
updated in the register description
1.1
Representation of voltage in the table 0-1 is updated
2
The max value for ESD is updated
ACC_Sleep_Config register is updated for
2016-06-02
4.4.6
Accelerometer Sleep Phase Duration
Table 5-1: Pin description together with all the 3
5.1
connection diagrams are updated.
2
Removed preliminary wording
3.2
3.3.3
3.5.1

1.5

Description of modification/changes

3.6.1
3.6.4.1
3.6.4.3
3.6.4.4
3.6.4.4
3.6.5.6
3.8.2.1
3.9.2

Added recommendation to avoid invalid power mode
Added notes on sensor fusion limitations
Clarified sensor config is only available in non-fusion
mode
Minor corrections to units

2019-07-30

Changed offset range definition
Minor corrections
Added note on integration
Added Data Ready interrupt
Updated Self-test result readout

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.

BNO055
Data sheet
3.11.4, 4
4.2.1
4.3.x
5.5
7
1.6

5.1
5.2, 5.3, 5.4

1.7
1.8

7
6.6

Page 117

Added Soft-Iron calibration description-Updated default values-Aded Data-Ready interrupt-Fixed minor mistakes-update pre-programmed software revision to 3.11
Added missing default values
Added more information on external crystal
Legal disclaimer update- Updated recommendation for pin 15 and 16- Added SWD interface description for debugger- Updated connection diagrams
New legal disclaimer
Update of ROHS directive

2020-02-19
2020-11-24
2021-10-19

Bosch Sensortec GmbHGerhard-Kindler-Strasse 972770 Reutlingen / Germany
contact@bosch-sensortec.com
www.bosch-sensortec.com
Modifications reserved | Printed in Germany
Specifications subject to change without notice
Document number: BST-BNO055-DS000-18
Revision_1.8_20201019

BST-BNO055-DS000-18 | Revision 1.8 | October 2021

Bosch Sensortec© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such as copying and passing onto third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.