STM32F103, $0.99 at Qty 1K from LCSC: 72 MHz CM3, 128KB flash, 20KB SRAM.
STM32L431, $0.98 at Qty 1K from LCSC: 80 MHz CM4, 256KB flash, 64KB SRAM.
There are several ST clones from China that are offering a bit more SRAM, a bit higher clock speeds or slightly more flash, like 512KB, but nothing even comes close to the RP2350.
PIO more than makes up for the lack of any digital-specific interface that you think you're missing, not to mention you have an entire extra core just sitting around that you could use to bit-bang whatever crazy interface you decide that you need.
The main area where they are significantly lagging their price-matched competitors is the ADC, and analog in general. I suspect that they are prioritizing limited die area for compute over large analog blocks that are hard to characterize and design on whatever process Sony is giving them.
And if you really need certain specific peripherals (and low-power doesn't matter to you) - capacitive/inductive sensing, DACs, etc., you're almost better off buying a low-spec ultra cheap MCU with the features you need, and then running it as a peripheral to the RP2350. I honestly don't think there's a better price/performance chip out there right now.
> And if you really need certain specific peripherals (and low-power doesn't matter to you) - capacitive/inductive sensing, DACs, etc., you're almost better off buying a low-spec ultra cheap MCU with the features you need, and then running it as a peripheral to the RP2350. I honestly don't think there's a better price/performance chip out there right now.
Price performance? You're not going to beat DDR2 RAM with microcontrollers..., which I'm seeing at 128MB for $3 or less these days, in terms of price/performance. Once we start talking about price/performance of compute, we very, very quickly rise up the escalation scale all the way to servers.
My point is that uCs exist almost purely because of their analog features. Take the STM32L431: its got 1x OpAmp, 2x DACs, and 5Msps 12-bit ADC at less than $1.
The only other devices that offer as much analog components are other microcontrollers (AVR, PIC, MSP430, MSPM0, etc. etc.). And in most cases, these other microcontrollers have "some niche" that tries to differentiate itself. That's why there's also so many of them, some of them are explicitly designed to be motor-controllers as one example.
--------
What real-world analog task are you looking at that requires 520KB of SRAM? Things are the opposite. Real-world analog-sensing tasks are like temperature-sensors (which take many seconds to change), or at fastest... things like rotation-sensors on a motor (10,000 RPM is 166Hz, even a 1MHz 8051 is sufficient to keep up with 10,000 RPM or 166Hz motors).
In these cases, the most important thing is... having a 2nd DAC. Or having Analog Comparators. Remember that Analog Comparators are 1-bit ADCs really, so those 2x ACs in the STM32L431 kinda-sorta act as an additional independently-running ADC in practice.
If you're using the 12-bit ADC on some important measurement task, its usually nice to have a 2nd AC and a 3rd AC measuring other attributes. Take for example a Buck converter: you might use the ADC to measure current (after the x16 multiplier from the OpAmp to help minimize the resistance of the shunt-current sense resistor), but then use Analog Comparator#1 as the feedback-sense to set the output voltage and then Analog Comparator#2 goes to your temperature-sensor for emergency thermal shutdown.
And AC#1 (aka: Output voltage) quite possibly needs to change depending on current, so you'd like that to be programmable. So the STM32L431 solves that by configuring DAC#1 to AC#1-, and now you got a controller that reacts instantly.
> capacitive/inductive sensing,
I'm not 100% sure, but I feel like the PIOs probably can implement capacitive sensing. Its actually just a timer and PIOs look like _very_ advanced timers to me.
------------
Or lets take the 4-20mA protocol as another example. How would you use the RP2354 to make a 4-20mA compatible product? Your one ADC is on the sensor, and you don't have any Analog Comparators (or other analog components...), so you're already out of analog components to implement the protocol.
You can of course use I2C sensors (which opens up the ADC off of sensing duty and onto current-sense duty needed to implement 4-20mA transmit), but how many I2C sensors out there are cheaper than these microcontrollers?
Even then: RP2350 / RP2040 is a single-ended ADC, is it not? That makes current-sensing low-side only which limits the applicability. Its not even a good solution.
I know that AVR / Atmel chips offer differential ADCs (aka: sense the voltage of (A-B)), which is instrumental in high-side current sensing. Its not sufficient to assume B is ground in 4-20mA protocol.
The STM32L431 has an OpAmp, so it wouldn't be too hard to implement (A-B) across two points using the OpAmp (aka: Differential Amplifier mode) and then report it to the single-ended ADC. So its different, but ultimately the STM32L431 chip solves the problem.
And yes, there are plenty of highly-specialized microcontrollers that serve a variety of industry niches quite well.
But look at the competitors from ST in RP2354A price bracket of ~$1:
RP2354A, $1 at whatever quantity: Dual 150 MHz CM33, 2MB flash, 520KB SRAM
STM32F103, $0.99 at Qty 1K from LCSC: 72 MHz CM3, 128KB flash, 20KB SRAM.
STM32L431, $0.98 at Qty 1K from LCSC: 80 MHz CM4, 256KB flash, 64KB SRAM.
There are several ST clones from China that are offering a bit more SRAM, a bit higher clock speeds or slightly more flash, like 512KB, but nothing even comes close to the RP2350.
PIO more than makes up for the lack of any digital-specific interface that you think you're missing, not to mention you have an entire extra core just sitting around that you could use to bit-bang whatever crazy interface you decide that you need.
The main area where they are significantly lagging their price-matched competitors is the ADC, and analog in general. I suspect that they are prioritizing limited die area for compute over large analog blocks that are hard to characterize and design on whatever process Sony is giving them.
And if you really need certain specific peripherals (and low-power doesn't matter to you) - capacitive/inductive sensing, DACs, etc., you're almost better off buying a low-spec ultra cheap MCU with the features you need, and then running it as a peripheral to the RP2350. I honestly don't think there's a better price/performance chip out there right now.