> 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.