How does it work?
6DOF IMU 22 Click is based on the ICM-42670-P, a state-of-the-art 6-axis MEMS MotionTracking IMU from TDK InvenSense. This central component incorporates both a 3-axis gyroscope and a 3-axis accelerometer, making it an exceptional tool for precise motion tracking. It has a versatile host interface compatible with I2C and SPI serial communication protocols, a sizeable 2.25Kbytes FIFO, and two customizable interrupts supporting a wake-on-motion feature to reduce power consumption significantly. The gyroscope and accelerometer offer a range of programmable full-scale range settings, ensuring flexibility across various applications. The gyroscope supports four programmable full-scale range settings from ±250dps to ±2000dps, and the accelerometer supports four programmable full-scale range settings from ±2g to ±16g.
The ICM-42670-P stands out in its class for having the lowest noise levels and unparalleled stability under temperature fluctuations, physical shocks, or offsets caused by soldering or bending. It also offers protection against noise from vibrations outside its frequency band. Adding to its impressive feature set are an on-board APEX Motion Processing engine for advanced gesture and step recognition, programmable digital filters, and an integrated temperature sensor, making it ideally suited for creating wearables, smart home devices, robotics, and immersive AR/VR experiences.
6DOF IMU 22 Click supports both I2C and SPI interfaces, enabling communication at speeds up to 1MHz and 24MHz, respectively. Users can select the desired communication protocol by placing SMD jumpers on the COMM SEL section, ensuring all jumpers align on the same side to avoid potential issues. For I2C usage, the device allows the adjustment of its I2C slave address’s least significant bit via an SMD jumper marked as ADDR SEL. Additionally, the board features a data frame sync input pin routed to the FSY pin on the mikroBUS™ socket and two interrupt pins linked to the INT and IT2 pins, enabling the host MCU to detect user-specified events through the I2C/SPI interface.
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
Ideal for developing wearable technology, smart home devices, robotics, and AR/VR applications
On-board modules
ICM-42670-P – state-of-the-art 6-axis MEMS MotionTracking IMU from TDK InvenSense
Key Features
Ultra-low power with wake-on-motion support, lowest noise levels in class, high stability against temperature, shock, and offset, on-chip APEX Motion Processing engine for gesture and pedometer, programmable full-scale range, programmable digital filters, and more
Interface
I2C,SPI
Feature
ClickID
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 22 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 |
JP1-JP4 | COMM SEL | Right | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
JP5 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
6DOF IMU 22 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Gyroscope Full-Scale Range | ±250 | – | ±2000 | dps |
Accelerometer Full-Scale Range | ±2 | – | ±16 | g |
Gyroscope Sensitivity | 16.4 | – | 131 | LSB/dps |
Accelerometer Sensitivity | 2.048 | – | 16.384 | LSB/g |
Software Support
We provide a library for the 6DOF IMU 22 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 way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for 6DOF IMU 22 Click driver.
Key functions
-
c6dofimu22_read_data
This function reads the accelerometer, gyroscope, and temperature measurement data. -
c6dofimu22_get_int1_pin
This function returns the INT1 pin logic state. -
c6dofimu22_clear_data_ready
This function clears the data ready interrupt by reading the INT_STATUS_DRDY register.
Example Description
This example demonstrates the use of 6DOF IMU 22 click board by reading and displaying the accelerometer and gyroscope data (X, Y, and Z axis) as well as a temperature measurement in degrees Celsius.
void application_task ( void )
{
static c6dofimu22_data_t meas_data;
if ( !c6dofimu22_get_int1_pin ( &c6dofimu22 ) )
{
c6dofimu22_clear_data_ready ( &c6dofimu22 );
if ( C6DOFIMU22_OK == c6dofimu22_read_data ( &c6dofimu22, &meas_data ) )
{
log_printf ( &logger, " Accel X: %.2f grn", meas_data.accel.x );
log_printf ( &logger, " Accel Y: %.2f grn", meas_data.accel.y );
log_printf ( &logger, " Accel Z: %.2f grn", meas_data.accel.z );
log_printf ( &logger, " Gyro X: %.1f dpsrn", meas_data.gyro.x );
log_printf ( &logger, " Gyro Y: %.1f dpsrn", meas_data.gyro.y );
log_printf ( &logger, " Gyro Z: %.1f dpsrn", meas_data.gyro.z );
log_printf ( &logger, " Temperature: %.2f Crnn", meas_data.temperature );
}
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.6DOFIMU22
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.