The IMU consists of a state-of-the-art 3-axis, low-g accelerometer, and a low-power 3-axis gyroscope, designed for 6-axis and 9-axis applications. The BMI160 also includes built-in power management unit (PMU) for advanced power management and power-saving modes, as well as allocated FIFO buffer of 1024 bytes for handling external sensor data.
6DOF IMU 2 click communicates with the target MCU through the I2C or SPI bus (user-selectable), with additional functionality provided by the INT pin (for enhanced autonomous motion detection).
The board is designed to use a 3.3 power supply only.
| Type | Motion |
| Applications | Game controllers, remote controls and pointing devices |
| On-board modules | Bosch's BMI160 low power inertial measurement unit (IMU) |
| Key Features | Interrupts for motion detection |
| Key Benefits | Capable of handling external sensor data, Android Lollipop compatible |
| Interface | GPIO,I2C,SPI |
| Input Voltage | 3.3V |
| Compatibility | mikroBUS |
| Click board size | M (42.9 x 25.4 mm) |
Code snippet demonstrates initialization of the 6DOF IMU 2, reading gyro and accel data, and printing them out on TFT.
1 void main()
2 {
3
4 Display_Init();
5 I2C1_Init();
6 dof6_hal_init(BMI160_I2C_ADDRESS );
7 dof6_sensor_config(accel_normal , gyro_normal);
8
9 while (1)
10 {
11 acc_x=dof6_get_acc_x();
12 acc_y=dof6_get_acc_y();
13 acc_z=dof6_get_acc_z();
14 gyro_x=dof6_get_gyr_x();
15 gyro_y=dof6_get_gyr_y();
16 gyro_z=dof6_get_gyr_z();
17 display_data();
18 Delay_ms(50);
19 }
20 }