OFF
MIKROE-4237
19 g
Status:
6DOF IMU 14 Click is a compact add-on board that contains a 6-axis MEMS motion tracking device combining a 3-axis gyroscope and a 3-axis accelerometer. This board features the ICM-42688-P, high precision 6-axis MEMS motion tracking device, from TDK InvenSense. It has a configurable host interface that supports both I2C and SPI serial communication, features a 2 kB FIFO and 2 programmable interrupts with ultra low-power Wake-on-Motion support to minimize system power consumption. This Click board™ is an excellent choice for applications like gesture recognition, activity classification, and pedometer, along with programmable digital filters, and an embedded temperature sensor.
6DOF IMU 14 Click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.
NOTE: Due to the current component shortage on the electronic market lead time and pricing for this product can vary
This product is no longer in stock
Availability date:
6DOF IMU 14 Click is based on the ICM-42688-P, high precision 6-axis MEMS motion tracking device, from TDK InvenSense. It features a 2kB FIFO that can lower the traffic on the serial bus interface, and reduce power consumption by allowing the system processor to burst read sensor data, and then go into a low-power mode. It also supports external clock input for highly accurate 31kHz to 50kHz clock, which helps to reduce system-level sensitivity error and improve orientation measurement from gyroscope data. ICM-42688-P includes an industry-first 20-bits data format support in FIFO for high-data resolution. This FIFO format encapsulates 19-bits of gyroscope data and 18-bits of accelerometer data.
This Click Board™ includes a vibratory MEMS rate gyroscope that detects rotation about the X-, Y-, and Z- axes, and a 3-axis MEMS accelerometer. The full-scale range of the gyro sensors may be digitally programmed from ±15.625 up to ±2000 degrees per second (DPS). The ICM-42688-P architecture reduces the accelerometer's sensitivity to fabrication variations as well as to thermal drift. When the device is placed on a flat surface, it will measure 0g on the X- and Y-axes and +1g on the Z-axis. The full-scale range of the digital output can be adjusted from ±2g, up to ±16g.
The ICM-42688-P has a programmable interrupt system that can generate an interrupt signal. There are two interrupt outputs in which one of them represents frame synchronization input routed to the PWM pins on the mikroBUS™. An interrupt can be triggered while switching clock sources, when new data is available for reading (from the FIFO and data registers), during accelerometer events, FIFO watermark and overflow.
6DOF IMU 14 Click provides the possibility of using both I2C and SPI interfaces with a maximum frequency of 1MHz for I2C and 25MHz for SPI communication. The selection can be done by positioning SMD jumpers labeled as COMM SEL to an appropriate position. Note that all the jumpers must be placed to the same side, or else the Click board™ may become unresponsive. While the I2C interface is selected, the ICM-42688-P allows the choice of the least significant bit (LSB) of its I2C slave address. This can be done by using the SMD jumper labeled as ADDR SEL.
This Click Board™ is designed to be operated only with a 3.3V logic level. A proper logic voltage level conversion should be performed before the Click board™ is used with MCUs with different logic levels.
Type
Acceleration,Gyroscope,Motion
Applications
Can be used for applications like gesture recognition, activity classification, and pedometer, along with programmable digital filters, and an embedded temperature sensor.
On-board modules
6DOF IMU 14 Click is based on the ICM-42688-P, high precision 6-axis MEMS motion tracking device, from TDK InvenSense.
Key Features
Low power consumption, high precission, user-programmable digital filters, user scallable gyro/accel full-scale range, 20,000 g shock tolerant and more.
Interface
I2C,SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
This table shows how the pinout on 6DOF IMU 14 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | ADDR SEL | Left | I2C Address Selection: Left position 0, Right position 1 |
JP2-JP4 | COMM SEL | Left | Communication Interface Selection: Left position SPI, Right position I2C |
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | -0.5 | 3.3 | 4 | V |
I2C Clock Frequency | - | - | 1 | MHz |
SPI Clock Frequency | - | - | 24 | MHz |
External Clock Source | 31 | 32 | 50 | kHz |
Operating Temperature Range | -40 | - | +85 | °C |
We provide a library for the 6DOF IMU 14 Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library contains a basic functions for using 6DOF IMU 14 click.
Key functions:
void c6dofimu14_get_gyro_axis ( c6dofimu14_axis_t *axis )
- Gets GYRO XYZ axis valuevoid c6dofimu14_get_accel_axis ( c6dofimu14_axis_t *axis )
- Gets ACCEL XYZ axis valuefloat c6dofimu14_get_temperature ( void )
- Gets Temperature valueExamples description
The application is composed of three sections :
void application_task ( ) { float temperature; c6dofimu14_axis_t accel; c6dofimu14_axis_t gyro; mikrobus_logWrite( " ", _LOG_LINE ); // ACCEL DATA c6dofimu14_get_accel_axis( &accel ); FloatToStr( accel.x, demo_text ); mikrobus_logWrite( " >> Accel: X: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_TEXT ); FloatToStr( accel.y, demo_text ); mikrobus_logWrite( " Y: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_TEXT ); FloatToStr( accel.z, demo_text ); mikrobus_logWrite( " Z: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_LINE ); // GYRO DATA c6dofimu14_get_gyro_axis( &gyro ); FloatToStr( gyro.x, demo_text ); mikrobus_logWrite( " >> Gyro: X: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_TEXT ); FloatToStr( gyro.y, demo_text ); mikrobus_logWrite( " Y: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_TEXT ); FloatToStr( gyro.z, demo_text ); mikrobus_logWrite( " Z: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_LINE ); // TEMPERATURE temperature = c6dofimu14_get_temperature( ); FloatToStr( temperature, demo_text ); mikrobus_logWrite( " >> Temperature: ", _LOG_TEXT ); mikrobus_logWrite( demo_text, _LOG_LINE ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); Delay_ms( 1500 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
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. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
This Click board™ is supported with mikroSDK - MikroElektronika 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.
NOTE: Please be advised that any peripheral devices or accessories shown connected to the Click board™ are not included in the package. Check their availability in our shop or in the YMAN section below.