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

Latest News

We have published a research paper at ISWC'22 and won the "Best Paper Award". TinyHAR is designed specifically for human activity recognition employing different saliency of multi modalities, multimodal collaboration, and temporal information extraction. Initial experimental results show that TinyHAR is several times smaller and often meets or even surpasses the performance of DeepConvLSTM, a state-of-the-art human activity recognition model.

TinyHAR: A Lightweight Deep Learning Model Designed for Human Activity Recognition Best Paper Award
Zhou, Yexu; Zhao, Haibin; Huang, Yiran; Hefenbrock, Michael; Riedel, Till; Beigl, Michael
edge-ml helps predict life-threatening sleep apnea!
In a recent project with the Karlsruhe Institute of Technology (Germany), edge-ml was applied to classify interruption of breathing during sleep on an edge wearable headband.
edge-ml announces automated machine learning
Coming in 2022, edge-ml presents AUTO which will take away to burden of having to fine-tune machine learning models for the edge manually.
edge-ml contributes to the future of autonomous driving
For autonomous driving, critical decisions have to be made within split seconds. Learn today how edge-ml can be one of the driving factors to build the future of mobility.
How can edge-ml help you monitor your manufacturing line?
Edge learning can transform your productivity and operations to ultimately improve the quality of your products. Get started with incorporating edge-ml today.
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
© 2021
Imprint TECO (Pervasive Computing Systems) Karlsruhe Institute of Technology
Vincenz-Prießnitz-Str. 1
76131 Karlsruhe