UDP transmitter implemented with PIO and DMA on the RP2040(vanhunteradams.com) |
UDP transmitter implemented with PIO and DMA on the RP2040(vanhunteradams.com) |
In fact if you want more than say 250kB of RAM, currently the cheapest alternative on Mouser is ~$5 (STM32F730V8T6TR). And that will have less flash!
Yes, it is not a replacement for ESP32 but it isn't supposed to, it is placed squarely between arduino and ESP32 power-wise
Yes and no: with the STM32 you don't necessarily need an external flash chip (= significantly less PCB space consumed) and you get a lot more integrated high speed peripherals than the RP2040 has, including 50MHz SDMMC, 50Mbit/s SPIs, 27Mbit/s USARTs, and proper 480Mbit/s Hi-Speed USB 2.0. The STM32 is also significantly faster (216MHz), uses a Cortex-M7 instead of a Cortex-M0+, has a memory protection unit, and so on. The RP2040 is a toy in comparison.
It really depends on what you need for your project. Sometimes that weird RP2040 can be the perfect choice for a project, sometimes an even cheaper STM32 could be an even better choice, and sometimes you need a powerful chip like e.g. that STM32F730V8T6TR.
For many, if not most, embedded MCU applications I would think that dual core at 133MHz is powerful.
Its still impressive of course, for the level of effort to properly create Ethernet frames. But there's a reason why various Ethernet protocols are creeping up upon CANbus. People are realizing that these cheap $1 to $5 uCs actually have the compute power for 10Mbit Ethernet, and can talk full-on socket programming.
I don't know when this realization started exactly, but more-and-more "low power Ethernet" options appear on the market, hoping to dethrone CANbus.
FWIW, I believe there is a real bit-banged ethernet stack on Atmel.
https://hackaday.com/2014/08/29/bit-banging-ethernet-on-an-a...
Today, there are "computers" that are being used as $0.05 timers running at 32kHz clock. RP2040 is aiming at the $1.5ish price point and is somewhat appropriate for the task. (I think that most of the Cortex-M32, M22, and M0+ competitors are a bit more pragmatic with regards to more capabilities in a single chip... but RP2040's niche is external flash, USB and a few other tidbits that hobbyists like)
-----------
"General Purpose Compute" is like $5 to $15. ESP32 still isn't quite there IMO despite being larger than RP2040. I'm thinking you want something like TI's AM335x or NXP's i.MX6 processors.
IMO anyway. But every price point from 5-cents to $15 has an option. The embedded world is extremely competitive. There will be that $6 processor with exactly the features you need to perform exactly the task you want. And a different processor at $3.50 that solves a different niche, and another processor at $11. Etc. etc.
> ucLinux which would put it in another category entirely.
A general purpose compute processor should support external RAM and external Flash for maximum flexibility for different tasks. That way, one die can be used in many different projects.
Cost-optimized processors, like what the RP2040 and its bretherin in the Cortex-M0+ cost tier, are here for people who "can't afford" an external memory interface. Either due to power-constraints (external RAM costs more power) or cost-constraints (straight up dollars).
The minute we hit $5+, we start seeing external memory interfaces supporting older 128MB DDR3 RAM and such and compute-capabilities per dollar shoots up dramatically. There's no point trying to compete against the $5 market with $1.50 chips. And forget uCLinux, these babies just run full on Linux (albeit with far less RAM/compute than a normal computer...)
-------
Like: 50-cents of NOR-flash just doesn't get you as far as a microSD card sorta thing. RP2040 is still on the "low-cost" side of the efficiency curve, if anyone cared about compute performance they'd spend $5ish to $10ish more dollars.
Though IMO, the most interesting chips here are the Cortex-M22 or Cortex-M32 chips (from everybody). These chips have outstanding features at under 5mA of power usage, albeit more expensive than your typical M0+ chip.
M0+ like RP2040 is always about cost-optimization. But capabilities wise, there's all sorts of other processors that simply does more in smaller power envelopes.
----------
Thinking things like Nordic Semiconductor's nRF5340.
RP2040 has an MPU as well, just FYI
Also, good luck GETTING an STM32H7/F7. I've had an order outstanding for ~13 months, expecting parts in 3 more moths. All this while i was able to buy RPO2040 trivially. There is something to be said for actually being able to GET the chip, even if it is not the perfect tool for your job.
Cortex-M4 is the "smallest ARM" with an MPU IIRC (Or was it M7??). RP2040 is Cortex-M0+ which shouldn't have MPU, from my memory.
C-m0+ has an optional MPU: https://developer.arm.com/documentation/dui0662/b/Cortex-M0-...
RP2040 has it: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.p.... (page 76)