The article details a project exploring TinyML on ESP32 microcontrollers using MicroPython for real-time gesture detection. It outlines the project’s goals, architectural choices, experiments, challenges, and optimizations, concluding with potential future improvements.

Main Points

Definition and purpose of TinyML.

TinyML is a fairly new concept that combines Machine Learning with IoT devices, aiming to execute ML algorithms on low-power devices.

Project focus on standard ML algorithms for gesture detection on ESP32.

The project explored using standard machine learning algorithms for real-time gesture detection on ESP32, bypassing the use of neural networks for initial experimentation.

Requirement for pure Python ML models due to ESP32 and MicroPython constraints.

Machine learning models for the project needed to be in pure Python due to constraints of running on ESP32 and MicroPython, which excludes some libraries like scikit-learn.

Optimization challenges for ML model.

Optimization challenges included keeping model size under 20kB, inference time shorter than sampling period, and adapting sampling rates for application needs.

Suggestions for project improvements.

Future tweaks and improvements were suggested to achieve faster classification and more accurate results, including adjustments in model evaluation, feature extraction, and data handling.

Insights

TinyML aims to bring advanced ML applications to low-power, embedded devices.

TinyML is the overlap between Machine Learning and embedded (IoT) devices. It gives more intelligence to power advanced applications using machine.

Using machine learning on ESP32 with MicroPython, the project achieves real-time gesture classification.

It is clearly possible to classify gestures on an ESP32 microcontroller using standard machine learning algorithms, and MicroPython but some corners need to be cut.

Links

Images

URL

https://dev.to/tkeyo/tinyml-machine-learning-on-esp32-with-micropython-38a6
Hi Josh Adams, I am your personal AI. What would you like to ask about your notes?