Machine learning (ML) typically conjures up ideas of fancy code requiring oodles of storage and tons of processing power. However, there are some ML models that, once trained, can readily be run on much more spartan hardware – even a microcontroller! The RP2040, star of the Raspberry Pi Pico, is one such chip up to the task, and [Arducam] have announced a board aiming to employ it to those ends – the Pico4ML.
The board goes heavy on the hardware, equipping the RP2040 with plenty of tools useful for machine learning tasks. There’s a QVGA camera on board, as well as a tiny 0.96″ TFT display. The camera feed can even be streamed live to the screen if so desired. There’s also a microphone to capture audio and an IMU, already baked into the board. This puts object, speech, and gesture recognition well within the purview of the Pico4ML.
Running ML models on a board like the Pico4ML isn’t about robust high performance situations. Instead, it’s intended for applications where low power and portability are key. If you’ve got some ideas on what the Pico4ML could do and do well, sound off in the comments. We’d probably hook it up to a network so we could have it automatically place an order when we yell out for pizza. We’ve covered machine learning on microcontrollers before, too – with a great Remoticon talk on how to get started!
After a spider incident yesterday I’d like a spider tracking robot. Visual tracking and then feed back so we know where is safe.
Watched the 3 videos at the link. Still wondering what’s it’s purpose. Not to mention without WiFi, who is going to want to have it plugged into a computer to get the data. Thats pointless.
the Pico isn’t the only board with an RP2040, but this gives one a SUPER cheap way to train and develop it.
$49 for the chip (that’s not bad), $30 shipping?…Where’s it coming from? Mars?
$30 is an option for the express shipping like Fedex,DHL. It will be soon available on Amazon by free shipping.
Seems like it’d be fairly easy to connect to a raspberry pi or similar. I imagine using a USB connection would vastly simplify things compared to connecting all these peripherals directly to a pi, especially on a robot/UAS where space is at a premium
I want to plug it on my car, and it can detect when I or my wife are getting on the driver’s seat, and adjust the seat settings and air conditioning accordingly.
1 –
Must everything have built in WiFi?
It has GPIOs. Connect it to a chip for whatever communication method fits the application and let it send a signal when it “sees” whatever you have programmed it to watch for. WiFi, Ethernet, LoRa or even one of those super simple 433MHz chips.
It’s nice to have a choice of methods. Don’t want another battery changing chore? If you are running power wires you might as well run communication wires too. It’s cheap, reliable and gives better privacy.
Going wireless but don’t need a lot of bandwidth, just an occasional “hey, I spotted one” signal? A lower bandwidth mode will consume far less power than WiFi and get you more range.
Want to connect your phone to it but not always in the same building, with the same wireless network. Bluetooth!
Or, need to send the actual video stream or a constant feed of all the data. In that case, sure WiFi but lets not marry every project to WiFi like it’s the only tool out there.
Talked to the Pete Warden author of the book TinyML, the BLE is a bonus. Will be availble with the BLE in next board revision. Easy for data acquisition and training, even update the model on-the-fly without changing the code.
I agree. The ‘WiFi’ craze is getting out of hand. I at one time thought about having RPIs all over the house connected via Wifi…. But then I realized, I still had power to deal with for each unit. End cool factor. So if going to do that ,,, either run a comm cable too (more secure anyway) or just run a wire or two for the sensor array your installing (say door open/close, door bell, etc.) and bring back to a central location(s). So back to normal running wire to sensors instead of bringing controller to sensors. makes more sense (to me). Save the controller near sensor for cameras and such that ‘need’ the bandwidth.
If you would like to learn TinyML with the book https://www.oreilly.com/library/view/tinyml/9781492052036/, this board and videos are useful. All ofthe examples are running without the computer, they are deployed to the device. Only the power (bank) should be connected to the micro-usb.
It could be a game changer for introductory machine learning education with onboard camera and display.
Well, with this size, combine it with the creepy realistic eye, and you have an intelligent camera that can look around, follow you, and even creep you out by recognising your hat.
You mean this one?
https://hackaday.com/2021/04/12/eyecam-is-watching-you-in-between-blinks/
Nothing to Hide (a video game) in real life.
Without price and specifications, it’s ‘kinda hard to know if this is exciting or not.
Pre order $49.99 (follow 1e link)
A little more info can be found from: https://www.arducam.com/pico4ml-an-rp2040-based-platform-for-tiny-machine-learning/
Eurorack synthesizer application please. Look at me and my room and generate MIDI.
I was looking forward to this but $50+postage seems over the odds.
An ESP32 Cam module with Camera (and Wifi+Bluetooth) is around 1/3rd this amount.
I wonder if the current silicon shortage is driving this price?
ESP32 is a different story, the chip itself has Wifi+Bluetooth, while the RP2040 doesn’t. The camera is also different, extreamly low power and other IMU, microphone, LCD features, as well as dual ARM cores. It is only based on users preference to choose ESP32 or RP2040.
It’s a nice camera module, especially for low-power applications, but the RP2040’s current consumption will dwarf it so much I wonder if it’s worth it?
The ESP32 module at 1/3rd the price also included a TFT, a pure ESP32-Cam module is normally around $5, so 1/10th the price of this module! (granted it’s harder to use!).
I’d love to know the price of the RP2040 IC alone!
Another even more relevant comparison is perhaps the Spark Fun Edge- much lower power consumption & BLE for half the price (when you include the same camera module). It too claims it’s good for tensorflow stuff.
I am intrigued by the RP2040 but I’m still not sure where it’s niche lies?
Can anybody actually point me towards an attractive rp2040 board that has added wireless & Bluetooth, maybe bring a certain feature parity with the ESP32?
Seems like the first thing I’d add to the mix if I were designing one., very strange that I’ve not come across any ‘yet’.
Actually not sure what peripheral chip would provide suitable wireless capabilities, yet retain the level of integration as the Espressif chips
Not difficult to add an ESP32 or ESP8266 to RP2040 with UART connection.
Nice board. This looks like the perfect way to get into TinyML for vision apps.
I have bought a sprinkler with solar panel and PIR detector. Now I just need to trigger it only when a cat is in the picture. 2-3 guys have built stuff like that, but too complex/expensive, built on rapberries. I need if for cheap.
https://aws.amazon.com/blogs/iot/creating-object-recognition-with-espressif-esp32/
you can try PlarformIO & Arduino for RP2040
https://github.com/Wiz-IO/wizio-pico
RP is pricey ’cause of too much hype ’round it!
Definitely go for ESP32 instead. Also plenty of different models to choose from, all with Wi-Fi an BT which you can turn off if not needed.