MEMS Sensors Ecosystem for Machine Learning
The ST ecosystem for machine learning in MEMS and Sensors combines several hardware and software tools to help designers implement gesture and activity recognition with Artificial Intelligence at the Edge in sensors through machine learning algorithms based on decision tree classifiers.
IoT solutions developers can therefore deploy any of our sensors with machine learning core (MLC) in a rapid prototyping environment to quickly develop very low power Internet of Things (IoT) applications. Thanks to inherently low-power sensor design, advanced AI event detection, wake-up logic, and real-time Edge computing, MLC in a sensor reduces system data transfer volumes and offloads network processing.
- Reduced power consumption
- Increased accuracy (context detectability)
- Edge to the Edge AI
Sensors with embedded machine-learning core
All ST MEMS and sensors with embedded machine learning core are marked with X at the end of the part number. Each sensor in the ecosystem offers different machine learning capabilities to provide developers with the extra flexibility they need to fulfil their deep edge AI computing design.
Machine learning core in ST sensors
Our latest generation of ST sensors with embedded machine learning core are built in three blocks.
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 are then used as inputs for the third block. The Decision Tree evaluates the statistical parameters and compares them against certain thresholds to identify specific situations and generate classified results sent to the MCU.
Get Started: Build a decision tree with a Machine Learning supervised approach
ST’s MEMS sensors with machine learning cores 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.
Build a decision tree in five steps with our recommended tools
The first step for any machine-learning classification is to collect a representative set of data for the motion-related application being modelled. Sensor data can be collected and labelled using various applications such as Unico-GUI, ST BLE Sensor app, or simply using the AlgoBuilderSuite, along with different hardware devices, depending on the selected sensor, such as the ProfiMEMS board ( STEVAL-MKI109V3), SensorTile.Box, Nucleo-boards or STWIN.
Examples of physical parameters include acceleration, temperature, sound, pressure, and magnetic field, depending on your application.
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 set by the user based on the specific application.
Build the decision tree
Use a machine learning tool for data mining tasks (such as UNICO, Weka, Rapidminer, Matlab, Python) to generate settings and identify limits in the training data set in order to build a decision tree which recognizes the type of motion data to be detected.
Embed the decision tree in the MLC
UNICO, Weka or similar tools then generate a configuration file that is uploaded into the sensor and you are ready to go.
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.
To learn more about Decision Tree generation
Tools and Software
The best way to get started with machine learning is to select the appropriate solution with supporting ST tools and software for your application.
The MEMS and Sensor machine learning ecosystem offer is structured around the following three targets:
Professional MEMS tool lets engineers monitor the behavior of ST MEMS sensors, which can help accelerate time to market and maximize the performance of new product designs.
The STM32 Open Development Environment offers an open, flexible, and easy way to develop MEMS-based applications by combining STM32 32-bit MCU family with MEMS sensors and other ST components connected via expansion boards.
Our small form factor reference design kits simplify prototyping and testing of advanced consumer and industrial IoT applications based on motion and environmental sensor data.
ST MEMS and Sensors evaluation kit includes 3 main components:
- a professional motherboard based on a high-performance 32-bit microcontroller
- a full set of adapter boards to evaluate any of ST’s MEMS sensors
- an intuitive graphic user interface software package for real-time access to the sensor configuration registers and to perform sensor data analysis.
Professional MEMS motherboard
Product evaluation adapter boards
The combination of STM32 Nucleo boards and expansion boards is a unified scalable approach with unlimited possibilities for any application development.
Graphical user interfaces (GUI) software is available with all the necessary functions to manage the machine learning development and sensor data analysis.
In addition, we offer a set of Function Packs that combine low-level drivers, middleware libraries and sample applications in single software packages. Functions Pack help to jump-start the implementation and the development of pre-integrated sensor application examples
STM32 Nucleo Expansion Boards
For quick prototyping, you can choose the ST form factor boards, ready-to-go development kits that simplify prototyping of advanced applications with little or no coding.
The boards are supported by graphical user interface (GUI) for sensor data analysis and bundled with a smartphone application. Function Packs with pre-integrated examples helps you to build custom applications.
Form Factor Boards
Following is a list of recommended technical documentation on Machine Learning Core.
Machine Learning Resources
Our MEMS and Sensors ecosystem for machine learning is constantly growing. There are several examples available in our ST Github repository.
GitHub MLC projects
In our ST MLC GitHub repository you will find a reference configuration example with comprehensive details regarding the Decision Tree building process. You'll find also application examples such as Human Activity Recognition, Gym Activity recognition, Head gestures, Vibration monitoring for predictive maintenance and more. To get started quickly with each example, the README file provides detailed information.
- How sensors with a machine learning core bring power efficient in AI to the edge
- Step-By-Step Tutorial, Part 1 of 5: Introduction
- Step-By-Step Tutorial, Part 2 of 5: Data Collection
- Step-By-Step Tutorial, Part 3 of 5: Labeling and Features Extraction
- Step-By-Step Tutorial, Part 4 of 5: Device Tree Generation
- Step-By-Step Tutorial, Part 5 of 5: Register and Configuration
|Program decision trees in sensors with a Machine Learning Core||
On demand webinar
|Moving AI Deeper to the Edge using Sensors with Machine Learning Core||
On demand webinar
To stay in touch with us:
Use the following opportunities to make sure you stay up to date with the latest information:
Join the MEMS and Sensors Community to learn about new releases, share insights or ask our team of experts your technical questions. Or subscribe to our MEMS and Sensors quarterly newsletter.
Subscribe to our MEMS and Sensors quarterly newsletter for news about our most recent products, solutions and development tools.