Machine Learning on Raspberry Pi Pico, RP2040, and future RPi MCUs

Although the Raspberry Pi Pico comes with the RP2040 chip that lacks the performance to implement machine learning inference for its applications. However, we saw a person detection use case through ArduCAM and TensorFlow lite interface. But, the processing performance of the use case was on the slower side. Additionally, a recent Eben Upton presentation also unveiled that due to low power requirements the board compensates the processing efficiency. Hence, it offers low-performance for edge inference and machine learning use cases.

RP2040 Boards Feature Image

Eben Upton’s teaser on improvement in machine learning and the future scope of “Pi Silicon” revealed potential growth and development in edge inference applications. The demand for RP2040 boards has given rise to the market necessity for more boards. This demand can only be fulfilled if more boards with RP2040 chip are available in the market and company “partners such as Adafruit, Pimoroni, Adafruit and Sparkfun are start releasing their own hardware, many with features not found on the Pico.”

The RP2040 SoC enables the maximum performance for machine learning inference at the lowest power, this is due to its energy-efficient dual Arm Cortex-M0+ cores working at a comparatively higher frequency of 133 MHz. Hence, there are a few third-party Raspberry Pi RP2040 boards dedicated to ML applications. Some of these are:

Arduino Nano RP2040 Connect Board for Machine Learning Inference

Arduino Nano RP2040 Connect board is one such board featuring an STMicro MEMS sensor with 9-axis IMU and microphone. These are for the data collection on which the edge inference modeling can be done. Additionally, it includes 16MB external SPI flash, a u-blox NINA WiFi & Bluetooth module for flexible connectivity. “This can allow the users to develop connected products leveraging the hardware powered by Raspberry silicon. A solid radio module with efficient performance, and the Arduino Create IoT Cloud.”

Arduino Nano RP2040 Connect

SparkFun’s MicroMod RP2040 Processor

SparkFun also came up with a MicroMod RP2040 processor similar to its other processor cards which are compatible with different SparkFun carrier boards. Hence, the MicroMod RP2040 card can act as a dynamic add-on for various carrier boards depending on the applications of the users. Specifically, the ML carrier board would be a great fit for the RP2040 card due to its ML functionalities. For more information visit the detailed article on SparkFun’s processor cards and carrier boards.

RP2040 MicroMod

Arducam Pico4ML: The new ArduinoML TensorFlow Lite board 

Additionally, Arducam has specifically named its RP2040 board as Arducam Pico4ML. The board comes with all Tensorflow Lite Micro use-cases on a single platform. Arducam says “as the RP2040 SoC is based on a high-clocked dual Cortex-M0+, it’s also a remarkably good platform for endpoint AI, or more specifically TinyML.” The new ArduinoML TensorFlow Lite board comes with the following functionalities:

  • Wake word detection
  • Magic wand
  • Person detection
  • On-device LCD display
  • Other sensor-based analysis

 

Arducam Pico4ML

However, as discussed earlier the person detection example using Arducam and TensorFlow lite with Raspberry Pi Pico was quite slow. So, it is still a dilemma if the ML use cases will perform efficiently on the Arducam Pico4ML. The board is not yet released, so you can join the waitlist and follow the Twitter updates of the board. The links for the same are available on the product page.

Looking at the few drawbacks of the Raspberry Pi Pico in terms of machine learning, Eben Upton’s presentation has also unveiled the Raspberry Pi’s plan to work on its current RP2040 chip to enhance its edge computing capacity for machine learning. The organization aims to build lightweight on-device AI accelerators for low power machine learning inference and edge computing.

Source: Tom’s Hardware

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

