BMI088 6-axis Motion Tracking for High-performance Applications BMI088: Data Sheet Document revision 1.3 Document release date May 2018 Document number BST-BMI088-DS001-13 Technical reference code 0 273 141 365 Notes Data and descriptions in this document are subject to change without notice.
Bosch Sensortec | BMI088 Data sheet 2 | 48 Basic Description BMI088 is an inertial measurement unit (IMU) for the detection of movements and rotations in 6 degrees of freedom (6DoF). It combines the functionality of two inertial sensors in one device: an advanced triaxial 16-bit gyroscope and a versatile, leading-edge triaxial 16-bit accelerometer.
Bosch Sensortec | BMI088 Data sheet 3 | 48 Index of Contents Basic Description ...................................................................................................................................2 1. Specification ......................................................................................................................................6 1.1 Electrical Specifications .............................................................................................................
Bosch Sensortec | BMI088 Data sheet 4 | 48 4.8 Soft-Reset ................................................................................................................................ 17 5. Register Maps ................................................................................................................................. 18 5.1 Communication with the sensor .............................................................................................. 18 5.2 Register Map: Accelerometer .....
Bosch Sensortec | BMI088 Data sheet 5 | 48 5.5.9 Register 0x16: INT3_INT4_IO_CONF .................................................................... 30 5.5.10 Register 0x18: INT3_INT4_IO_MAP ...................................................................... 30 5.5.11 Register 0x3C: GYRO_SELF_TEST ...................................................................... 31 6. Digital Interface...............................................................................................................
| 48 Bosch Sensortec | BMI088 Data sheet 1. Specification If not stated otherwise, the given values are over lifetime and full performance temperature and voltage ranges, minimum/maximum values are ±3σ. 1.1 Electrical Specifications Table 1: Electrical parameter specification Parameter Symbol Supply Voltage Internal Domains Condition Min Max Unit VDD 2.4 3.6 V Supply Voltage I/O Domain VDDIO 1.2 3.6 V Voltage Input Low Level VIL,a SPI & I²C 0.
| 48 Bosch Sensortec | BMI088 Data sheet Electrical Specifications: Accelerometer/Gyroscope Table 2: Electrical parameter specification accelerometer Parameter Symbol Condition Min Typ Max Total Supply Current in Normal mode IDD VDD = VDDIO =3.0V, 25°C, gFS4g 150 µA Total Supply Current in Suspend Mode IDDsum VDD = VDDIO =3.
| 48 Bosch Sensortec | BMI088 Data sheet 1.2 Accelerometer Specifications Table 4: Accelerometer specifications Parameter Symbol Acceleration Range gFS3g gFS6g gFS12g Condition Min Selectable via serial digital interface gFS24g Sensitivity Typ Max Units ±3 g ±6 g ±12 g ±24 g S3g gFS3g, TA=25°C 10920 LSB/g S6g gFS6g, TA=25°C 5460 LSB/g S12g gFS12g, TA=25°C 2730 LSB/g S24g gFS24g, TA=25°C 1365 LSB/g 0.002 %/K 20 mg <0.
| 48 Bosch Sensortec | BMI088 Data sheet 1.3 Gyroscope Specifications Table 5: Gyroscope specifications Parameter Symbol Range RFS125 Condition Min Typ Max Unit 125 °/s 250 °/s 500 °/s RFS1000 1000 °/s RFS2000 2000 °/s Ta=25°C, RFS125 262.144 LSB/°/s Ta=25°C, RFS250 131.072 LSB/°/s Ta=25°C, RFS500 65.536 LSB/°/s Ta=25°C, RFS1000 32.768 LSB/°/s Ta=25°C, RFS2000 16.
| 48 Bosch Sensortec | BMI088 Data sheet 523 230 116 64 47 32 23 12 Hz Data rate (set of x,y,z rate) 2000 1000 400 200 100 Hz Data rate tolerance (set of x,y,z rate) ±0.3 % ±1 % Bandwidth BW f-3dB Cross Axis Sensitivity 1.
| 48 Bosch Sensortec | BMI088 Data sheet 1.5 Absolute Maximum Ratings Table 7: Absolute maximum ratings Parameter Condition Min Max Units Voltage at Supply Pin VDD Pin -0.3 4 V VDDIO Pin -0.3 4 V Voltage at any Logic Pin Non-Supply Pin -0.3 VDDIO+0.3 V Passive Storage Temp. Range ≤ 65% rel. H. -50 +150 °C Duration ≤ 200µs 10,000 g Duration ≤ 1.0ms 2,000 g Free fall onto hard surfaces 1.
Bosch Sensortec | BMI088 Data sheet 12 | 48 2. Block Diagram Figure 1 shows the basic building blocks of the BMI088: Figure 1: Block diagram of BMI088 3. Quick Start Guide – Device Initialization For a proper device initialization, the following steps should be considered: • The user must decide on the interface (I2C or SPI) already during HW design: with the PS pin the user determines which interface the sensor should listen to (see chapter 6).
| 48 Bosch Sensortec | BMI088 Data sheet 4. Functional Description 4.1 Power Management and Power Modes The BMI088 has two distinct power supply pins: • • VDD is the main power supply for the internal blocks VDDIO is a separate power supply pin mainly used for the supply of the interface There are no limitations on the voltage levels of both pins relative to each other, as long as each of them lies within its operating range.
Bosch Sensortec | BMI088 Data sheet 4.1.2 14 | 48 Power Modes: Gyroscope The gyroscope has 3 different power modes. Besides normal mode, which represents the fully operational state of the device, there are 2 energy saving modes: suspend mode and deep-suspend mode. After power-up gyro is in normal mode so that all parts of the device are held powered-up and data acquisition is performed continuously. In suspend mode the whole analog part is powered down. No data acquisition is performed.
| 48 Bosch Sensortec | BMI088 Data sheet 4.3 Sensor Time The accelerometer part of BMI088 has a built-in counter with a width of 24 bits. It increments periodically with a resolution of 39.0625µs. Details can be found in chapter 5.3.5. 4.4 Output Data Rate (ODR) and Low-pass Filter The sensor signals from the acceleration sensor and gyroscope analog front-end are each routed through a low-pass filter. 4.4.
| 48 Bosch Sensortec | BMI088 Data sheet 4.6.1 Accelerometer The self-test feature allows for checking the sensor functionality by applying electrostatic forces to the sensor core instead of external accelerations. By physically deflecting the seismic mass, the entire signal path of the sensor is tested. Activation of the self-test results in a static offset in the acceleration data.
Bosch Sensortec | BMI088 Data sheet 4.7 17 | 48 New Data Interrupt Both accelerometer and gyroscope part offer a new data ready interrupt, which fires whenever a new data sample set is complete and made available in the corresponding sensor data registers. This allows a low latency data readout. 4.7.1 Accelerometer The new data interrupt flag can be found in the register ACC_INT_STAT_1 (bit #7). It is set whenever new data is available in the data registers and cleared automatically.
| 48 Bosch Sensortec | BMI088 Data sheet 5. Register Maps 5.1 Communication with the sensor The entire communication with the device is performed by reading from and writing to registers. Registers have a width of 8 bits; they are mapped to an 8-bit address space. Accelerometer and gyroscope have individual register maps. The selection of the appropriate register map is done on digital interface level by either selecting the corresponding chip select pin (SPI mode) or I2C address (I2C mode).
| 48 Bosch Sensortec | BMI088 Data sheet Register Map: Accelerometer Reg. Addr. Register Name Reset Value 5.
| 48 Bosch Sensortec | BMI088 Data sheet 5.3 5.3.1 Register Description: Accelerometer Register 0x00: ACC_CHIP_ID Bit Access Reset value Description [7:0] RO 0x1E Contains identifier code of acceleration sensor 5.3.2 Register 0x02: ACC_ERR_REG Reports sensor error conditions. Bit Name Access Reset value reserved [7:5] [4:2] error_code RO 0x00 5.3.
| 48 Bosch Sensortec | BMI088 Data sheet Accel_X_in_mg = Accel_X_int16 / 32768 * 1000 * 2^(<0x41> + 1) Accel_Y_in_mg = Accel_Y_int16 / 32768 * 1000 * 2^(<0x41> + 1) Accel_Z_in_mg = Accel_Z_int16 / 32768 * 1000 * 2^(<0x41> + 1) 5.3.5 Register 0x18 – 0x1A: Sensortime data Registers containing the value of the internal 24-bit counter. • Register 0x18 (SENSORTIME_0) contains the lower 8 bits of the counter. This register is incremented every 39.0625 µs.
| 48 Bosch Sensortec | BMI088 Data sheet 5.3.8 Register 0x40: ACC_CONF Accelerometer configuration register. Bit Name Access Reset value Description [7] reserved RW 0x01 This bit must always be ‘1’. [6:4] acc_bwp RW 0x02 This parameter influences the bandwidth of the accelerometer low pass filter. For details, see section 4.4.1.
| 48 Bosch Sensortec | BMI088 Data sheet 5.3.9 Register 0x41: ACC_RANGE Accelerometer range setting register. Bit Name Access Reset value reserved [7:2] [1:0] Description acc_range RW 0x01 This parameter sets the measurement range. Possible values: acc_range Range setting 0x00 ±3g 0x01 ±6g 0x02 ±12g 0x03 ±24g 5.3.10 Register 0x53: INT1_IO_CONF Configures the input/output pin INT1.
| 48 Bosch Sensortec | BMI088 Data sheet 5.3.11 Register 0x54: INT2_IO_CONF Configures the input/output pin INT2. Bit Name Access Reset value Description reserved [7:5] [4] int2_io RW 0x00 Enable INT2 as input pin. [3] int2_out RW 0x00 Enable INT2 as output pin. [2] int2_od RW 0x00 [1] int2_lvl RW int2_od Pin behavior 0x00 Push-pull 0x01 Open-drain int2_lvl Active state 0x00 Active low 0x01 Active high 0x00 reserved [0] 5.3.
| 48 Bosch Sensortec | BMI088 Data sheet 5.3.14 Register 0x7C: ACC_PWR_CONF Switches accelerometer into suspend mode for saving power. In this mode the data acquisition is stopped. Bit Name Access Reset value [7:0] acc_pwr_save RW 0x03 Description acc_pwr_save Filter setting 0x03 Suspend mode 0x00 Active mode 5.3.15 Register 0x7D: ACC_PWR_CTRL Switches accelerometer ON or OFF. Required to do after every reset in order to obtain acceleration values.
| 48 Bosch Sensortec | BMI088 Data sheet Register name Reset value Register Map: Gyroscope Reg. Addr. 5.
| 48 Bosch Sensortec | BMI088 Data sheet 5.5 Register Description: Gyroscope 5.5.1 Register 0x00: GYRO_CHIP_ID Bit Access Reset value Description [7:0] RO 0x0F Contains identifier code of gyroscope. 5.5.2 Register 0x02 – 0x07: Rate data Registers containing the angular velocity sensor output. The sensor output is stored as signed 16-bit number in 2’s complement format in each 2 registers.
| 48 Bosch Sensortec | BMI088 Data sheet 5.5.4 Bit Access Reset value Description [7:0] RW 0x00 Angular rate range and resolution. Possible values: 5.5.5 1 Register 0x0F: GYRO_RANGE gyro_range Full scale [°/s] Resolution 0x00 ±2000 16.384 LSB/°/s 61.0 m°/s / LSB 0x01 ±1000 32.768 LSB/°/s 30.5 m°/s / LSB 0x02 ±500 65.536 LSB/°/s 15.3 m°/s / LSB 0x03 ±250 131.072 LSB/°/s 7.6 m°/s / LSB 0x04 ±125 262.144 LSB/°/s 3.
| 48 Bosch Sensortec | BMI088 Data sheet 5.5.6 Register 0x11: GYRO_LPM1 Selection of the main power modes. Please note that only switching between normal mode and the suspend modes is allowed, it is not possible to switch between suspend and deep suspend and vice versa. Bit Access Reset value Description [7:0] RW 0x00 Switch to the main power modes. 5.5.7 Power mode 0x00 normal 0x80 suspend 0x20 deep suspend Register 0x14: GYRO_SOFTRESET Bit Access Reset value [7:0] W N/A 5.5.
| 48 Bosch Sensortec | BMI088 Data sheet 5.5.9 Register 0x16: INT3_INT4_IO_CONF Sets electrical and logical properties of the interrupt pins.
| 48 Bosch Sensortec | BMI088 Data sheet 5.5.11 Register 0x3C: GYRO_SELF_TEST Built-in self-test of gyroscope. Bit Access Name Reset value Description [4] R rate_ok ‘0’ A value of ‘1’ indicates proper sensor function.
| 48 Bosch Sensortec | BMI088 Data sheet 6. Digital Interface The BMI088 supports two serial digital interface protocols for communication as a slave with a host device: SPI and I²C. The active interface is selected by the state of the Pin#07 (PS) ‘protocol select’ pin: • PS = ´VDDIO´ selects I²C • PS = ´GND´ selects SPI Important: • Please note that in case of SPI protocol the initialization process for the accelerometer part of BMI088 requires some additional steps (see chapter 3).
| 48 Bosch Sensortec | BMI088 Data sheet In order to allow for the correct internal synchronisation of data written to the BMI088, a wait time of at least 2 µs (normal mode) or 1000 µs (suspend mode) must be followed. 6.1 Serial Peripheral Interface (SPI) The behavior of the SPI interface is slightly different between gyroscope part and accelerometer part: • Initialization phase: as described in chapter 3, the interface of the gyroscope part is selected by the level of the PS pin.
| 48 Bosch Sensortec | BMI088 Data sheet The following figure shows the definition of the SPI timings: tCSB_hold tCSB_setup CSB SCK tSCKL tSCKH SDI SDO tSDI_setup tSDI_hold tSDO_OD Figure 2: SPI timing diagram The SPI interface of the BMI088 is compatible with two modes, ´00´ and ´11´. The automatic selection between [CPOL = ´0´ and CPHA = ´0´] and [CPOL = ´1´ and CPHA = ´1´] is controlled based on the value of SCK after a falling edge of CSB (1 or 2). 6.1.
Bosch Sensortec | BMI088 Data sheet 35 | 48 This means that – in contrast to the description in section 6.1.1 – a single byte read operation requires to read 2 bytes in burst mode, of which the first received byte can be discarded, while the second byte contains the desired data. The same applies to burst-read operations. For example, to read the accelerometer values in SPI mode, the user has to read 7 bytes, starting from address 0x12 (ACC data).
| 48 Bosch Sensortec | BMI088 Data sheet Table 13: I²C timings Parameter Symbol Min Max Units Clock Frequency fSCL 400 kHz SCL Low Period tLOW 1.3 SCL High Period tHIGH 0.6 SDA Setup Time tSUDAT 0.1 SDA Hold Time tHDDAT 0.0 Setup Time for a repeated Start Condition tSUSTA 0.6 Hold Time for a Start Condition tHDSTA 0.6 Setup Time for a Stop Condition tSUSTO 0.6 Time before a new Transmission can start tBUF 1.
| 48 Bosch Sensortec | BMI088 Data sheet 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.
| 48 Bosch Sensortec | BMI088 Data sheet I²C read access: I²C read access also can be used to read one or multiple data bytes in one sequence. A read sequence consists of a one-byte I²C write phase followed by the I²C read phase. The two parts of the transmission must be separated by a repeated start condition (Sr). The I²C write phase addresses the slave and sends the register address to be read.
| 48 Bosch Sensortec | BMI088 Data sheet 1 0 0 0 A … A 0 0 1 0 Read data (0x12) x x x x x x x x Read data (0x14) x x ACKS … 1 x x x x x x Read data (0x16) x x x x x x A A A x x A ACKM A ACKS 1 0 Read data (0x13) x x x x x x x x x x x x Read data (0x15) x x x x x x Read data (0x17) x x x x x x A A … NA P Figure 5: I²C multiple read Modifications reserved | Data subject to change without notice … Stop 1 0 ACKM 0 x N
| 48 Bosch Sensortec | BMI088 Data sheet 7. Pin-out and Connection Diagram Figure 6: Pin-out top view 7.1 Figure 7: Pin-out bottom view Pin-out Table 14: Pin1description Pin# 1* 2 3 Name INT2 NC VDD I/O Type Digital I/O -Supply SPI mode INT2 GND VDD I2C mode INT2 GND VDD GND CSB2 GND GND GND DNC (float) GND VDDIO SCK SCL SDI SDA SDO2 GND for default addr. VDDIO VDDIO Digital I/O Digital I/O Description Interrupt pin 2 (accel int #2) -Power supply analog & digital domain (2.4 – 3.
Bosch Sensortec | BMI088 Data sheet 7.2 41 | 48 Connection diagram SPI BMI088 Figure 8: SPI connection 7.3 Connection diagram I2C BMI088 Figure 9: I2C connection Modifications reserved | Data subject to change without notice Document number: BST-BMI088-DS001-13 Revision_1.
| 48 Bosch Sensortec | BMI088 Data sheet 8. Package 8.1 Outline Dimensions The sensor housing is a standard LGA package. Its dimensions are the following. Unit is mm. Note: Unless otherwise specified tolerance = decimal ± 0.05 Top view Figure 10: Package outline dimensions Bottom view Modifications reserved | Data subject to change without notice Document number: BST-BMI088-DS001-13 Revision_1.
| 48 Bosch Sensortec | BMI088 Data sheet 8.2 Sensing axes orientation If the sensor is accelerated and/or rotated in the indicated directions, the corresponding channels of the device will deliver a positive acceleration and/or yaw rate signal (dynamic acceleration).
| 48 Bosch Sensortec | BMI088 Data sheet 8.3 Marking 8.3.1 Mass production samples Table 16: Marking of mass production parts Labeling 365 LYYWW CCCC 8.3.
| 48 Bosch Sensortec | BMI088 Data sheet The moisture sensitivity level (MSL) of the BMI088 sensors corresponds to JEDEC Level 1.
Bosch Sensortec | BMI088 Data sheet 46 | 48 9. Legal Disclaimer 9.1 Engineering samples Engineering Samples are marked with an asterisk (*) 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.
| 48 Bosch Sensortec | BMI088 Data sheet 10. Document History and Modification Rev. No Chapter Description of modification/changes Date 1.0 - Initial release 03-Dec-2017 1.1 All Typos 30-Jan-2018 1.2 3 + 4.1.1 5.2 5.3.6 5.2+5.3.10+5.3.11 5.4 Updated switching between power modes Fixed typo in register range Added clearing condition of data ready int bit Corrected INT pin settings bits Fixed typo in bit naming in register 0x16 23-Mar-2018 1.3 7.
Bosch Sensortec | BMI088 Data sheet 48 | 48 Bosch Sensortec GmbH Gerhard-Kindler-Straße 9 72770 Reutlingen / Germany contact@bosch-sensortec.com www.bosch-sensortec.com Modifications reserved Preliminary - specifications subject to change without notice Document number: BST-BMI088-DS001-13 Revision_1.3_052018 Modifications reserved | Data subject to change without notice Document number: BST-BMI088-DS001-13 Revision_1.