8-bit Microcontrollers for ~high volume production

Hi,
For simple products where an 8-bit micro is more than enough, there is some push to use 32-bit because it is arguably cheaper nowadays and the SW team is more up to speed on these platforms. For low volume, this is probably true, but for high-volume/low-cost products I am not so sure…

I am looking for long term alternatives to the 32bit STMs that we are currently using.
What 8-bit micros are you using?
Thank you

The sweet spot for me is the 16-bit PIC24 family for performance, maturity, breadth of features, ease of development, and ease of moving up to the dsPIC33 for more speed, but I’m not doing any high-volume cost-sensitive stuff these days.

Similarly to @JuliaTruchsess PIC16 or PIC24 series are solid go-tos. Also, you can get them pre-programmed without significant MOQ.

Why isn’t the STM8 an option if your team is already using STM32s?

1 Like

There is a pretty big range of high-volume cost discussion… if it’s not insanely price sensitive there is still a lot of room in the 32-bit space IMO. Besides some lower-cost mainstream options (like STM32F0) you can get high performance for low cost ($0.50 - $2) from places like GigaDevice (GD32x is basically a STM32 clone), or their RISC-V core offerings. I’ve seen GD32 parts showing up in what I would call “reasonably respectable” end user products FWIW.

If you want even cheaper WCH microcontrollers (CH32 series) are similar clones but even cheaper (<$0.50), although those I can’t say I’ve ever tried. Again they also have their own models besides just clones too.

For either of those we’re talking LCSC ordering for protos, but if you’re doing high-volume presumably it’s eventually being made somewhere that is closer to those supply chains anyway.

For me I mostly use 8-bit where there is legacy code supporting it, where I need specific peripherals that the micro family has, or some 8-bit chips are using older processes and empirically I’ve seen them be more resilient to e.g., ESD problems and electrical noise.

1 Like

We use the PIC18 — low cost and with a wide variety of peripherals to choose from

I’m also a big fan of the pic24 and dspic33. most of my team, however, like the pic32s a lot (we also are mostly working on low volume less cost sensitive products like med devices)

Does the PIC18 require RAM bank switching? That’s a nightmare for me (I code in assembler) and the cost differential vs PIC24 is not enough to compensate for that pain. Also PIC24 has multiply and divide instructions.

Hi Julia,

I think using the PIC18 in assembly can be a bit painful. You’re operating in 256-byte banks if you want high-efficiency instructions. There are instructions that can access the full memory map directly, but they take two opcodes instead of one, and the architecture only supports multiplication (no hardware divide).

We always use it in C, and the compiler is actually quite effective. That said, if you need more math-heavy processing, the PIC24 is definitely the way to go. We used its “steroids” version, the dsPIC33, and it’s a little beast.

We once implemented a low-frequency (125 kHz carrier) software-defined radio using its high-speed ADC as a down-converter and performed all the DSP functions to decode the data in software. It was a really fun project to work on.

1 Like

I’m starting a project with the MSPM0L130x family. That are well under a $1 in volume. its a 32 bit ARM M0 with TI peripherals.

There are (of course) several cheap parts under a dime, but they are very limited. .

I took a quick look at it, and it looks quite good. We haven’t used TI much lately — we used the MSP430 extensively for years, but it started to become expensive and hard to source

+1 for CH32s. cnlohr has done an excellent job on ch32fun, there is also a bit of Zephyr integration.

WCH has other cool wacky chips. Worth looking at their site for a bit.

I swapped STM 8 bit for PY32F series. 32bit for 10c. Based on ARM M0+ well known architecture. At that price there is no point in using 8 bit anymore. For some reason western distributors do carry the PY memory chips but not their PY32Fxxx micro controllers. Politics ?