An RP2040 Board Designed For Machine Learning

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!

29 thoughts on “An RP2040 Board Designed For Machine Learning

  1. 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.

    1. 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

    2. 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.

      1. 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.

      2. 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.

  2. 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.

  3. 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?

    1. 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.

      1. 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?

  4. 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

  5. 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.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.