The iNEMO engine is a new, advanced software
engine that fuses accelerometer, gyroscope and
magnetometer data to deliver accurate and
reliable motion-sensing information that is easy to
integrate into smart consumer devices.
The iNEMOEngine_PI3P software pack comes
with the iNEMO Engine as a precompiled library
for STM32F103 microcontrollers and with API
example code for algorithm setup and tuning.
October 2011Doc ID 022209 Rev 21/6
For further information contact your local STMicroelectronics sales office.
www.st.com
6
iNEMO Sensor fusioniNEMOEngine_PI3P
1 iNEMO Sensor fusion
1.1 Overview
The iNEMO engine is a new, advanced software engine that fuses accelerometer,
gyroscope and magnetometer data to deliver accurate and reliable motion-sensing
information that is easy to integrate into smart consumer devices.
Figure 1.9-axis sensor fusion
Magnetometer
Gyroscope
Accelerometer
SW libraries
9-axis sensor fusion
1.2 How the iNEMO engine works
The iNEMO engine fuses data from the integrated 9-axis sensor suite with advanced
algorithms that use true high-number-of-states adaptive Kalman filtering.
The iNEMO engine’s adaptive filters converge so correct heading data overrides magnetic
distortions and anomalies, resulting in more accurate and reliable data.
iNEMO allows the correction of:
●magnetic distortions registered on the magnetometers
●dynamic distortion measured by the accelerometers
●inherent drift of the gyroscope over time
AM10211V1
The iNEMO engine integrates all 9 inertial axes plus compass with complex fusion
algorithms, so the output of the sensor cluster is optimized.
This allows for faster, easier integration into smart consumer devices and higher
performance of the solution as a whole.
The library can be configured to achieve the best tradeoff between performance and powersaving to match application requirements.
2/6 Doc ID 022209 Rev 2
iNEMOEngine_PI3PInput and output data
2 Input and output data
Figure 2.Sensor fusion input and output
InputsOutputsInputsOutputs
2.1 Sensor fusion algorithm input
The iNEMO engine API is based on 9-axis sensor fusion suite.
Required input:
●Accelerometer output data: x,y,z
●Gyroscope output data: yaw, pitch, roll
●Magnetic sensor output data x,y,z
●LIbrary configuration parameters
2.1.1 Sensor orientation
iNEMO engine API sensor orientation is compatible with the reference system defined by
Android (east, north, up).
2.2 Output
The iNEMO engine software libreries fuses data from the integrated 9 axis sensor suite with
an advanced algorithms based on a true adaptive Kalman filter to obtain precise error
modeling, outstanding accuracy prediction, magnetic distorsion correction.
AM10212V1
Doc ID 022209 Rev 23/6
System specifications and settingsiNEMOEngine_PI3P
Libraries output:
●Quaternions four number hpr system
●Rotation: heading, pitch, and roll
●Linear acceleration: device frame linear accelerations
●Gravity: device frame gravity acceleration
3 System specifications and settings
3.1 Typical sensor settings
3.1.1 Sensor full scales
●Accelerometer: 2 g
●Gyroscope: 2000 dps
●Magnetometer: 8.1 gauss
3.1.2 Sensor ODR
●Gyroscope: 100 Hz
●Accelerometer: 100 Hz
●Magnetometer: 75 Hz
4/6 Doc ID 022209 Rev 2
iNEMOEngine_PI3PRevision history
4 Revision history
Table 1.Document revision history
DateRevisionChanges
09-Sep-20111Initial release.
Added Section 2: Input and output data and Section 3: System
26-Oct-20112
specifications and settings.
Minor text changes.
Doc ID 022209 Rev 25/6
iNEMOEngine_PI3P
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.