Arducam Pico4ML-BLE for TinyML: Data Aquisition On-The-Fly, Bluetooth 5.0 & More
Everything with Pico4ML, Plus Bluetooth 5.0 & A Few Tweaks
After talking to one of the authors of the TinyML Book, Mr. Pete Warden, we’ve decided to change our Pico4ML a bit and add Bluetooth to it.
Except for the extra Bluetooth module, the specs of the BLE version are identical to Pico4ML:
- Microcontroller: Raspberry Pi RP2040
- IMU: ICM-20948 (low power)
- Mono channel microphone w/ direct PCM output
- Buttons: BOOTSEL & BLE Mode Select,
- Camera Module: HiMax HM01B0 by Default, Up to QVGA (320 x 240)
- Bluetooth: U6161 BLE 5.0 Module
- 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
Changes we’ve made to the new board:
- The camera module and the microphone chip have been moved to the back, where the Bluetooth module is added.
- The LCD screen has been brought to the front, right below the two buttons.
- The Reset button is replaced with a programmable button, you can modify it to switch Bluetooth modes, control the camera module, rotate the screen, etc.
- The onboard camera now supports two sensors: Arducam HM01B0 & HM0360.
Swappable Camera Modules
Pico4ML-BLE has changeable cameras, the onboard QVGA module (HM01B0) can be replaced with a VGA HM0360 module, which is also a low-power sensor that is capable of configurable 1-bit video data serial interface with video frame and line sync.
We also offer customization services for these two cameras.
Edge Impulse Data Acquisition via Web Bluetooth
One of the best methods to enhance a machine learning model’s accuracy is to add more data sets, Pico4ML-BLE will be a perfect board for getting the extra miles in data collection, you can pair the board with your computer, and open up your web browser to wirelessly pull data from the onboard microphone, the IMU, the camera module, and nearly any external sensors.
You can easily label and convert these data into appropriate formats that can later be imported into Edge Impulse.
Using Pico4ML-BLE as an Input Device
You can also turn the Pico4ML-BLE into an HID-compliant input device, and use it as a DIY Bluetooth mouse, keyboard, joystick, etc. for your Windows/Linux/MacOS computers, and with some programming, you can even add some macros.
Here’s a tutorial on how to build a magic wand with data collected from an Arducam Pico4ML-BLE board:
Posts not found
Change & Deploy TinyML Models w/ OTA (Over-The-Air) Updates
Currently, if you’d like to remotely program a Pico board, the simplest way would be to connect the board to a Raspberry Pi Zero W for a headless setup and use it to send over-the-air updates to the Pico, the only setback is that every time you want to put new codes to the pico, you’ll have to physically press the Pico’s BOOTSEL button to turn it into a mass storage device.
Our future plans for Pico4ML-BLE is to make it possible for you to deploy new AI models only with a Bluetooth connection, there will be no need for additional hardware and extra button-pushing. This will probably be the first RP2040 board that supports over-the-air programming.
Our end goal is to make make Pico4ML-BLE the most versatile RP2040 dev board for tiny machine learning.