How does it work?
6DOF IMU 16 Click is based on the ICM-45605, an ultra-high-performance 6-axis MEMS IMU with the world’s first BalancedGyro™ technology and the lowest power consumption from TDK InvenSense. The sensor combines a 3‑axis gyroscope and a 3‑axis accelerometer in a compact package. Thanks to the BalancedGyro™ technology, the gyroscope MEMS architecture, a supreme vibration rejection and temperature stability performance is achieved. It has a digital-output gyroscope angular rate with a programmable full-scale range of ±15.625, ±31.25, ±62.5, ±125, ±250, ±500, ±1000, and ±2000 degrees/sec. The accelerometer also has a digital output with a programmable full-scale range of ±2g, ±4g, ±8g, and ±16g.
The ICM-45605’s on-chip digital motion processor enables advanced motion algorithms and machine learning capability. The sensors have a self-test, low noise power mode support, good sensitivity, and more. The ICM-45605 also includes the APEX motion features such as pedometer, tilt detection, raise to wake/sleep, tap detection, wake on motion, and more. In addition, there is also a FIFO buffer of up to 8KB, enabling the application MCU to read the data in bursts.
6DOF IMU 16 Click can use a standard 4-wire SPI serial interface to communicate with the host MCU supporting clock frequency of up to 24MHz. It can also use a standard 2-wire I2C supporting a maximum bus speed of 1MHz. The I2C address can be selected over the ADDR SEL jumper. The communication selection can be made over the COMM SEL jumpers. You can also choose between a single or dual interface over the Interface jumper. This allows you to use an I2C interface as a host while using the SPI. The APEX hardware will interrupt the host MCU over two interrupt pins (I1 and I2) if an interrupt event occurs, such as tilt detection, tap, or whatever events are pre-programmed to those pins.
At the bottom of the board, two LP CUT low-power jumpers allow you to use 6DOF IMU 16 Click in a true low-power mode or with a battery-powered device, such as our Clicker 2 series of development boards.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using MCUs with different logic levels. Also, it comes equipped with a library containing functions and an example code that can be used as a reference for further development.
Specifications
Type
Motion
Applications
Can be used for the development of portable devices, augmented and virtual reality headsets and controllers, IoT applications, and more
On-board modules
ICM-45605 – 6-axis MEMS IMU with the world’s first BalancedGyro™ technology from TDK InvenSense
Key Features
Gyroscope and accelerometer sensors in 6-axis, low gyroscope and accelerometer noise, low power consumption, user-programmable digital filters for gyroscope, accelerometer and temperature sensor, APEX functions, user-selectable full-scale ranges for both gyroscope and accelerometer and more
Interface
I2C,SPI
ClickID
Yes
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on 6DOF IMU 16 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 | PWR | – | Power LED Indicator |
COMM SEL 1 – 4 | COMM SEL | Left | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
ADDR SEL | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
Interface SEL 1 – 2 | Interface | Left | Interface Selection Single/Dual: Left Position Single, Right Position Dual |
JP1 | LP CUT VDD | Connected | Enables low power mode if cut |
JP2 | LP CUT CS | Unconnected | Enables low power mode if connected |
6DOF IMU 16 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Gyroscope Full-Scale Range | ±15.2 | – | ±2000 | dps |
Accelerometer Full-Scale Range | ±2 | – | ±16 | g |
Resolution | – | 16 | – | bit |
Gyroscope Sensitivity | 16.4 | – | 2097.2 | LSB/(º/s) |
Accelerometer Sensitivity | 2048 | – | 16384 | LSB/g |
Software Support
We provide a library for the 6DOF IMU 16 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 16 Click driver.
Key functions
-
c6dofimu16_sw_reset
This function performs the device software reset. -
c6dofimu16_get_gyro_data
This function reads the angular rate of X, Y, and Z axis in degrees per second (mdps). -
c6dofimu16_get_accel_data
This function reads the accelerometer of X, Y, and Z axis relative to standard gravity (mg).
Example Description
This example demonstrates the use of 6DOF IMU 16 click board by reading and displaying the accelerometer and gyroscope data (X, Y, and Z axis).
void application_task ( void )
{
c6dofimu16_axis_t accel_data;
c6dofimu16_axis_t gyro_data;
c6dofimu16_get_accel_data( &c6dofimu16, &accel_data );
c6dofimu16_get_gyro_data( &c6dofimu16, &gyro_data );
log_printf( &logger, " Accel data | Gyro data rn" );
log_printf( &logger, " X: %.2f g | %.2f dps rn", accel_data.x_data, gyro_data.x_data );
log_printf( &logger, " Y: %.2f g | %.2f dps rn", accel_data.y_data, gyro_data.y_data );
log_printf( &logger, " Z: %.2f g | %.2f dps rn", accel_data.z_data, gyro_data.z_data );
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.C6DOFIMU16
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.