27 Replies to “Machine Learning on Raspberry Pi Pico, RP2040, and future RPi MCUs”

  1. TBH I’m not getting the hype around a Cortex M0.
    Potentially there is a dual cortex a7 in almost the same package that should run at ~1.8GHz.

      1. >not much better than an STM32F4

        Or the even cheaper clones from gigadevice.. If someone have $5 to burn and wants some fun I think those Zynq based bitcoin miner boards are still on taobao for about that. I think I saw someone trying to get the devicetree for them into mainline a few week ago.

      2. May be you are wrong ? (e.g. STM32F411RET6 is currently in the 6.7-8.4 USD range at Farnell, Avnet, RS, Arrow, Digi-Key in single units and about 4.8-5.8 USD when you order 10000+ ) Btw.: the RP2040 price points aren’t published yet – so you can’t compare.

          1. Fine for you. I have similar experiences with a risc-v board. But note: devboards don’t reflect real prices, especially in small quantities.

        1. >Btw.: the RP2040 price points aren’t published yet – so you can’t compare.

          I don’t know about you but to me the fact that a charity is going to have price points like a high volume semiconductor vendor seems really off.

          Also unless it’s a work project don’t pay western distributor prices. Those prices are for people paying with someone else’s money. Take a look at lcsc (https://lcsc.com/search?q=STM32F411RET6 out of stock right now but much better price) or something..

          1. Yes, lcsc is a source – if (and only if) you are looking for small quantities (up to about 1000-). You mention STM32F411RET6 is currently out of stock at lcsc. That’s quite common with lcsc – as they distribute to a large degree remaining stocks from other orders. Btw.: Regarding pico and RP2040 we are talking about Millions (note the plural). From a single TSMC 40nm LP 12 Zoll wafer you get 30k RP2040 (every RP2040 die is about 1.4 mm * 1.5 mm)
            Regarding charity: “Raspberry Foundation” is the charity part. “Raspberry Trading” is the commercial part that supports the foundation with money.

          2. >Yes, lcsc is a source – if (and only if) you are looking for small quantities (up to about 1000-)

            Yes and that’s what I wrote..

            If you are looking for 1000+ you would get a sales rep and get them to get you a better price. I doubt anyone actually orders anything aside from passives in quantities like that from retail sites.

            >Btw.: Regarding pico and RP2040 we are talking about Millions (note the plural). 

            Not sure why I need to be caring about this..

            >Regarding charity: “Raspberry Foundation” is the charity part. >“Raspberry Trading” is the commercial part that supports the foundation with money.

            “Raspberry Pi (Trading) Ltd is a wholly owned subsidiary of Raspberry Pi Foundation”

            They are one and the same thing.

          3. “I doubt anyone actually orders anything aside from passives in quantities like that from retail sites.”
            It my be new for you but Sony does so – when populating pi boards.

            “They are one and the same thing.”
            Not really. For very important legal reasons.

            “Not sure why I need to be caring about this”
            You don’t need to. But when it comes to price-points the number of units is a very important number. 1000 or 100000 units – that’s two different universe.

          4. >It my be new for you

            This is going to be interesting…

            >but Sony does so –

            I think I might have heard of them somewhere..

            >when populating pi boards.

            I doubt whichever division of Sony is doing that is actually ordering components straight from retail sites with the company CC.

            If you want to test this theory just try and get the PMIC and the SoC used on the rpi4 from a retail site. Those are not retail stocked parts and you need a relationship with a sales rep to even get samples.

            Anyhow, I know contract manufacturers don’t use retail sites because they told me they don’t. At a previous job I had to spec an alternative part because there was a weird shortage with ceramic caps.. I found a part and told the contract manufacturer that the digikey price was twice of the original part they laughed and said “yeah, we buy directly from the manufacturer so that’s not a problem”. And just like the rpi4 the stuff they were building was using parts that aren’t available via retail sites (i.e. Marvell and Broadcom parts).

            >But when it comes to price-points the number of
            >units is a very important number. 1000 or 100000
            >units – that’s two different universe.

            How many parts they get out of a wafer means nothing to you at retail.
            Do they order the lead frames, trays etc in the same multiples? Who knows..

          5. A few quick notes: (1) Broadcom is a fabless company. They are not involved when it comes to manufacturing. (2) Yes, BCM “components” are not sold in small units and not through distributors (there are rare exceptions) – in fact: there are cases where their designs do not start before anyone place a *volume* order. (3) Concerning Pi-4 : Distributor Farnell is involved in PI-4-8 (the version with 8 GByte RAM). (4) So it becomes a bit complicated for Pi-4-8 : Raspberry, BCM, TSMC, Farnell and Sony are involved. 

            “Do they order the lead frames, trays etc in the same multiples? Who knows..”
            Raspberry buys several TSMC wafers for its RP2040. (If you like you could do your very own RP2040 design. Start with a MPW-project. TSMC offers 50-70 samples (3 mm*mm die, 40nm LP) for 18420 USD 🙂 )
            Mid 2021 Raspberry T will offer the RP2040 B1 (packed) throughout distributors ( Of course for well under 4 USD )
            .

          6. > (1)

            Don’t care, doesn’t matter.

            >(2)

            Exactly. So whoever does contract manufacturing for rpi is not asking the boss for the CC on Friday, clicking the order button and hoping those parts turn up for a run on Monday.

            >(3)

            Again I don’t care. You said contract manufacturers are using the retail websites of distributors to get parts. Unless they are making something in 10s of units that would be insane. The higher number prices breaks on the sites for 10,000 etc are so you can roughly work out what something will cost when you go into production.

            >Raspberry buys several TSMC wafers for its RP2040.

            A wafer is a single component here. You still need to get it packaged into a QFN, loaded onto trays or reels, have the trays or reels packaged and then get the result shipped from where ever it is to where your customer is.

            >If you like you could do your very own RP2040 design.
            >Of course for well under 4 USD

            This goes right back to my first comment about this being a cortex m0.
            Why would I go to all of that trouble to get bare dies I can’t use or pay ~$4 for the RP2040 when right now I can get a bog standard cortex m0 from Gigadevice for $.25 or less, an ESP32 module for a few bucks… and I can get a Dual Cortex A7 with 128MB of DDR3 in a QFN that runs a 1.8GHz (https://github.com/linux-chenxing/linux-chenxing.org/discussions/14) for <$4 in singles.

          7. “This goes right back to my first comment about this being a cortex m0”
            Try to be fair: In fact it’s a “2-core-cortex-m0+” design.

            “A wafer is a single component here.”
            I’m aware of this. (btw. i m an experienced VLSI designer). Packing and others does add costs to the RP2040.

            “Why would I go to all of that trouble to get bare dies I can’t use or pay ~$4 for the RP2040”
            To my knowledge it is not planed to distribute RP 2040 bare dies. There is a reason why i wrote “RP 2040 B1 (packed)”. BTW. the “RP 2040 B1 (packed)” will be offered at a very, very low price point in quantities. You will probably read about them when they are available in quantities.

            “You said contract manufacturers are using the retail websites of distributors to get parts.”
            That was not said/meant. Especially for volume production. In fact, there websites are only the beginning of negotiations with them about prices and other things.

          8. They didn’t needed to go with their own MCU in the first place. Nothing special about the RP2040. They could have gone with a RISC-V design in order to safe money. I also get the impression the main reason is to lock people onto their platform.

      3. Raspberry as a brand equals strong community support. I know 8-bit Arduino boards are supported, but these STM boards are less famous, thus have little or no support for students learning micro controller programming.

    1. It’s not because it’s a Cortex M0, it’s because there’s a Raspberry painted on it. It could have been an AVR, a PIC, a Z80, an 8051 or anything else, the hype would have been the same. As such they were right to pick the cheapest one 🙂

        1. Arduino started with the atmega168 which wasn’t exactly the cheapest by then, but was a very good balance of features, performance and price. Plus the big win on the AVR choice is the wide availability of development tools. PIC failed to provide an accessible toolchain, you had either to pay for one or use hitec-c which didn’t make good use of your limited code space. So Arduino very likely picked the best balance of all factors for their target. It’s so true that they were the first ones to put microcontrollers into kids hands, which was a great achievement (just like RPi managed to standardize the use of SBCs).

          1. The problem with Arduino is that the legacy 8-bit MCU doesn’t run modern embedded languages that well.

          2. Seriously ? To be honest, I think that 8-bit MCUs are the last ones forcing the developer to think a little bit before clicking on the “generate crappy code for me” button, and due to this are the only ones working flawlessly for decades in field. Just because they’re targeting simple applications that do not require to “run modern embedded languages” (i.e. environments made for those who refuse to spend 1 hour to read a doc and prefer to waste 100 chasing a stupid bug).

    2. There are even RISC-V chips with Bluetooth for the same price. I also don’t get it. There is also the vendor lockin factor. Not available on the free market. No resonable support in major RTOS yet. Why should anyone with a clear mind do something stupid like that? Do they really think people are that stupid?

      1. “There are even RISC-V chips with Bluetooth for the same price.”
        Yes – I have some of those RISC-V chips on my desk (One of them – one with a radar processing macro – is my design). “same price” ??? Did you know the price for the “RP 2040 B1” chip ??? You don’t.

        “Not available on the free market.”
        If you aren’t interested, i don’t understand why you are so concerned. All others: Wait a few more months, then “RP 2040 B1” (currently only available in view samples) will be available on the open market.

        “No resonable support in major RTOS yet.”
        When the “RP 2040 B1” chip will be available in large quantities on the market, there will be reasonable support in major RTOS

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC