








How Does The 6DOF IMU 20 Click Board™ Work?
The 6DOF IMU 20 Click Board™ is based on the BMI323, a versatile 6DoF (six degrees of freedom) sensor module from Bosch Sensortec. This IMU combines precise acceleration and angular rate (gyroscopic) measurement with intelligent integrated features triggered by motion. It also has a 2K-byte FIFO that can lower the traffic on the selected serial bus interface by allowing the system processor to burst read sensor data. The BMI323 provides improved accelerometer performance as well as lower power consumption. In high-performance mode, using both the gyroscope and the accelerometer, the BMI323 shows a significant reduction in power consumption of nearly 15% compared to its predecessor, the BMI160. The BMI323 supports a wide range of use cases allowing customers to design it into various applications like angle and position detection, motion detection, tap recognition, and more.
As mentioned, the BMI323 comprises a 16-bit triaxial gyroscope, a 16-bit triaxial accelerometer, and a 16-bit digital temperature sensor in a single package. The accelerometer measures the direction and magnitude of the force applied to the sensor. In a free fall scenario, an accelerometer will report a vector of zeros. The gyroscope measures the rotational rate and reports vector zeros when the device rests. The gyroscope supports full-scale range settings from ±125dps to ±2000dps, and the accelerometer supports range settings from ±2g to ±16g. In addition, the BMI323 also includes an auxiliary temperature sensor.
This Click board™ allows using both I2C and SPI interfaces at a maximum frequency of 1MHz for I2C and 10MHz for SPI communication. Selection is made by positioning SMD jumpers marked COMM SEL to the appropriate position. All jumpers must be on the same side, or the Click board™ may become unresponsive. When the I2C interface is selected, the BMI323 allows the choice of its I2C slave address, using the ADDR SEL SMD jumper set to an appropriate position marked 1 or 0. In addition to communication pins, this board also possesses two interrupts, IT1 and IT2, routed to, where by default, the AN and INT pins stand on the mikroBUS™ socket, entirely programmed by the user through a serial interface. They signal MCU that a motion event has been sensed.
The 6DOF IMU 20 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 | Motion |
Applications | It can be used for always-on applications like motion detection, step detector, plug 'n' play step counter, orientation and flat detection, single/double/triple tap detection, and more |
On-board modules | BMI323 - versatile 6DoF sensor module from Bosch Sensortec |
Key Features | Low power consumption, selectable interface, on-chip motion-triggered interrupt features, configurable accel/gyro range, 2KB on-chip FIFO, fast offset error compensation, high sensitivity and performance, and more |
Interface | I2C,SPI |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the 6DOF IMU 20 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | ![]() |
Pin | Notes | |||
---|---|---|---|---|---|---|---|
Interrupt 1 | IT1 | 1 | AN | PWM | 16 | NC | |
NC | 2 | RST | INT | 15 | INT 2 | Interrupt 2 | |
SPI Chip Select | CS | 3 | CS | RX | 14 | NC | |
SPI Clock | SCK | 4 | SCK | TX | 13 | NC | |
SPI Data OUT | SDO | 5 | MISO | SCL | 12 | SCL | I2C Clock |
SPI Data IN | SDI | 6 | MOSI | SDA | 11 | SDA | I2C Data |
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | 5V | Power Supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
JP2-JP5 | COMM SEL | Right | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
6DOF IMU 20 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | - | 3.3 | - | V |
Gyroscope Full-Scale Range | 125 | - | 2000 | dps |
Accelerometer Full-Scale Range | pm2 | - | pm16 | g |
Gyroscope Sensitivity | 16.384 | - | 262.144 | LSB/dps |
Accelerometer Sensitivity | 2048 | - | 16384 | LSB/g |
Resolution | - | 16 | - | g |
Software Support
We provide a library for the 6DOF IMU 20 Click Board™ and a demo application (example), developed using MikroE compilers. The demo can run on all the main MikroE development boards.
The package can be downloaded/installed directly from NECTO Studio The package Manager (recommended), downloaded from our LibStock™ or found on MikroE Github account.
Library Description
This library contains API for the 6DOF IMU 20 Click Board™ driver.
Key functions
-
c6dofimu20_get_gyr_data
6DOF IMU 20 gyro data reading function. -
c6dofimu20_get_temperature
6DOF IMU 20 temperature reading function. -
c6dofimu20_sw_reset
6DOF IMU 20 software reset function.
Example Description
This library contains API for the 6DOF IMU 20 Click Board™ driver. The library initializes and defines the I2C and SPI bus drivers to
write and read data from registers, as well as the default
configuration for reading gyroscope and accelerator data and temperature.
void application_task ( void )
{
c6dofimu20_data_t accel_data;
c6dofimu20_data_t gyro_data;
uint16_t data_rdy;
float temperature;
c6dofimu20_get_reg( &c6dofimu20, C6DOFIMU20_STATUS_REG, &data_rdy );
if ( C6DOFIMU20_STATUS_DRDY_ACC_FLAG & data_rdy )
{
c6dofimu20_get_acc_data( &c6dofimu20, &accel_data );
log_printf( &logger, " Accel: X: %d, Y: %d, Z: %d rn", accel_data.data_x, accel_data.data_y, accel_data.data_z );
}
if ( C6DOFIMU20_STATUS_DRDY_GYR_FLAG & data_rdy )
{
c6dofimu20_get_gyr_data( &c6dofimu20, &gyro_data );
log_printf( &logger, " Gyro: X: %d, Y: %d, Z: %d rn", gyro_data.data_x, gyro_data.data_y, gyro_data.data_z );
}
if ( C6DOFIMU20_STATUS_DRDY_TEMP_FLAG & data_rdy )
{
c6dofimu20_get_temperature( &c6dofimu20, &temperature );
log_printf( &logger, " Temperature: %.2f degC rn", temperature );
}
log_printf( &logger, " - - - - - - - - - - - - - - - - - - - - - - - - rn" );
Delay_ms( 500 );
}
The full application code and ready-to-use projects can be installed directly from NECTO Studio. The 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.6DOFIMU20
Additional Notes and Information
Depending on the development board you are using, you may need USB UART Click Board™, 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
The 6DOF IMU 20 Click Board™ is supported with mikroSDK - MikroE Software Development Kit, which needs to be downloaded from the LibStock and installed for the compiler you are using to ensure proper operation of mikroSDK compliant Click board™ demo applications.
6DOF IMU 20 Click Board
Frequently Asked Questions
Ask a Question-
Is the 6DOF IMU 20 Click Board™ ready for use out of the box?
Yes, the 6DOF IMU 20 Click Board™ comes as a fully tested product, ready for use on a system equipped with the mikroBUS™ socket.
-
What is mikroBUS™?
mikroBUS™ is a standardized socket used for connecting Click boards™ to host systems. The 6DOF IMU 20 Click Board™ is designed for use with a system equipped with the mikroBUS™ socket.
-
What is mikroSDK?
mikroSDK is a software development kit that provides a set of libraries, simplifying the development process for various microcontroller-based applications. The 6DOF IMU 20 Click Board™ is supported by a mikroSDK-compliant library.
-
How does the 6DOF IMU 20 Click Board™ communicate with a host system?
The 6DOF IMU 20 Click Board™ supports both SPI and I2C serial communication protocols, allowing it to easily interface with a host system.
-
What applications is the 6DOF IMU 20 Click Board™ suitable for?
The 6DOF IMU 20 Click Board™ is suitable for applications such as motion detection, step detection, plug 'n' play step counter, orientation and flat detection, single/double/triple tap detection, and more.
-
What are the key features of the 6DOF IMU 20 Click Board™?
Key features include: * 16-bit triaxial gyro and accelerometer with configurable range * SPI and I2C serial communication host interface * 2Kb-byte FIFO to lower traffic on the serial bus interface * On-chip interrupt engine * Integrated smart features for always-on applications
-
What is the BMI323?
The BMI323 is a high-performance, low-power inertial measurement unit (IMU) from Bosch Sensortec. It combines precise acceleration and angular rate (gyroscopic) measurement with intelligent integrated features triggered by motion.
-
What is the 6DOF IMU 20 Click Board™?
The 6DOF IMU 20 Click Board™ is a compact add-on board featuring a 6-axis inertial measurement unit (IMU), the BMI323 from Bosch Sensortec. This high-performance, low-power IMU is designed for a variety of motion-sensing applications.