Raspberry Pi Direct: buy RP2040 in bulk from just $0.70(raspberrypi.com)
raspberrypi.com
Raspberry Pi Direct: buy RP2040 in bulk from just $0.70
https://www.raspberrypi.com/news/raspberry-pi-direct-buy-rp2040-in-bulk-from-just-0-70/
23 comments
And I wish it were more limited, cheaper, and more widely available. If your use case requires significant networking, use something designed for that.
Yes please. Where is RPi's answer to Padauk's 3 cent MCU?
The RP2040 is probably overkill for many projects but the pricing makes it very attractive for almost everything except where power and size are a huge factor. Many less capable MCUs are more than twice as expensive.
It can also replace an FPGA in certain cases where you need handle low latency I/O by using RP2040's Programmable IO [0]. (Not that it's the only microcontroller with this of kind abilities, there are others.)
[0]: https://www.cnx-software.com/2021/01/27/a-closer-look-at-ras...
[0]: https://www.cnx-software.com/2021/01/27/a-closer-look-at-ras...
The PIO is absolutely awesome, it's 100% the killer app for RP2040. Coupled with a second core to babysit PIO if needed, it actually competes with $15 microcontrollers in I/O heavy workloads (which is a huge proportion of all microcontroller workloads).
> Not that it's the only microcontroller with this of kind abilities, there are others.
Texas Instrument had RPUs in some socs, including the one used in beaglebone.
Barely used, but I recall a demo where it was used to control a homemade PCB laser engraver with impressive speed and accuracy.
Texas Instrument had RPUs in some socs, including the one used in beaglebone.
Barely used, but I recall a demo where it was used to control a homemade PCB laser engraver with impressive speed and accuracy.
This could be incredible for us. We've been facing the same shortages of various STM32 ARM MCU's as everyone else, but most (all?) of our designs could theoretically be replaced with RP2040's -- and the dual core M0+ could provide some key performance/latency guarantees that single, more powerful cores like the M3 might not be able to.
Whether it's worth the engineering time to port the code and re-design PCB's is...dubious, at our low volumes. But any option that attempts to promise to "beat" the contemporary supply chain challenges would be strongly considered. The long-term price savings are attractive as well (~$10 less per board over what we currently use -- which admittedly was optimized for development convenience, not per-unit cost).
Whether it's worth the engineering time to port the code and re-design PCB's is...dubious, at our low volumes. But any option that attempts to promise to "beat" the contemporary supply chain challenges would be strongly considered. The long-term price savings are attractive as well (~$10 less per board over what we currently use -- which admittedly was optimized for development convenience, not per-unit cost).
I just checked the prices for the cheap Arduino Pro Micro boards that used to be around $1.40 or so just a few years ago. They are >$5 now when buying from AliExpress and >10€ when buying from ebay.de! The chip shortage is real.
Given the increased prices $0.70 for thie RP2040 seems like a good deal.
Given the increased prices $0.70 for thie RP2040 seems like a good deal.
But the RP2040 has no non-volatile storage, right? So you need to include a Flash chip in your cost estimates.
It'll still be <$2, but it also means putting another chip on your board and routing around it. The old ESP32s worked that way too, but most people used the SoM "cans" when those chips were new because of the complexity in routing an antenna trace.
Personally, I'll wait for gen2 and pray for a simpler bootstrapping process for bare metal code.
It'll still be <$2, but it also means putting another chip on your board and routing around it. The old ESP32s worked that way too, but most people used the SoM "cans" when those chips were new because of the complexity in routing an antenna trace.
Personally, I'll wait for gen2 and pray for a simpler bootstrapping process for bare metal code.
Correct.
To be pedantic, there is a built-in 16kB ROM starting at address 0x00000000 with RPi's open-source BootROM burned into it at the time the silicon is manufactured. There's no publicly-known way to write to this. It's technically "non-volatile storage", but it's not useful to anyone other than RaspberryPi/TSMC.
To be pedantic, there is a built-in 16kB ROM starting at address 0x00000000 with RPi's open-source BootROM burned into it at the time the silicon is manufactured. There's no publicly-known way to write to this. It's technically "non-volatile storage", but it's not useful to anyone other than RaspberryPi/TSMC.
There's no privately known way of writing to it either. Mask ROMs are set in stone.
Right so now I just need a use in my household for 500 IoTs
Just kidding - great news for small manufacturing
Just kidding - great news for small manufacturing
In fairness, many of these will end up in consumers hands shortly after a bit of additional value-add. On the bare-bones side, that's things like JLC PCB stocking them for pro-hobbyists to get custom low-volume PCB's made with them. A bit higher up the food chain, mere tinkerers could expect to find more form factors of fully ready-to-use boards available at microcenter/ailexpess/amazon/sparkfun/etc.
For mere hobbyists, adding network connectivity will be the biggest hurdle for most of their projects, and hopefully some of the microcenter (et. al) options will provide options. It doesn't have any on-board solutions for this (unlike, say an STM32F207 which has low-level ethernet capability that just needs to be broken out to a physical interface).
Generally though I think most networking solutions for the RP2040 will max out at 66.5Mbps max theoretical throughput, because this is the limitation of SPI interface when the RP2040 has its system clock set to 133MHz (perhaps a bit more throughput is possible with overclocking).
Note that the dual Cortex M0+ cores have some (serious) limitations, namely: No floating point math (although the compilers usually do a pretty decent job of letting hobbyists forget this!). No Embedded Trace Macrocell or Program Trace Macrocell for debugging (only Micro Trace Buffer). Only 4 breakpoints and 2 hardware watchpoints.
It's important to truly understand the hardware limitations as much as possible to avoid issues caused by things like interrupt priority inversion[0].
0: https://kentindell.github.io/2021/03/05/pico-priority-invers...
For mere hobbyists, adding network connectivity will be the biggest hurdle for most of their projects, and hopefully some of the microcenter (et. al) options will provide options. It doesn't have any on-board solutions for this (unlike, say an STM32F207 which has low-level ethernet capability that just needs to be broken out to a physical interface).
Generally though I think most networking solutions for the RP2040 will max out at 66.5Mbps max theoretical throughput, because this is the limitation of SPI interface when the RP2040 has its system clock set to 133MHz (perhaps a bit more throughput is possible with overclocking).
Note that the dual Cortex M0+ cores have some (serious) limitations, namely: No floating point math (although the compilers usually do a pretty decent job of letting hobbyists forget this!). No Embedded Trace Macrocell or Program Trace Macrocell for debugging (only Micro Trace Buffer). Only 4 breakpoints and 2 hardware watchpoints.
It's important to truly understand the hardware limitations as much as possible to avoid issues caused by things like interrupt priority inversion[0].
0: https://kentindell.github.io/2021/03/05/pico-priority-invers...
[deleted]
What sort of project can a layman/non-electrical engineer do with bare chips like these?
And don't you always end up reproducing an RPi (with barebone specs for your needs) to be able of putting them to use? Like don't you need to give them power, storage, plugs and co, from which point shouldn't you just use an RPi?
And don't you always end up reproducing an RPi (with barebone specs for your needs) to be able of putting them to use? Like don't you need to give them power, storage, plugs and co, from which point shouldn't you just use an RPi?
For the non-expert, there's the Pi Pico.
If you were going to make a product out of something you prototyped with a Pi Pico, you'd want to put as much of your electronics as possible on one PCB for cost, size, manufacturability, and reliability.
If you were going to make a product out of something you prototyped with a Pi Pico, you'd want to put as much of your electronics as possible on one PCB for cost, size, manufacturability, and reliability.
RP2040/Pi Pico platform is confusingly a microcontroller platform, like Arduino, not a small Linux PC kind of system.
It can run anything of complexity of PC BIOS or CP/M or Early MS-DOS, but can’t boot Linux Kernel at all.
What this means is it probably solves Pro Micro price hikes due to widespread use in DIY keyboards. I’d been looking for an alternative to it and been wondering if it make sense to make a batch of CH55xduino board for a while.
It can run anything of complexity of PC BIOS or CP/M or Early MS-DOS, but can’t boot Linux Kernel at all.
What this means is it probably solves Pro Micro price hikes due to widespread use in DIY keyboards. I’d been looking for an alternative to it and been wondering if it make sense to make a batch of CH55xduino board for a while.
But maybe the next version.. I hope they will add this because it would be great to have a truly open connected controller.