OFF
MIKROE-4073
20 g
Status:
6DOF IMU 12 Click carries the ultra-low-power BMI270 from Bosch Sensortec, inertial measurement unit optimized for wearables providing precise acceleration, angular rate measurement and intelligent on-chip motion-triggered interrupt features. The 6-axis sensor combines a 16-bit tri-axial gyroscope and a 16-bit tri-axial accelerometer featuring Bosch’s automotive-proven gyroscope technology. The BMI270 includes several functionalities such as an integrated plug-and-play step counter/detector for wrist-worn devices. Moreover, the IMU is suitable for hearables, smart clothes, smart shoes, smart glasses and ankle bands.
6DOF IMU 12 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.
This product is no longer in stock
Availability date:
6DOF IMU 12 Click uses the BMI270, an ultra-low-power IMU optimized for wearable applications. The IMU combines precise acceleration and angular rate measurement with intelligent on-chip motion-triggered interrupt features. The 6-axis sensor combines a 16-bit triaxial gyroscope and a 16-bit triaxial accelerometer in a compact 2.5x3.0x0.8mm LGA package. BMI270 is a member of Bosch Sensortec’s BMI260 family of IMUs, targeting fast and accurate inertial sensing in wearable applications. It also features Bosch’s automotive-proven gyroscope technology with an improved accelerometer. Significant improvements in BMI270 include, but are not restricted to, the overall accelerometer performance, i.e. an extremely low zero-g offset and sensitivity error, low temperature drifts, robustness over PCB strain and a low noise density. It also features the industry’s first self-calibrating gyroscope using motionless CRT (Component Re-Trimming) functionality to compensate MEMS typical soldering drifts, ensuring post-soldering sensitivity errors down to ± 0.4%. BMI270 includes intuitive gesture, context and activity recognition with an integrated plug-and-play step counter/detector, which is optimized for accurate step counting in wrist-worn devices. The IMU is also well suited for other types of wearable devices, such as hearables, smart clothes, smart shoes, smart glasses and ankle bands.
The smart IMU has a wide range for VDD and VDDIO supply voltages. The performance and current consumption are stable over the entire supply range. Typical current draw for BMI270’s accelerometer and gyroscope at full ODR of 6.4 kHz is under 700μA. By enabling high output data rates with low current consumption, wearable manufacturers can avoid an unpleasant aliasing effect – an effect that causes different signals to become indistinguishable when sampled at lower ODRs. Bosch Sensortec’s ultra-low-power IMU BMI270 provides an intelligent power management system enabling motion-triggered always-on features to run inside the ultra-low-power domain of the IMU. BMI270 significantly extends system battery life by handling multiple activity tracking, step counting and gesture recognition functions independently of the main system processor, without having to wake it up. The processor-independent functions include tasks such as sending an interrupt when a certain number of steps is reached, or geofencing to activate GPS when the user stands up and starts walking.
The device features I2C and SPI serial interfaces, a VDD operating range from 1.71V to 3.6V, and a separate digital IO supply (VDDIO) from 1.2V to 3.6V. Communication with all registers of the device can be performed using either SPI at 10MHz or I2C at up to 1MHz.
6DOF IMU 12 Click supports both SPI and I2C communication interfaces, allowing it to be used with a wide range of different MCUs. The communication interface can be selected by moving SMD jumpers grouped under the COM SEL to an appropriate position (SPI or I2C). The slave I2C address can also be configured by an SMD jumper when the Click board™ is operated in the I2C mode. An SMD jumper labeled as ADD SEL is used to set the least significant bit (LSB) of the I2C address.
Type
Acceleration,Gyroscope,Motion
Applications
An ideal choice for wearables, hearables, smart clothing, augmented / virtual reality.
On-board modules
6DOF IMU 12 Click uses the BMI270 IC, a low power inertial measurement unit, from Bosch Sensortec.
Key Features
16-bit triaxial gyroscope and a 16-bit triaxial accelerometer, ensuring post-soldering sensitivity errors down to ± 0.4%.
Interface
I2C,SPI
Compatibility
mikroBUS
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
This table shows how the pinout on 6DOF IMU 12 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 | Right | I2C Slave Address LSB selection: left position 1, right position 0 |
JP2-5 | COMM SEL | Right | Communication interface selection: left position SPI, right position I2C |
We provide a library for the 6DOF IMU 12 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 covers all the necessary functions to control 6DOF IMU 12 click board. Library performs a standard I2C and SPI interface communication.
Key functions:
uint8_t c6dofimu12_generic_read ( uint8_t reg )
- Generic read the byte of data function.void c6dofimu12_burst_write ( uint8_t reg, uint8_t *p_tx_data, uint16_t n_len )
- Generic sequential data write function.void c6dofimu12_get_data ( c6dofimu12_accel_t *accel_data, c6dofimu12_gyro_t *gyro_data )
- Read Accel and Gyro data function.Examples description
The application is composed of three sections :
void application_task( ) { c6dofimu12_get_data ( &accel_data, &gyro_data ); mikrobus_logWrite( " Accel X :", _LOG_TEXT ); IntToStr( accel_data.x, log_text ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " | ", _LOG_TEXT ); mikrobus_logWrite( " Gyro X :", _LOG_TEXT ); IntToStr( gyro_data.x, log_text ); mikrobus_logWrite( log_text, _LOG_LINE ); mikrobus_logWrite( " Accel Y :", _LOG_TEXT ); IntToStr( accel_data.y, log_text ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " | ", _LOG_TEXT ); mikrobus_logWrite( " Gyro Y :", _LOG_TEXT ); IntToStr( gyro_data.y, log_text ); mikrobus_logWrite( log_text, _LOG_LINE ); mikrobus_logWrite( " Accel Z :", _LOG_TEXT ); IntToStr( accel_data.z, log_text ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " | ", _LOG_TEXT ); mikrobus_logWrite( " Gyro Z :", _LOG_TEXT ); IntToStr( gyro_data.z, log_text ); mikrobus_logWrite( log_text, _LOG_LINE ); mikrobus_logWrite( "-------------------------------------", _LOG_LINE ); Delay_ms( 1000 ); }
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.