At Embedded World 2023, Texas Instruments announced MSPM0, its first family of Arm Cortex M0+ microcontrollers. The family started with two lines: MSPM0L for low cost, low power designs running at up to 32 MHz, and MSPM0G for higher performance at up to 80 MHz. Both run from 1.62 V to 3.6 V and come in many pin to pin compatible packages.
Cortex M0+ parts are everywhere already. What makes MSPM0 interesting to us is the amount of analog TI built in alongside the core: 12 bit ADCs, comparators, op amps and, on some parts, DACs. For a company with TI’s analog history, that is where its microcontrollers can stand out.
Where integrated analog helps
Many sensor products need only a little signal conditioning: a thermistor, a pressure sensor, a battery voltage, a slow photodiode. On a typical board that means an external op amp or two, some precision resistors and an ADC input. With the op amps and ADC inside the microcontroller, the same front end can shrink to a handful of passive parts. That saves board space, reduces the bill of materials, and puts fewer parts at risk in the next shortage.
It also keeps routing short. Every centimetre of trace between a small sensor signal and the ADC is a chance to pick up noise; when the amplifier sits on the same die as the converter, there is less to get wrong.
Where it does not
Integrated analog is a compromise between cost, power and performance. For demanding front ends, a dedicated precision amplifier still wins. The high speed, low noise transimpedance amplifiers we design for optical sensing need bandwidth, noise and input bias current that a general purpose op amp inside a microcontroller is not built for. The same goes for biopotential measurement, where the input stage sets the noise floor of the whole instrument.
Our rule of thumb: simulate the front end with the integrated op amp’s real specifications first. If the noise, bandwidth and offset budgets close with margin, use it. If they only just close, use a dedicated part.
Where a Cortex M0+ fits
An M0+ core is small, efficient and cheap. It suits control loops, sensor hubs, power management, simple user interfaces and housekeeping tasks next to a larger processor. It has no floating point unit, so maths heavy work runs in fixed point or moves to a Cortex M4F or M33 class part. If your firmware filters signals or runs a model, check the timing on real hardware early.
How we evaluate a new MCU family
A new family is only useful if it is safe to design in. Before using one in a client product we look at:
- Tools and SDK maturity: a low cost evaluation board, a stable SDK, working examples for the peripherals we need, and support in the usual toolchains.
- Errata: what has gone wrong in the first silicon revisions, and what the workarounds cost.
- Availability: stock across several distributors, lead times, and a stated production lifetime.
- Migration paths: pin compatible bigger and smaller parts, so a design can grow or shrink without a new layout.
We also keep firmware as independent of any one microcontroller as we can, with hardware specific code behind a thin layer, so adding a new family is a port rather than a rewrite. We wrote about that approach in our note on IDEs for firmware development.
Our experience with TI
We have used TI parts in many designs, including biopotential sensors, high speed TIA circuits and IoT RF modules, and TI’s amplifiers in particular for their precision and low noise. More choice in low cost microcontrollers with good analog is good news for the sensor products we build, and MSPM0 is now on the shortlist when a design calls for one.