Top TinyML Boards for Machine Learning on Small Devices (2022 Edition)
TinyML boards are small, low-power microcontrollers that are designed to run machine learning models at the edge. These boards are a great way to bring machine learning capabilities to your projects, and they are becoming increasingly popular as more and more people discover their potential.
Introduction
In this post, we’ll take a look at some of the most popular TinyML boards currently available. We’ll provide a brief overview of each board, as well as a link where you can find more information and purchase them.
Sipeed Maixduino
Arduino Nano 33 BLE Sense
The Arduino Nano 33 BLE Sense is a small, powerful microcontroller that is perfect for TinyML projects. The board uses mainly the Arduino Integrated Development Environment (IDE) and has a range of libraries and example projects available.
- 9 axis inertial sensor: what makes this board ideal for wearable devices
- Humidity, and temperature sensor: to get highly accurate measurements of the environmental conditions
- Barometric sensor: you could make a simple weather station
- Microphone: to capture and analyse sound in real time
- Gesture, proximity, light color and light intensity sensor : estimate the room’s luminosity, but also whether someone is moving close to the board
You can find more information and purchase the Arduino Nano 33 BLE Sense here: https://store.arduino.cc/products/arduino-nano-33-ble-sense?selectedStore=eu
Adafruit EdgeBadge
The Adafruit EdgeBadge is a tiny, low-power microcontroller that is specifically designed for TinyML projects.
- ATSAMD51J19 @ 120MHz with 3.3V logic/power – 512KB of FLASH + 192KB of RAM
- 2 MB of SPI Flash for storing images, sounds, animations, whatever!
- 1.8″ 160×128 Color TFT Display connected to its own SPI port
- 8 x Game/Control Buttons with nice silicone button tops (these feel great)
- 5 x NeoPixels for badge dazzle, or game score-keeping
- Triple-axis accelerometer (motion sensor)
- Light sensor, reverse-mount so that it points out the front
- Built in buzzer mini-speaker
- Mono Class-D speaker driver for 4-8 ohm speakers, up to 2 Watts
- LiPoly battery port with built in recharging capability
- USB port for battery charging, programming and debugging
- Two female header strips with Feather-compatible pinout so you can plug any FeatherWings in
- JST ports for NeoPixels, sensor input, and I2C (you can fit I2C Grove connectors in here)
- Reset button
- On-Off switch
You can find more information and purchase the Adafruit EdgeBadge here: https://www.adafruit.com/product/4500
SparkFun Edge
The SparkFun Edge is a powerful, low-power microcontroller that is perfect for TinyML projects. It has a Cortex M4 processor and comes with a number of built-in sensors.
Microcontroller
- 32-bit ARM Cortex-M4F processor with Direct Memory Access
- 48MHz CPU clock, 96MHz with TurboSPOT™
- Extremely low-power usage: 6uA/MHz
- 1MB Flash
- 384KB SRAM
- Dedicated Bluetooth processor with BLE 5
Onboard
- ST LIS2DH12 3-axis accelerometer
- 2x MEMS microphones with operational amplifier
- Himax HM01B0 camera connector
- Qwiic connector
- 4 x GPIO connections
- 4 x user LEDs
- 1 x user button
- FTDI-style serial header for programming
- Bluetooth antenna
- CR2032 coin cell holder for battery operation
You can find more information and purchase the SparkFun Edge here: https://www.sparkfun.com/products/15170
Coral Dev Board
The Coral Dev Board is a powerful, low-power microcontroller that is specifically designed for machine learning projects. The Dev Board also has a range of libraries and example projects available, so you can easily build and deploy machine learning models at the edge.
CPU | NXP i.MX 8M SoC (quad Cortex-A53, Cortex-M4F) |
GPU | Integrated GC7000 Lite Graphics |
ML accelerator | Google Edge TPU coprocessor: 4 TOPS (int8); 2 TOPS per watt |
RAM | 1 or 4 GB LPDDR4 |
Flash memory | 8 GB eMMC, MicroSD slot |
Wireless | Wi-Fi 2×2 MIMO (802.11b/g/n/ac 2.4/5GHz) and Bluetooth 4.2 |
USB | Type-C OTG; Type-C power; Type-A 3.0 host; Micro-B serial console |
LAN | Gigabit Ethernet port |
Audio | 3.5mm audio jack (CTIA compliant); Digital PDM microphone (x2); 2.54mm 4-pin terminal for stereo speakers |
Video | HDMI 2.0a (full size); 39-pin FFC connector for MIPI-DSI display (4-lane); 24-pin FFC connector for MIPI-CSI2 camera (4-lane) |
GPIO | 3.3V power rail; 40 – 255 ohms programmable impedance; ~82 mA max current |
Power | 5V DC (USB Type-C) |
You can find more information and purchase the Coral Dev Board here: https://coral.ai/products/dev-board/
Seeeduino XIAO
The Seeeduino XIAO is a small, low-power microcontroller that is perfect for TinyML projects. The XIAO is compatible with the Arduino Integrated Development Environment (IDE) and has a range of libraries and example projects available.
- High Performance: Powered by SAMD21G18 chip, operating up to 48MHz, equipped with 32KB of SRAM, and 256KB of onboard flash memory
- Ultra-small Design: 21 x 17.5mm, Seeed Studio XIAO series classic form-factor, suitable for wearable devices
- Multiple Development Interfaces: 11x analog / 11x digital Pins, 1x I2C interface, 1x UART port, and 1 SPI port
- Multiple Develop Platform: Support Arduino / Micropython / CircuitPython development, friendly for beginners, satisfied for electronics enthusiasts
- Perfect for Production: Breadboard-friendly & SMD design, no components on the back
You can find more information and purchase the Seeeduino XIAO here: https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html
BBC micro:bit
The BBC micro:bit is a small, low-power microcontroller that is perfect for TinyML projects. The micro:bit is easy to program and has a range of libraries and example projects available.
- Microprocessor: 32-bit ARM® Cortex™ M0 CPU
- A 5×5 LED matrix with 25 red LEDs to light up and can display animiated patterns, scrolling text and alphanumeric characters
- Two programmable buttons. Use them as a games controller, or control music on a smart phone
- On-board motion detector or 3-AXIS digital accelerometer that can detect movement e.g. shake, tilt or free-fall
- A built-in compass, 3D magnetometer to sense which direction you’re facing and your movement in degrees and detect the presence of certain metals and magnets
- Bluetooth® Smart Technology. Connect the micro:bit to other micro:bits, devices, phones, tablets, cameras and other everday objects
- 20 pin edge connector: This allows the micro:bit to be connected to other devices such as Raspberry Pi, Arduino, Galileo and Kano through a standard connector
- Micro-USB controller: This is controlled by a separate processor and presents the micro:bit to a computer as a memory stick
- Five Ring Input and Output (I/O) including power (PWR), ground (GRD) and 3 x I/O.
- System LED x 1 (yellow)
You can find more information and purchase the BBC micro:bit here: https://www.microbit.org/buy/
Teensy 4.1
The Teensy 4.1 is a powerful, low-power microcontroller that is perfect for TinyML projects. It has a Cortex M7 processor. The Teensy 4.1 is easy to program and has a range of libraries and example projects available.
- ARM Cortex-M7 at 600 MHz
- Float point math unit, 64 & 32 bits
- 7936K Flash, 1024K RAM (512K tightly coupled), 4K EEPROM (emulated)
- QSPI memory expansion, locations for 2 extra RAM or Flash chips
- USB device 480 Mbit/sec & USB host 480 Mbit/sec
- 55 digital input/output pins, 35 PWM output pins
- 18 analog input pins
- 8 serial, 3 SPI, 3 I2C ports
- 2 I2S/TDM and 1 S/PDIF digital audio port
- 3 CAN Bus (1 with CAN FD)
- 1 SDIO (4 bit) native SD Card port
- Ethernet 10/100 Mbit with DP83825 PHY
- 32 general purpose DMA channels
- Cryptographic Acceleration & Random Number Generator
- RTC for date/time
- Programmable FlexIO
- Pixel Processing Pipeline
- Peripheral cross triggering
- Power On/Off management
You can find more information and purchase the Teensy 4.1 here: https://www.pjrc.com/store/teensy41.html
Raspberry Pi Pico
The Raspberry Pi Pico is a small, low-power microcontroller that is perfect for TinyML projects. It has a Cortex M0+. The Pico is compatible with the Python programming language and has a range of libraries and example projects available.
- 21 mm × 51 mm form factor
- RP2040 microcontroller chip designed by Raspberry Pi in the UK
- Dual-core Arm Cortex-M0+ processor, flexible clock running up to 133 MHz
- 264kB on-chip SRAM
- 2MB on-board QSPI flash
- 2.4GHz 802.11n wireless LAN (Raspberry Pi Pico W and WH only)
- 26 multifunction GPIO pins, including 3 analogue inputs
- 2 × UART, 2 × SPI controllers, 2 × I2C controllers, 16 × PWM channels
- 1 × USB 1.1 controller and PHY, with host and device support
- 8 × Programmable I/O (PIO) state machines for custom peripheral support
- Supported input power 1.8–5.5V DC
- Operating temperature -20°C to +85°C (Raspberry Pi Pico and Pico H); -20°C to +70°C (Raspberry Pi Pico W and Pico WH)
- Castellated module allows soldering direct to carrier boards (Raspberry Pi Pico and Pico W only)
- Drag-and-drop programming using mass storage over USB
- Low-power sleep and dormant modes
- Accurate on-chip clock
- Temperature sensor
- Accelerated integer and floating-point libraries on-chip
You can find more information and purchase the Raspberry Pi Pico here: https://www.raspberrypi.org/products/raspberry-pi-pico/
OpenMV H7
Seeed Studio Wio Terminal
STM32 Nucleo
- Learn more about the STM32 Nucleo: https://www.st.com/en/evaluation-tools/stm32-nucleo-boards.html+
Nordic Semiconductor nRF52840
BeagleBone AI
NVIDIA Jetson Nano
Conclusion
These are just a few examples of tinyML boards, and there are many other options available depending on your needs and budget. Whether you’re a hobbyist, a developer, or a researcher, there is a tinyML board out there that can meet your needs and help you build innovative machine learning applications.