Designed for use in a wide variety of consumer and industrial applications, our 6-axis iNEMO™ Inertial Measurements Units (IMU) feature an embedded Machine Learning Core to offload the host processor

Machine Learning Core

Machine Learning is an application of Artificial Intelligence (AI) through which a machine can learn, by itself or in a supervised way, without explicit programming. It provides a system the ability to automatically learn and improve from experience without compromising the accuracy of the data collected. The Machine Learning processing capability allows moving some algorithms from the host processor to the IMU. The IMU would therefore only consume less than one hundredth of the MCU power used for the same typical tasks. The MLC is designed to run in a highly power-efficient manner and provides accurate results in the shortest possible time. A meta-classifier is also available to further enhance data accuracy in specific cases.

Developers of applications using sensors can thus benefit from the advantages of machine learning by creating their decision trees (using large data sets and high processing power) and having them run on an optimized MLC in the same sensor device.

Key Benefits

  • Decision trees can be created and updated much faster using Machine Learning compared to explicit programming when appropriate data sets are available
  • The Machine Learning processing capability allows moving some algorithms from the host processor to the IMU. For typical tasks the IMU would consume 0.001 times the power of an MCU used for the same task. This is a key enabler for ultra low-power edge-computing
  • iNEMO™ IMUs with MLC can be configured to run up to 8 decision trees simultaneously and independently giving added flexibility to developers

Discover our webinar on Machine Learning Core


The LSM6DSOX contains a 3-axis accelerometer and 3-axis gyroscope, and tracks complex movements using the machine-learning core at low typical current consumption of just 0.55 mA to minimize load on the battery.


The consumer-grade LSM6DSRX contains a 3-axis accelerometer and a 3-axis digital gyroscope with extended full-scale angular-rate range up to ±4000 dps.


The industrial-grade ISM330DHCX comes with 10-year product-longevity assurance and is specified from -40°C to 105°C, with embedded temperature compensation for superior stability.

Intelligent sensing with iNEMO™ Inertial Measurement Units

iNEMO IMUs are built around three blocks:

machine learning core

The built-in sensors (accelerometer and gyroscope) filter real-time motion data before sending it to the Computation Block where statistical parameters defined as “features” are applied to the captured data. The features aggregated in the computation block will be used as input for the third block of the Machine Learning Core.

The Decision Tree evaluates the statistical parameters and compares them against certain thresholds to identify certain situations and generate results sent to the MCU, such as the end-user cases featured below. The Machine Learning Core results are the decision tree’s output results which include the optional meta-classifier.

Building your Decision Trees

iNEMO™ IMUs offer a wide range of design possibilities for developers by allowing them to create their own embedded machine learning algorithms and to build the best decision tree for their application.

Getting Started with an embedded machine learning core

Step-By-Step Tutorial: Introduction


Collect data

The first step is to collect a representative set of data for the motion-related application being modelled. Examples of physical parameters include acceleration, temperature, sound, pressure, magnetic field, depending on your application.

Step-By-Step Tutorial: Data Collection


Label & filters data and configuration features

Once the data is collected, a label is assigned to each statistical data pattern associated with an identified outcome e.g. “jogging” or “failure mode”. The computation blocks, i.e. the filters and features, can then be configured. The features are statistical parameters computed from the input data (or from the filtered data) in a defined time window, selectable by the user based on the specific application.

Step-By-Step: Labeling and Features Extraction


Build the decision tree

Use a machine learning tool for data mining tasks (such as Weka, Rapidminer, Matlab, Python), to generate settings and identify limits in the sample data to build a decision tree which recognizes the type of motion data to be detected.

Step-By-Step Tutorial: Device Tree Generation


Embed the decision tree in the MLC

Weka or similar tools then generate a configuration file that is uploaded into the sensor and you are ready to go.

Step-By-Step Tutorial: Register and Configuration Testing


Operating Mode: Process new data using a trained Decision Tree

Finally, when the device is programmed, the Machine Learning Core results can be processed using the defined trained Decision Tree in your application. 

Developers can also get support and exchange ideas in the MEMS & Machine Learning & AI community page.


Featured Resources