How does it work?
6DOF IMU 2 Click is based on the BMI160, a small low-power inertial measurement unit (IMU) from Bosch Sensortec. Its highly integrated unit provides precise acceleration and angular rate (gyroscopic) measurement with low power consumption in full operation mode, allowing a great advantage in battery-driven applications. The BMI160 sensor integrates a 16-bit digital triaxial accelerometer and a 16-bit digital triaxial gyroscope, both hardware synchronized and providing high precision sensor data and accurate timing of the corresponding data with timestamps resolution of only 39μs. The acceleration range can be selected from ±2, ±4, ±8, and ±16g with sensitivity up to 17039LSB/g.
The BMI160 also features an allocated FIFO buffer of 1024 bytes for handling external sensor data. This Click board™ comes with an additional header that allows BMI160 to connect an external magnetometer over the secondary magnetometer interface (pins ASDx and ASCx), OIS interface (pins OSDO and OSCB), GND, and VCC provided out of 3V3 mikroBUS™ power rail. As external sensors, the BMI160 can use a geomagnetic or barometric pressure sensor from Bosch Sensortec. The geomagnetic sensor can trigger autonomous read-out of the sensor data magnetometer without the need for intervention of the host MCU. While using an SPI interface, this sensor can be used for OIS (optical image stabilization) applications in conjunction with camera modules or advanced gaming use cases. The OIS shares the interface with the MAG-Interface (I2C).
The 6DOF IMU 2 Click allows the use of both I2C and SPI interfaces, with a maximum frequency of 1MHz for I2C and 10MHz for SPI communication. The selection can be made by positioning SMD jumpers labeled COMM SEL to an appropriate position (I2C set by default). Note that all the jumpers’ positions must be on the same side, or the Click board™ may become unresponsive. There is also an I2C address selection labeled ADDR SEL and set to 0 by default. An interrupt INT pin signals to the MCU that a motion event has been sensed. This signal is selectable between two possible interrupts from BMI160, whit possible selection via a marked Interrupt Selection jumper.
This Click board™ can only be operated with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Acceleration,Gyroscope,Motion
Applications
Can be used for the development of applications like tilt sensing, navigation, orientation measurement, platform stabilization, robotics, game controllers, remote controllers, pointing devices, and more
On-board modules
BMI160 – small inertial measurement unit (IMU) from Bosch Sensortec
Key Features
16-bit digital triaxial accelerometer, 16-bit digital triaxial gyroscope, interrupt for motion detection, optical image stabilization, external geomagnetic or barometric pressure sensor, low power consumption, significant motion and step detector/step counter, selectable interface, and more
Interface
I2C,SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on 6DOF IMU 2 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | LD | – | Power LED Indicator |
JP1 | – | Lower | Interrupt Selection INT1/INT2: Upper position INT1, Lower position INT2 |
JP2 | ADDR SEL | Right | I2C Address Selection 1/0: Left position 1, Right position 0 |
JP3-JP6 | I2C SPI | Lower | Communication Interface Selection I2C/SPI: Upper position SPI, Lower position I2C |
6DOF IMU 2 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Acceleration Range | ±2 | – | ±16 | g |
Gyroscope Range | 125 | – | 2000 | °/s |
Acceleration Sensitivity | 1966 | – | 17039 | LSB/g |
Gyroscope Sensitivity | 15.9 | – | 270.3 | °/s |
Software Support
We provide a library for the 6DOF IMU 2 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for 6DOF IMU 2 Click driver.
Key functions
-
This function executes default configuration for 6DOF IMU 2 click.
-
This function read Accel X-axis, Y-axis and Z-axis.
-
This function read Gyro X-axis, Y-axis and Z-axis.
Example Description
Example Code presents acceleration and angular rate (gyroscopic) measurement.
void application_task ( void )
{
c6dofimu2_read_accel( &c6dofimu2, &accel_data );
Delay_ms ( 100 );
c6dofimu2_read_gyro( &c6dofimu2, &gyro_data );
Delay_ms ( 100 );
log_printf( &logger, " Accel | Gyro rn" );
log_printf( &logger, "--------------------------rn" );
log_printf( &logger, " X = %d | X = %d rn", accel_data.accel_x, gyro_data.gyro_x );
log_printf( &logger, " Y = %d | Y = %d rn", accel_data.accel_y, gyro_data.gyro_y );
log_printf( &logger, " Z = %d | Z = %d rn", accel_data.accel_z, gyro_data.gyro_z );
log_printf( &logger, "--------------------------rn" );
Delay_ms ( 1000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.6DofImu2
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.