edge-ml
End-To-End Embedded Machine Learning Toolchain
edge-ml helps developers build models faster and
more robustly with an open-source toolchain for embedded machine learning.

DATA INJECTION
CSV Arduino Python Node.js Android
MODEL DEPLOYMENT
Arduino
Under Development

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");
11  }

1  void loop() {
7    value = sensor.read();
8    edgeRecorder->addDataPoint("SENSOR_NAME", value);
11  }
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.
Roadmap

Future Release Plan

Collect

Available

Manage

Available

Label

Available

Train

In Progress

Validate

Jan' 22

Deploy

Mar' 22

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