AndrewBCN wrote: Sat May 22, 2021 2:47 pm
I am still trying to think of a single use case where the RP2040 would be a better choice than any member of the STM32 family, whether for a maker or for an engineer designing a product for industrial use.
Also in terms of development tools and ease of use, the STM32 family is light years ahead.
Btw I am an RPi 4 fan. Fantastic, extremely powerful SBC for as little as $35 (but I suggest going for the 4Gb version for as little as $55, and a USB M.2 drive for $40 more).
The RP2040, meh...
well i'm quite a fan of stm32s as well, but more because i'm *lazy* to learn other mcus, it is easier and use one set of tools for the programming.
the registers and headers are familiar etc. ST designed the stm32 families pretty well. e.g. i found that stm32f4xx pretty much use the same / similar registers across the stm32f4xx line, with the 'higher end' chips having more features / registers that 'entry level' ones don't.
this makes it possible to make .h includes files that could be used without 'if defs', at least not within the .h itself.
it is occasionally even possible to check registers on the 'lower end' ones to see that a particular feature isn't there and the firmware can 'skip' processing dynamically. this makes it possible to write a same firmware that can work on both 'low end' and 'high end' stm32f4 chips.
for what is worth rp2040 has lots of sram (they moved flash out to external to make room for it), while sram and flash are abundant on the 'higher end' stm32 chips. so if considering a board, rp2040 is more 'flexible' as you can combine different amount of flash with the same limited amount of sram.
that sram and abundant flash (since it is external after all) makes it possible to run things like micropython which would otherwise not fit in there.
and having more sram and flash means bigger and fatter arduino sketches can be written and run on RPi pico.
i tried making a web server interacting with esp8266 on a stm32f103c8, the main thing about that 'web' stuff is that even a simple http header can blow the 20k sram budget on a stm32f103c8, and you still need sram for the normal ops (e.g. stack), global variables etc. sram is precious on the small devices.
making a web server with a 'duino' is easy on RPi pico due to the large cache of sram. that would make possible 'simple' stuff like controlling a led from a web page. and it isn't just limited to 'leds', you could probably put a whole motor control web (say a 3d printer) on the RPi pico making use of the sram and flash, and you can probably stream your 3d printing (or cnc machine) gcodes across wifi via a web or mqtt interface.
i'd think mqtt is already possible with stm32 even the small stm32f103c8 20k sram. but for a full 'web' experience, it'd take a more abundant sram/flash mcu e.g. the 'higher' end stm32 say stm32f407ve 512k sram & 512k flash or stm32f405rg 512k sram 1m flash etc