+27 (0)11 022 5323 +27 (0)64 681 8495
Basket/Checkout
R
- -
MagnifierSearch:
6DOF IMU 11 click (Accel, Gyro) (Up)

6DOF IMU 11 click (Accel, Gyro)

The 6DOF IMU 11 click is a Click board™ based on the KMX63, a 6 Degrees-of-Freedom inertial sensor system on a single, silicon chip, which is designed to strike a balance between current consumption and noise performance with excellent bias stability over temperature. The KMX63 sensor consists of a tri-axial magnetometer plus a triaxial accelerometer coupled with an ASIC.

The 6DOF IMU 11 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.

R340  Qty:
Price ex. VAT. Weight: 18g. Stock: Available in 5-10 working days [i]. mikroE Icon

How does it work?

Main component on 6DOF IMU 11 click is the KMX63 from Kionix (ROHM company), a tri-axis accelerometer, tri-axis magnetometer, and temperature sensor on a single chip combo solution. The Accelerometer and Magnetometer data can be accumulated in an internal 384-byte FIFO buffer and transmitted to the application processor.

6DOF IMU 11 click is a Click board™ based on the KMX63

Acceleration sensing is based on the principle of a differential capacitance arising from acceleration induced motion of the sense element, which utilizes common mode cancellation to decrease errors from process variation, temperature, and environmental stress. Capacitance changes are amplified and converted into digital signals which are processed by a dedicated digital signal processing unit. The digital signal processor applies filtering, bias, and sensitivity adjustments, as well as temperature compensation.

Magnetic sensing is based on the principle of magnetic impedance. The magnetic sensor detects very small magnetic fields by passing an electric pulse through a special electron spin aligned amorphous wire. Due to the high Curie temperature of the wire, the sensor's thermal performance shows excellent stability.

Noise performance is excellent with bias stability over temperature. Bias errors resulting from assembly can be trimmed digitally by the user. These sensors can accept supply voltages between 1.7V and 3.6V, and digital communication voltages from the MCU between 1.2V and 3.6V.

The Kionix KMX63 digital sensor can communicate on the I2C digital serial interface bus. This flexibility allows for easy system integration by eliminating analog-to-digital converter requirements and by providing direct communication with system processors. The I2C interface is compliant with high-speed mode, fast mode, and standard mode I2C protocols.

With 6DOF IMU 6 click you may communicate by using I2C serial interface. The I2C is primarily used for serial communication between a Master device and one or more Slave devices. The KMX63 always operates as a Slave device during standard Master-Slave I2C operation.

Given all of the possibilities its features offer, the 6DOF IMU 11 click can be used for applications which require movement and orientation features, such as screen orientation, navigation, game playing, machine/vibration analysis, etc...

Specifications

Type Motion
Applications A magnetometer accelerometer can be used to enable a variety of simultaneous features for Machine health, screen orientation, navigation, faming, automatic sleep mode
On-board modules KMX63, a 6 Degrees-of-Freedom inertial sensor system from Kionix
Key Features Programmable ±8g/±16g/±32g/±64g full scale range accelerometer range and a +/-1200 µT range for the magnetometer
Interface GPIO,I2C
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 11 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 GP1 General purpose #1
NC 2 RST INT 15 GP2 General puprpose #2
NC 3 CS RX 14 NC
NC 4 SCK TX 13 NC
NC 5 MISO SCL 12 SCL I2C Clock
NC 6 MOSI SDA 11 SDA I2C Data
Power Supply 3.3V 7 3.3V 5V 10 NC
Ground GND 8 GND GND 9 GND Ground

Software Support

We provide a library for the 6DOF IMU 11 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 11 click board. Library performs a standard I2C interface communication.

Key functions:

  • void c6dofimu11_set_default_sensor_config ( void ) - Set default sensor configuration function.
  • void c6dofimu11_read_accel ( c6dofimu11_accel_t *accel_data ) - Get Accel range X, Y and Z value function.
  • void c6dofimu11_read_mag ( c6dofimu11_mag_t *mag_data ) - Get Magnetometer magnetic field strength X, Y and Z value ( nT ) function.

Examples description

The application is composed of three sections :

  • System Initialization - Initializes I2C and start to write log.
  • Application Initialization - Initialization driver enables - I2C, check device ID, sets default configuration, also write log.
  • Application Task - (code snippet) This is an example which demonstrates the use of 6DOF IMU 11 Click board. Measured and display Accel and Magnetometer magnetic field strength values for X-axis, Y-axis and Z-axis. Results are being sent to the Usart Terminal where you can track their changes. All data logs write on USB uart changes for every 2 sec.
void application_task ( )
{
    c6dofimu11_read_accel ( &accel_data );
    Delay_ms( 10 );
    c6dofimu11_read_mag ( &mag_data );
    Delay_ms( 10 );

    mikrobus_logWrite( " Accel X : ", _LOG_TEXT );
    FloatToStr( accel_data.x, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " g", _LOG_LINE );

    mikrobus_logWrite( " Accel Y : ", _LOG_TEXT );
    FloatToStr( accel_data.y, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " g", _LOG_LINE );

    mikrobus_logWrite( " Accel Z : ", _LOG_TEXT );
    FloatToStr( accel_data.z, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " g", _LOG_LINE );
    mikrobus_logWrite( "- - - - - - - - - - - - - ", _LOG_LINE );

    mikrobus_logWrite( " Mag X   : ", _LOG_TEXT );
    FloatToStr( mag_data.x, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " uT", _LOG_LINE );

    mikrobus_logWrite( " Mag Y   : ", _LOG_TEXT );
    FloatToStr( mag_data.y, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " uT", _LOG_LINE );

    mikrobus_logWrite( " Mag Z   : ", _LOG_TEXT );
    FloatToStr( mag_data.z, log_text );
    c6dofimu11_uart_sign_print( );
    mikrobus_logWrite( log_text, _LOG_TEXT );
    mikrobus_logWrite( " uT", _LOG_LINE );
    mikrobus_logWrite( "--------------------------", _LOG_LINE );
    Delay_ms( 1000 );
}


Additional Functions :

  • void c6dofimu11_uart_sign_print ( ) - For beauty reasons in displaying the data log, this function inserts "+" sign when positive values have been read.

The full application code, and ready to use projects can be found on our LibStock page.

Other mikroE Libraries used in the example:

  • I2C
  • UART
  • Conversions

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.

mikroSDK

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.

Resources

Downloads