edge-ml
Machine Learning for Microcontrollers
edge-ml is an open-source and browser-based toolchain for machine learning on microcontrollers.

supported by

DATA INJECTION
MODEL DEPLOYMENT
Beta
EDGE-ML FLOW

Machine learning in minutes

Central to edge-ml is our flow - with a few simple steps edge-ml lets you record data, label samples, train models and deploy validated embedded machine learning directly on the edge.
1  void setup() {
2     Recorder *rec = new Recorder("https://app.edge-ml.org", "API_KEY");
3     edgeRecorder = rec->getIncrementalRecorder("DATASET_NAME");
4  }
5 
6  void loop() {
7    value = sensor.read();
8    edgeRecorder->addDataPoint("SENSOR_NAME", value);
9  }
EDGE-ML CLIENTS

Simple data upload

edge-ml requires minimal initilization and supports upload in real-time as well as in bulk from the edge. Pre-recorded data can be simply drag-and-dropped as CSV files to the edge-ml cloud storage.
EDGE-ML AUTO

Find the best neural architecture

edge-ml AUTO performs neural architecture search to find the best neural network for your use case. The feature is currently only available to alpha users. Please reach out if you are interested.
Framework Peak Memory Min. Latency Max. Accuracy
SOTA Model - - 96.02 %
TensorFlow Lite 28860 B 264 ms 90.91 %
edge-ml AUTO 7008 B 49 ms 95.9 %
*evaluated on the UCI-HAR dataset on Nicla Sense ME (nRF52832, Cortex-M4).
Roadmap

Future Release Plan

Collect

Available

Manage

Available

Label

Available

Train

Beta

Validate

Beta

Deploy

Alpha

FROM DATA COLLECTION TO DEPLOYMENT

The straightforward edge-ml lifecyle

Collect
Use our open-source libraries to collect data and push it to the edge-ml cloud.
Manage
Manage and delete datasets or synchronize different sensor streams
Label
Use the web-based labeling tool to add or refine data labels and annotations.
Train
Train embedded models with cloud-based computing resources.
Validate
Receive detailed reports about model performance metrics.
Deploy
Port your optimized edge model back to the embedded platform.

How does edge-ml fit in your stack?

edge-ml offers a set of comprehensive libraries for pushing timeseries data to the cloud. The same libraries can then pull models for prediction directly on the edge.

The edge framework for every situation

Arduino Arduino is the go to platform for building embedded firmware.
node.js Node.js is ideal if you are already pushing your data to a node server.
Android Android is the largest mobile platform with many sensors inside phones.

Supported edge devices

Arduino Nicla Sense ME The Nicla Sense ME is a tiny BLE capable device, equipped with a variety of Bosch sensors.
Arduino Nano 33 BLE The Arduino Nano 33 BLE is a tiny BLE capable device, equipped with a variety of sensors.
ESP32 Boards based on the ESP32 SoC microcontroller are very popular and come with BLE and Wifi out of the box.
ENGAGE WITH EDGE-ML DEVELOPERS

Join the thriving edge-ml community

Card image cap
edge-ml on YouTube Tutorials
The edge-ml YouTube channel aims to provide you with the latest updates, tutorials, and examples by the edge-ml developers as well as open-source contributors.
Join us on Discord
Engage with a vibrant community of developers and companies adopting edge-ml.
Github
Browse the edge-ml source code, send feedback or join the discussion on GitHub.

edge-ml
edge-ml@teco.edu
Made with    in Karlsruhe
© 2025
Imprint TECO (Pervasive Computing Systems) Karlsruhe Institute of Technology
Vincenz-Prießnitz-Str. 1
76131 Karlsruhe