image thumbnail

Deploying shallow Neural Networks on low power ARM Cortex M

version 1.0.0.1 (1.02 MB) by MathWorks Fixed Point Team
Deploying a trained network in limited precision on an ARM microcontroller such as Arduino Uno

184 Downloads

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 (2022). Deploying shallow Neural Networks on low power ARM Cortex M (https://www.mathworks.com/matlabcentral/fileexchange/67799-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
Tags Add Tags

Community Treasure Hunt

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

Start Hunting!