6DOF IMU 11 CLICK
PID: MIKROE-3869
Weight: 18 g
The 6DOF IMU 11 click is a Click board™ based on the KMX63, a 6 Degrees-ofFreedom 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.
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.
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 MasterSlave 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
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 Xaxis, 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
mikroBUS™ Standard specification
LibStock: mikroSDK
DOWNLOADS
6DOF IMU 11 click example on Libstock
6DOF IMU 11 click 2D and 3D files
6DOF IMU 11 click schematic
KMX63 datasheet
https://www.mikroe.com/6dof-imu-11-click /12-16-19