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.4 Document release date June 2016 Document number BST-BNO055-DS000-14 Technical reference code(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 BNO055 INTELLIGENT ABSOLUTE ORIENTATION SENSOR, 9-AXIS SENSOR FUSION ALL-IN-ONE WINDOWS 8.
BNO055 Data sheet Gyroscope features Programmable functionality On-chip interrupt controller Magnetometer features Flexible functionality Page 3 Ranges 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 resolut
BNO055 Data sheet Page 4 General 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 and a 32-bit cortex M0+ microcontroller running Bosch Sensortec sensor fusion software, in a single package. The corresponding chip-sets are integrated into one single 28-pin LGA 3.8mm x 5.2mm x 1.1 mm housing.
BNO055 Data sheet Page 5 Contents BASIC DESCRIPTION ........................................................................................................... 2 SPECIFICATION.................................................................................................................. 12 1.1 ELECTRICAL SPECIFICATION .......................................................................................... 12 1.2 ELECTRICAL AND PHYSICAL CHARACTERISTICS, MEASUREMENT PERFORMANCE ................ 13 2.
BNO055 Data sheet Page 6 4. REGISTER DESCRIPTION .............................................................................................. 49 4.1 GENERAL REMARKS ...................................................................................................... 49 4.2 REGISTER MAP ............................................................................................................. 50 4.2.1 REGISTER MAP PAGE 0 .................................................................................
BNO055 Data sheet Page 7 4.3.51 GRV_DATA_Z_LSB 0X32 ................................................................................................... 66 4.3.52 GRV_DATA_Z_MSB 0X33 .................................................................................................. 66 4.3.53 TEMP 0X34 ......................................................................................................................... 67 4.3.54 CALIB_STAT 0X35..............................................................
BNO055 Data sheet Page 8 4.4.19 GYR_HR_Y_SET 0X1A ...................................................................................................... 86 4.4.20 GYR_DUR_Y 0X1B ............................................................................................................. 86 4.4.21 GYR_HR_Z_SET 0X1C ...................................................................................................... 87 4.4.22 GYR_DUR_Z 0X1D ..................................................................
BNO055 Data sheet Page 9 Table of Figures Figure 1: system architecture ...............................................................................................18 Figure 2: Principle of any-motion detection ...........................................................................40 Figure 3: High rate interrupt ..................................................................................................42 Figure 4: Principle of any-motion detection ...........................................
BNO055 Data sheet Page 10 List of Tables Table 0-1: Electrical parameter specification ........................................................................12 Table 0-2: Electrical characteristics BNO055........................................................................13 Table 2-1: Absolute maximum ratings (preliminary target values) .........................................17 Table 3-1: power modes selection ........................................................................................
BNO055 Data sheet Page 11 Table4-3: Register Map Page 1 ............................................................................................53 Table 4-4: protocol select pin mapping .................................................................................89 Table 4-5: Mapping of digital interface pins ..........................................................................89 Table 4-6: Electrical specification of the interface pins.........................................................
BNO055 Data sheet Page 12 Specification If not stated otherwise, the given values are over lifetime and full performance temperature and voltage ranges, minimum/maximum values are ±3 sigma. 1.1 Electrical specification Table 0-1: Electrical parameter specification OPERATING CONDITIONS BNO055 Parameter Symbol Condition 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.
BNO055 Data sheet Page 13 1.
BNO055 Data sheet Page 14 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/Hz MECHANICAL CHARACTERISTICS ACCELEROMETER Symbol Condition 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.
BNO055 Data sheet Bandwidth BW f Page 15 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 1 Magnetic field range Symbol Condition Min Typ Brg,xy TA=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.
BNO055 Data sheet Output Noise Power Supply Rejection Rate Page 16 nrms,lp,m,xy Low power preset x, 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,m Regular preset TA=25°C Nominal VDD supplies 0.6 µT nrms,eh,m Enhanced regular preset TA=25°C Nominal VDD supplies 0.5 µT nrms,ha,m High accuracy preset TA=25°C Nominal VDD supplies 0.3 µT PSRRm TA=25°C Nominal VDD supplies ±0.
BNO055 Data sheet Page 17 2. Absolute Maximum Ratings Table 2-1: Absolute maximum ratings (preliminary target values) Parameter Symbol Voltage 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 V Passive Storage Temp. Range Trps ≤ 65% rel. H. -50 +150 °C Mechanical Shock MechShock200µs Duration ≤ 200µs 10,000 g MechShock1ms Duration ≤ 1.0ms 2,000 g MechShockfreefall Free fall onto hard surfaces 1.
BNO055 Data sheet Page 18 3. Functional Description 3.1 Architecture The following figure shows the basic building blocks of the BNO055 device. Figure 1: system architecture 3.
BNO055 Data sheet Page 19 Power Modes The BNO055 support three different power modes: Normal mode, Low Power Mode, and Suspend mode. The power mode can be selected by writing to the PWR_MODE register as defined in the table below. As default at start-up the BNO055 will run in Normal mode. Table 3-1: power modes selection Parameter Value Power Mode [Reg Addr]: Reg Value Normal Mode [PWR_MODE]: xxxxxx00b Low Power Mode [PWR_MODE]: xxxxxx01b Suspend Mode [PWR_MODE]: xxxxxx10b 3.2.
BNO055 Data sheet Page 20 3.2.3 Suspend Mode In 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 suspend mode 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 the appropriate operation mode.
BNO055 Data sheet Page 21 The BNO055 sets the following default settings for the sensors. The user can overwrite these settings in the register map when in CONFIGMODE. Table 3-4: Default sensor settings Sensor Range Bandwidth Accelerometer 4G 62.5 Hz Magnetometer NA 10 Hz Gyroscope 2000 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.
BNO055 Data sheet Page 22 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.
BNO055 Data sheet Page 23 3.3.3.1 IMU (Inertial Measurement Unit) In the IMU mode the relative orientation of the BNO055 in space is calculated from the accelerometer and gyroscope data. The calculation is fast (i.e. high output data rate). 3.3.3.2 COMPASS The COMPASS mode is intended to measure the magnetic earth field and calculate the geographic direction. The earth magnetic field is a vector with the horizontal components x,y and the vertical z component.
BNO055 Data sheet Page 24 3.4 Axis remap The device mounting position should not limit the data output of the BNO055 device. The axis of the device can be re-configured to the new reference axis.
BNO055 Data sheet Page 25 Some example placement for axis vs. register settings: P0 P1 P2 P3 P6 P7 TOP VIEW P4 P5 BOTTOM VIEW Z X Y Z X Y 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-14 | Revision 1.
BNO055 Data sheet Page 26 3.5 Sensor Configuration The fusion outputs of the BNO055 are tightly linked with the sensor configuration settings. Due to this fact, the sensor configuration is limited when BNO055 is configured to run in any of the fusion 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.
BNO055 Data sheet Page 27 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.
BNO055 Data sheet Page 28 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.
BNO055 Data sheet Page 29 3.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.
BNO055 Data sheet Page 30 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.
BNO055 Data sheet Page 31 3.6.3 Fusion Output data rates Table 3-14: Fusion output data rates Data input rate Data output rate Accel Mag Gyro Algo calling rate IMU 100Hz NA 100Hz 100Hz 100Hz NA 100Hz Fusion data 100Hz COMPASS 20Hz 20Hz NA 20Hz 20Hz 20Hz NA 20Hz M4G 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 Gyro 3.6.
BNO055 Data sheet Page 32 3.6.4.2 Magnetometer offset The magnetometer offset can be configured in the following registers, 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).
BNO055 Data sheet Page 33 Table 3-21: Gyroscope range settings Gyroscope dps range 2000 1000 500 250 125 Maximum Offset range in LSB +/- 32000 +/- 16000 +/- 8000 +/- 4000 +/- 2000 Table 3-22: Gyroscope unit settings Unit Representation Dps 1 Dps = 16 LSB Rps 1 Rps = 900 LSB 3.6.4.
BNO055 Data sheet Page 34 Table 3-25: Acceleration data Parameter Data type bytes Accel_Data_X signed 2 Accel_Data_Y signed 2 Accel_Data_Z signed 2 3.6.5.2 Magnetic Field Strength In non-fusion mode uncompensated field strength data for each axis X/Y/Z, can be read from the appropriate MAG_DATA__LSB and MAG_DATA__MSB registers.
BNO055 Data sheet Page 35 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_LSB and EUL__MSB registers. Refer table below for information regarding the data types and the unit representation for the Euler angle format.
BNO055 Data sheet Page 36 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 be read from the appropriate LIA_DATA__LSB and LIA_DATA__MSB registers.
BNO055 Data sheet Page 37 3.6.5.8 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 selected by writing to the TEMP_SOURCE register as detailed below.
BNO055 Data sheet Page 38 3.8 Interrupts 3.8.1 Interrupt Pin INT is configured as interrupt pin for signaling an interrupt to the host. The interrupt trigger is configured 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.
BNO055 Data sheet Page 39 Table 3-39: No-motion time-out periods Delay time 1s 2s 3s ... 15 s 16 s slo_no_mot_dur 0 1 2 ... 14 15 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 ...
BNO055 Data sheet Axis selection Page 40 X-axis [ACC_INT_Settings]: xxxxx1xxb Y-axis [ACC_INT_Settings]: xxxx1xxxb Z-axis [ACC_INT_Settings]: xxx1xxxxb 3.8.2.2 Accelerometer Any Motion Interrupt The any-motion interrupt uses the slope between successive acceleration signals to detect changes in motion. An interrupt is generated when the slope (absolute value of acceleration difference) exceeds a preset threshold. It is cleared as soon as the slope falls below the threshold.
BNO055 Data sheet Page 41 Example: AM_DUR = 00b, …, 11b = 1decimal, …, 4decimal. BST-BNO055-DS000-14 | Revision 1.4 | June 2016 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 on to 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 42 Enabling (disabling) for each axis: Any-motion detection can be enabled (disabled) for each axis separately by writing ´1´ (´0´) to bits 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.
BNO055 Data sheet Page 43 3.8.2.4 Gyroscope High Rate Interrupt This interrupt is based on the comparison of angular rate data against a high-rate threshold for the detection of shock or other high-angular rate events.
BNO055 Data sheet Page 44 Table 3-43: High Rate Interrupt parameters and Axis selection Params Axis 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]: bi
BNO055 Data sheet Page 45 3.8.2.5 Gyroscope Any Motion Interrupt Any-motion (slope) detection uses the slope between successive angular rate signals to detect changes 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 the threshold. The principle is made clear in Figure 4.
BNO055 Data sheet Page 46 3.8.2.6 Enabling (disabling) for each axis Any-motion detection can be enabled (disabled) for each axis separately by writing ´1´ (´0´) to bits 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.
BNO055 Data sheet Page 47 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 the connected sensors and microcontroller are responding / functioning correctly.
BNO055 Data sheet Page 48 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, some preliminary 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.
BNO055 Data sheet Page 49 3.11.4 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 the above section). However, once the sensor enters the internal calibration routine, the calibration profile is overwritten with the newly obtained sensor offsets and sensor radius.
BNO055 Data sheet Page 50 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 specific value is guaranteed when read. It is recommended not to use registers at all which are completely marked as ‘reserved’.
BNO055 Data sheet Page 51 4.2 Register map The register map is separated into two logical pages, Page 1 contains sensor specific configuration 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.
BNO055 Data sheet Register Address 42 41 40 Register Name AXIS_MAP_SI GN AXIS_MAP_CO NFIG TEMP_SOURC E 3F SYS_TRIGGER Default Value bit7 bit6 bit5 Page 52 bit4 TBD Remapped Z axis value TBD bit3 bit2 0x02 0x00 CLK_S EL RST_IN T RST_S YS Self_Test 3E PWR_MODE 0x00 OPR_MODE 0x1C 3C Reserved 0xFF 3B UNIT_SEL 0x80 3A SYS_ERR 0x00 System Error Code 39 SYS_STATUS SYS_CLK_STA TUS 0x00 System Status Code 37 INT_STA 0x00 36 ST_RESULT 0x0F CALIB_STAT 0x00 34 TEMP GRV_Dat
BNO055 Data sheet Register Address 1E Default Value EUL_Pitch_LSB 0x00 Register Name bit7 bit6 bit5 Page 53 bit4 bit3 bit2 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 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_ LSB Pag
BNO055 Data sheet Page 54 4.2.2 Register map Page 1 Table4-3: Register Map Page 1 Register Address 7F-60 Register Name Reserved Default Value 0x00 5F - 50 UNIQUE_ID n.a.
BNO055 Data sheet Page 55 4.3 Register description (Page 0) 4.3.1 CHIP_ID 0x00 Access Reset 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.
BNO055 Data sheet Page 56 4.3.5 SW_REV_ID_LSB 0x04 Access Reset bit7 r bit6 r bit5 r Content bit4 r bit3 r bit2 r bit1 r bit0 r 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 programmed on microcontroller 4.3.
BNO055 Data sheet Page 57 4.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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 58 4.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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 59 4.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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 60 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 61 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 62 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 63 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 64 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 65 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 66 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 Access Reset 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 67 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 be changed by updating the Operation Mode in the OPR_MODE register, see section 3.3 4.3.
BNO055 Data sheet Page 68 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 Access Reset 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 be selected by updating the TEMP_SOURCE register, see section 3.6.5.8 4.3.
BNO055 Data sheet Page 69 4.3.
BNO055 Data sheet Page 70 4.3.
BNO055 Data sheet Page 71 4.3.61 OPR_MODE 0x3D bit7 bit6 bit5 bit4 Access bit3 bit2 bit1 bit0 r/w r/w r/w r/w Reset 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 section 3.3 for details 4.3.
BNO055 Data sheet Page 72 4.3.65 AXIS_MAP_CONFIG 0x41 bit7 bit6 Access bit5 bit4 bit3 bit2 bit1 bit0 r/w r/w r/w r/w r/w r/w Reset Content Reserved DATA Remapped Z axis value Remapped Y axis value Remapped X axis value Remapped Z axis value Remapped Y 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.
BNO055 Data sheet Page 73 4.3.68 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 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.
BNO055 Data sheet Page 74 4.3.72 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 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.
BNO055 Data sheet Page 75 4.3.76 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 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.
BNO055 Data sheet Page 76 4.3.80 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 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.
BNO055 Data sheet Page 77 4.3.84 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 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.
BNO055 Data sheet Page 78 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.
BNO055 Data sheet Page 79 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 reserved DATA GYR_Bandwidth <2:0> GYR_Range <2:0> GYR_Bandwidth <2:0> bits <5:3> 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.
BNO055 Data sheet Page 80 4.4.6 ACC_Sleep_Config 0x0C bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 r/w r/w r/w r/w r/w r/w r/w r/w Access Reset Content reserved DATA SLP_DURATION <3:0> bits <4:1> SLP_MODE 0 SLP_DURATION <3:0> SLP_MOD E Description Write: The sleep duration for accelerometer low power mode can be only configured in the sensor operation mode where no fusion library is running. Following sleep phase duration is possible to set.
BNO055 Data sheet Page 81 4.4.7 GYR_Sleep_Config 0x0D bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 r/w r/w r/w r/w r/w r/w r/w r/w Access Reset 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.
BNO055 Data sheet Page 82 4.4.
BNO055 Data sheet Page 83 4.4.
BNO055 Data sheet Page 84 4.4.
BNO055 Data sheet Page 85 4.4.14 ACC_NM_THRES 0x15 bit7 Access Reset r/w 0 bit6 bit5 bit4 bit3 bit2 bit1 bit0 r/w r/w 0 r/w 0 r/w 1 r/w 0 r/w 1 r/w 0 0 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.
BNO055 Data sheet Page 86 4.4.
BNO055 Data sheet Page 87 4.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.
BNO055 Data sheet Page 88 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 Access Reset 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.
BNO055 Data sheet Page 89 4.4.
BNO055 Data sheet Page 90 4.5 Digital Interface The BNO055 supports two digital interfaces for communication between the salve and host device: 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.
BNO055 Data sheet Page 91 4.6 I2C Protocol The I²C bus uses SCL (= SCx pin, serial clock) and SDA (= SDx pin, serial data input and output) signal lines. Both lines are connected to VDDIO externally via pull-up resistors so that they 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 (19 June 2007), available at http://www.nxp.com. The BNO055 supports I²C standard mode and fast mode, only 7-bit address mode is supported.
BNO055 Data sheet Page 92 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 tHDSTA tHDDAT tSUDAT SDA tSUSTA tSUSTO 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.
BNO055 Data sheet Page 93 and waits for the 8 bits of data which shall be written to the specified register address. After the slave acknowledges the data byte, the master generates a stop signal and terminates the writing protocol. 1 0 1 0 0 0 A x ACKS 0 Register address (0x00 ..
BNO055 Data sheet Page 94 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 <..
BNO055 Data sheet Page 95 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 the device and the host.
BNO055 Data sheet Page 96 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-14 | Revision 1.4 | June 2016 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 on to third parties.
BNO055 Data sheet Page 97 Table 5-1: Pin description Pin # Name I/O Type Description I2C 1 2 3 4 PIN1 GND VDD nBOOT_LOAD_PIN -Ground Supply Digital In 5 PS1 Digital In 6 PS0 Digital In 7 8 9 10 PIN7 PIN8 CAP BL_IND 11 nRESET ---Digital Out -- 12 13 14 PIN12 PIN13 INT 15 16 17 PIN15 PIN16 COM3 --Digital Out Ground Ground Digital In 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 ----Grou
BNO055 Data sheet Page 98 5.2 Connection diagram I2C Figure 9: I2C connection diagram VDDIO VDD 6.
BNO055 Data sheet Page 99 5.3 Connection diagram UART Figure 10: UART connection diagram VDDIO VDD 6.
BNO055 Data sheet Page 100 5.4 Connection diagram HID-I2C Figure 11 : HID via IC connection diagram VDDIO VDD 6.
BNO055 Data sheet Page 101 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 SYSTEM_TRIGGER register. 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. 5.5.
BNO055 Data sheet Page 102 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.5 provides information regarding the sensor axis orientation. Figure 13: Outline dimensions BST-BNO055-DS000-14 | Revision 1.4 | June 2016 Bosch Sensortec © Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights.
BNO055 Data sheet Page 103 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 type Internal use Third Row C Numerical counter • Remark --- 6.
BNO055 Data sheet Page 104 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.
BNO055 Data sheet Page 105 7. Legal disclaimer 7.1 Engineering samples Engineering Samples are marked with an asterisk (*) or (e) or (E). Samples may vary from the valid 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.
BNO055 Data sheet Page 106 8. Document history and modifications Rev. No 0.1 0.2 0.9 1.0 1.1 1.2 1.3 1.4 Chapter Description of modification/changes Date Initial version Completely revised version (BMF055 added) Preliminary version with feature set of Firmware version 0.2.B.0 Complete review 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 3.7, 3.