How does it work?
6DOF IMU Click is based on the LSM6DS33, a high-performance 6-axis inertial measurement unit comprising a 3-axis gyroscope and accelerometer from STMicroelectronics. The LSM6DS33 delivers more sophisticated best-in-class motion sensing of orientation and gesture. It has a full-scale acceleration range of ±2/±4/±8/±16 g and an angular rate range of ±125/±250/±500/±1000/±2000dps, alongside a selectable communication interface with a data synchronization feature. It also features 8kB 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.
The LSM6DS33’s integrated power-efficient modes reduce the power consumption in high-performance mode, combining always-on low-power features with superior sensing precision for an optimal motion experience, thanks to ultra-low noise performance for both the gyroscope and accelerometer. Thanks to its valuable characteristics, this Click board™ can be used in various applications like tilt sensing, pedometer/step-counter, 6D orientation, free-fall detection, tap/double-tap detection, indoor navigation, and many more.
6DOF IMU Click allows using both I2C and SPI interfaces with a maximum frequency of 400kHz for I2C and 10MHz for SPI communication. The selection can be made by positioning SMD jumpers labeled as COMM SEL in an appropriate position. Note that all the jumpers’ positions must be on the same side, or the Click board™ may become unresponsive. While the I2C interface is selected, the LSM6DS33 allows choosing the least significant bit (LSB) of its I2C slave address using the SMD jumper labeled ADDR SEL.
The event-detection interrupts of the LSM6DS33, INT1 and INT2 are selectable through the SMD jumper labeled INT SEL and processed on the INT pin on the mikroBUS™ socket. It enables efficient and reliable motion tracking and contextual awareness, implementing hardware recognition of free-fall events, 6D orientation, tap and double-tap sensing, activity or inactivity, and wake-up events.
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. 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 applications like tilt sensing, pedometer, 6D orientation and free-fall detection, tap/double-tap detection, indoor navigation, and many more
On-board modules
LSM6DS33 – 6-axis inertial measurement unit comprising a 3-axis gyroscope and accelerometer from STMicroelectronics
Key Features
Low power consumption, “Always-on” feature for both accelerometer and gyroscope, smart FIFO up to 8 kbyte, selectable operation scales, selectable interface, data syncronization feature, and more
Interface
I2C,SPI
Feature
No 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 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 |
LD1 | PWR | – | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
LD1 | PWR | – | I2C Address Selection 0/1: Left position 0, Right position 1 |
LD1 | PWR | – | Interrupt Selection INT2/INT1: Left position INT2, Right position INT1 |
6DOF IMU Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Acceleration Range | ±2 | – | ±16 | g |
Angular Rate Range | ±125 | – | ±2000 | dps |
Acceleration Sensitivity | 0.061 | – | 0.488 | mg/LSB |
Angular Rate Sensitivity | 4.375 | – | 70 | mdps/LSB |
Software Support
We provide a library for the 6DOF IMU 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 Click driver.
Key functions
-
This function reads axis data for the gyroscope or the accelerometer from
-
This function reads temperature data from predefined data registers.
-
This function reads the digital signal from the INT pin.
Example Description
This example showcases how to initalize and use the 6DOF IMU click. The click contains a 6-axis inertial measurement unit ( accelerometer + gyroscope ). After configuring the click module for proper use, axis and temperature data will be measured every second.
void application_task ( )
{
float temperature;
c6dofimu_read_axis_data( &c6dofimu, C6DOFIMU_ACCEL_READ_MODE );
Delay_1sec( );
c6dofimu_read_axis_data( &c6dofimu, C6DOFIMU_GYRO_READ_MODE );
Delay_1sec( );
temperature = c6dofimu_read_temperature( &c6dofimu );
log_printf( &logger, "--------------------------------------------rn" );
log_printf( &logger, " * ACCEL * X: %6.d Y: %6.d Z: %6.drn", c6dofimu.accel_axis.x,
c6dofimu.accel_axis.y,
c6dofimu.accel_axis.z );
log_printf( &logger, " * GYRO * X: %6.d Y: %6.d Z: %6.drn", c6dofimu.gyro_axis.x,
c6dofimu.gyro_axis.y,
c6dofimu.gyro_axis.z );
log_printf( &logger, " * Temperature: %.3f Crn", temperature );
Delay_1sec( );
}
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.6DofImu
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.