TinyML benchmark: Arduino Portenta H7 vs Teensy 4.0 vs STM32 Nucleo H743ZI2

A few days ago I asked a poll on my Twitter for who do you think would be the fastest board for TinyML among Arduino Portenta H7, Teensy 4.0 and STM32 Nucleo H743ZI2. Both Portenta and Nucleo ranked on par at first position, leaving Teensy behind.

This post will answer that poll with real-world numbers: all of them share an ARM Cortex M7 cpu, but which one is the winner?

Let's check it out (it includes a lot of charts)!

Arduino Portenta H7 vs Teensy 4 vs STM32 Nucleo H743ZI2

Continue reading

Esp32-cam motion detection WITH PHOTO CAPTURE! (RGB version)

Perform pure video motion detection on RGB images with your cheap Esp32-camera and save photo captures to the flash memory or SD card without hassle! Easy to use and fully customizable!

esp32-cam motion detection colorized

Continue reading

The Grand Benchmark Table of Embedded Machine Learning

How tiny is TinyML? How fast is TinyML?

Do you want to get some REAL numbers on embedded machine learning on Arduino, STM32, ESP32, Seeedstudio boards (and more coming)?

This page will answer all your questions!

Inference time vs Accuracy scatter plot

Continue reading

Esp32-cam motion detection WITH PHOTO CAPTURE! (grayscale version)

Do you want to transform your cheap esp32-cam in a DIY surveillance camera with moton detection AND photo capture?

Look no further: this post explains STEP-BY-STEP all you need to know to build one yourself!

Esp32-cam motion detection

Continue reading

TinyML on Arduino and STM32: CNN (Convolutional Neural Network) example

Painless TinyML Convolutional Neural Network on your Arduino and STM32 boards: the MNIST dataset example!

Are you fascinated by TinyML and Tensorflow for microcontrollers?

Do you want to run a CNN (Convolutional Neural Network) on your Arduino and STM32 boards?

Do you want to do it without pain?

EloquentTinyML is the library for you!

CNN topology

Continue reading

Decision Tree, Random Forest and XGBoost on Arduino

You will be surprised by how much accuracy you can achieve in just a few kylobytes of resources: Decision Tree, Random Forest and XGBoost (Extreme Gradient Boosting) are now available on your microcontrollers: highly RAM-optmized implementations for super-fast classification on embedded devices.

DecisionTree

Continue reading

“Principal” FFT components as efficient features extrator

Fourier Transform is probably the most well known algorithm for feature extraction from time-dependent data (in particular speech data), where frequency holds a great deal of information. Sadly, computing the transform over the whole spectrum of the signal still requires O(NlogN) with the best implementation (FFT - Fast Fourier Transform); we would like to achieve faster computation on our microcontrollers.

In this post I propose a partial, naive linear-time implementation of the Fourier Transform you can use to extract features from your data for Machine Learning models.

FFT spectrum example

Continue reading

Better word classification with Arduino Nano 33 BLE Sense and Machine Learning

Let's revamp the post I wrote about word classification using Machine Learning on Arduino, this time using a proper microphone (the MP34DT05 mounted on the Arduino Nano 33 BLE Sense) instead of a chinese, analog one: will the results improve?

from https://www.udemy.com/course/learn-audio-processing-complete-engineers-course/

Continue reading

The Ultimate Guide to Wifi Indoor Positioning using Arduino and Machine Learning

This will be the most detailed, easy to follow tutorial over the Web on how to implement Wifi indoor positioning using an Arduino microcontroller and Machine Learning. It contains all the steps, tools and code from the start to the end of the project.


ri-elaborated from https://www.accuware.com/blog/ambient-signals-plus-video-images/

Continue reading

EloquentML grows its family of classifiers: Gaussian Naive Bayes on Arduino

Are you looking for a top-performer classifiers with a minimal amount of parameters to tune? Look no further: Gaussian Naive Bayes is what you're looking for. And thanks to EloquentML you can now port it to your microcontroller.

GaussianNB

Continue reading