CategoryProgramming

Easier, faster pure video ESP32 cam motion detection

If you liked my post about ESP32 cam motion detection, you'll love this updated version: it's easier to use and blazing fast!

Faster motion detection

Continue reading

Incremental multiclass classification on microcontrollers: One vs One

In earlier posts I showed you can run incremental binary classification on your microcontroller with Stochastic Gradient Descent or Passive-Aggressive classifier. Now it is time to upgrade your toolbelt with a new item: One-vs-One multiclass classifier.

Continue reading

Stochastic Gradient Descent on your microcontroller

Stochastic gradient descent is a well know algorithm to train classifiers in an incremental fashion: that is, as training samples become available. This saves you critical memory on tiny devices while still achieving top performance! Now you can use it on your microcontroller with ease.

Continue reading

Passive-aggressive classifier for embedded devices

When working with memory constrained devices you may not able to keep all the training data in memory: passive-aggressive classifiers may help solve your memory problems.

Continue reading

How to train a color classification Machine learning classifier directly on your Arduino board

In the previous post we learnt it is possible to train a Machine learning classifier directly on a microcontroller. In this post we'll look into how to do it to classify colors.

Continue reading

How to train a IRIS classification Machine learning classifier directly on your Arduino board

In this hands-on guide about on-board SVM training we're going to see a classifier in action, training it on the Iris dataset and evaluating its performance.

Continue reading

So you want to train an ML classifier directly on an Arduino board?

As of now, we know it is possible to run Machine learning inference on tiny microcontrollers thanks to Tensorflow for Micro and my very own library MicroML. What if you could train a classifier directly on the microcontroller, too?

Onboard IRIS dataset training time

Continue reading

Easy Arduino thermal camera with (ASCII) video streaming

Ever wanted to use your thermal camera with Arduino but found it difficult to go beyond the tutorials code? Let's see the easiest possible way to view your thermal camera streaming without an LCD display!

Arduino thermal image rgb vs ascii

Continue reading

Handwritten digit classification with Arduino and MicroML

We continue exploring the endless possibilities on the MicroML (Machine Learning for Microcontrollers) framework on Arduino and ESP32 boards: in this post we're back to image classification. In particular, we'll distinguish handwritten digits using an ESP32 camera.

Arduino handwritten digit classification

Continue reading

Even smaller Machine learning models for your MCU: up to -82% code size

So far we've used SVM (Support Vector Machine) as our main classifier to port a Machine learning model to a microcontroller: but recently I found an interesting alternative which could be waaaay smaller, mantaining a similar accuracy.

RVM vs SVM support vectors

Continue reading