Machine Learning
on Raspberry Pi Pico
& other RP2040 Boards
Everything you need to know about running neural networks on Pico (Cortex M0+) or other RP2040 boards.
RP2040 Dev Boards
Your ML journey with RPi Pico starts with choosing the right RP2040 board and its accompanying peripherals, choosing the right hardware can sometimes save you quite some hassle. If you don’t know which board to begin with, what you’d like to achieve, Arducam Pico4ML is guaranteed the best choice.
Raspberry Pi Pico
Official RP2040 board from the RPi foundation.
Arducam Pico4ML
An RP2040 board w/ built-in screen, camera & mic.
Arducam Pico4ML-BLE
The Bluetooth version, with lots of new features.
Adafruit ItsyBitsy RP2040
Arduino Nano RP2040 Connect
Tiny 2040
Thing Plus – RP2040
How to deploy a trained model to your Raspberry Pi Pico
These models are pre-trained with large, public datasets, you can use them to get quick results with decent accuracy out of any of the RP2040 boards. Simply choose a model you’d like to use, compile it to a .uf2 file, wire the peripherals, put the file into your Pico boards, and enjoy! All of them can also be fine-tuned to your own needs.
Person Detection
A model that can detect whether a person is present in a still image or video input.
Micro Speech
This is the micro_speech model, it can be trained to recognize any keywords (yes/no/etc.) from the speech data captured by a microphone.
Raspberry Pi Pico TensorFlow Lite Micro Pre-Trained Examples
Person Detection
Magic Wand
Wake Word Detection
How to train your own TFLite Micro Model for Raspberry Pi Pico
You can either train a model locally on your PC/Mac or use online platforms like Edge Impulse, Google Colab, AWS SegeMaker, Azure IoT Edge, etc. And by following the steps and the instructions below, you can create a fully customized machine learning model that can be used on all the RP2040 boards.
Data Preparation
Get the data source ready for your model. Collect your own data, or get them from these free public ML databases.
Choose A Model
Select the proper model for your training data.
Train the Model
Use the datasets to improve your model’s ability to make more accurate predictions.
Evaluation & Tuning
Final things to do before deployment: test the trained model with other unused datasets and polish it up to further refine the model’s inference performance.
tinyML Books, Courses & Certificates
TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers
Practical Deep Learning for Cloud, Mobile, and Edge: Real-World AI & Computer-Vision Projects Using Python, Keras & TensorFlow
Embedded Deep Learning
Fundamentals of TinyML
Professional Certificate in Tiny Machine Learning
Official TensorFlow Lite Guide
Device-based Models with TensorFlow Lite
Camera Modules for Pico & RP2040 Boards
Whether you already own the official Pico board or happen to have bought a third-party one, there will always be a problem: certain machine learning models, like person detection, need to interface with external camera modules. The Arducam Pico camera series are built for these boards.
Arducam HM01B0 – QVGA
Arducam HM0360 – VGA
Arducam Mini – 2MP
Arducam OV5642 – 5MP
Machine Learning Projects w/ RPi Pico & RP2040 Boards
Machine Learning on Raspberry Pi Pico with Tensorflow Lite Micro and Arducam (Featuring Person Detection)
Number recognition with MNIST on Raspberry Pi Pico + TensorFlow Lite for Microcontrollers
Motion Recognition Using Raspberry Pi Pico
Bidirectional Encoder Representations from Transformers (BERT) on RP2040 Boards
Machine Learning Projects w/ Arduino
An Arduino Neural Network Robot (from start to finish)
Magic Wand on Arduino Nano 33 BLE Sense using TensorFlow Lite
Determining a Plant’s Health with TinyML
TinyML Keyword Detection for Controlling RGB Lights
TinyML Water Sensor – Based on Edge Impulse & Arduino Sense
TinyML Arduino & IoT Based Touch-Free Solutions
Calculating Reading Time with TinyML and Arduino Nano 33 BLE TinyML
Cough Detection with TinyML on Arduino