Deploying shallow Neural Networks on low power ARM Cortex M

Deploying a trained network in limited precision on an ARM microcontroller such as Arduino Uno
Updated 16 Jul 2018

View License

In this example we illustrate a MATLAB and Simulink workflow on how to train and deploy a machine learning model to a low-power microcontroller on the edge. We demonstrate how to train a shallow neural network for a regression problem, how to generate readable single precision floating point or Fixed-point code and how to deploy to an ARM cortex M microcontroller such as an Arduino Uno.
We use the engine dataset for estimating engine emission levels based on measurements of fuel consumption and speed. This is a regression problem and we use a shallow neural network to model the system.
The download contains the example dataset, the trained model exported as a MATLAB function and an equivalent Simulink model and a detailed article explaining the workflow steps. It also contains all the required scripts to automate some of the tasks.

Cite As

MathWorks Fixed Point Team (2024). Deploying shallow Neural Networks on low power ARM Cortex M (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Recognition, Object Detection, and Semantic Segmentation in Help Center and MATLAB Answers
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updated the readme.txt