To make Raspberry Pi Pico more robust for TFLite Micro, the Arducam team took the Raspberry Silicon (also known as the RP2040 chip) and created Pico4ML, a microcontroller dev board made exclusively for running and training machine learning examples.
Arducam Pico4ML Specifications
- Microcontroller: Raspberry Pi RP2040
- IMU: ICM-20948 (low power)
- Mono channel microphone w/ direct PCM output
- Camera Module: HiMax HM01B0, Up to QVGA (320 x 240 @60fps)
- Screen: 0.96 inch LCD SPI Display (160 x 80, ST7735)
- Operating Voltage: 3.3V
- Input Voltage: VBUS: 5V +/- 10%. VSYS Max :5.5V
- Length: 51 mm
- Width: 21 mm
- 3-axis gyroscope, 3-axis accelerometer, 3-axis compass, and a Digital Motion Processor™ (DMPTM) in a 3 mm x 3 mm x 1 mm (24-pin QFN) package
- DMP offloads computation of motion processing algorithms from the host processor, improving system power performance
- EIS FSYNC support
- Lowest Power 9-Axis Device at 2.5 mW
- 3-Axis Gyroscope with Programmable FSR of ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps
- 3-Axis Accelerometer with Programmable FSR of ±2g, ±4g, ±8g, and ±16g
- 3-Axis Compass with a wide range to ±4900 μT
- Onboard Digital Motion Processor (DMP)
- Android support
- Auxiliary I2C interface for external sensors
- On-Chip 16-bit ADCs and Programmable Filters
- 7 MHz SPI or 400 kHz Fast Mode I²C
- Digital-output temperature sensor
- VDD operating range of 1.71V to 3.6V
- MEMS structure hermetically sealed and bonded at wafer level
- RoHS and Green compliant
- Direct PCM output
- 20 bit, 16 kHz Sample Rate
- Mono Channel
- 64dB signal-to-noise ratio
Three Pre-trained TF Lite Models from The Official TinyML Book
Demo 1: Wake-Word Detection
Demo 2: Magic Wand (Gesture Detection)
Demo 3: Person Detection
Arducam Pico4ML Pinout
- Dual-core Arm Cortex-M0+ processor, flexible clock running up to 133 MHz.
- 264KB on-chip SRAM.
- 2MB on-board QSPI Flash.
- 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.
- Castellated module allows soldering direct to carrier boards.
- 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.
Data Sheets, Docs & Files
- Pico4ML user manual
- Pico4ML Enclosure STEP File
- Pico4ml-case-upper STEP File
- Pico4ml-case-bottom STEP File
- Getting Started with MicroPython on Rpi Pico
- C/C++ Development w/ Pico and RP2040-based Boards
- Raspberry Pi Pico Datasheet
- RP2040 Datasheet
- RPi Pico C/C++ SDK
- RPi Pico Python SDK
- API references
- Burn firmware
- 1 x Arducam Pico4ML Dev Board
- 1 x Micro USB Cable