top | item 20686727

The “terrible” 3 cent MCU – a short survey of sub $0.10 microcontrollers

252 points| jerryr | 6 years ago |cpldcpu.wordpress.com

94 comments

order

dbcurtis|6 years ago

These have their uses.

A friend who frequently does contract development in the toy space has (or at least used to have) a favorite go-to MCU that costs under $0.06 in bare die. It is essentially a 6502 with 100 bytes of RAM and a metric butt-load of mask-programmable ROM. It was originally designed for greeting cards. He has designed it into toys.

It is hard to use, you need a dev kit and a good relationship with the distributor to get the documentation. It only makes sense in high-volume products, since it comes as passivated bare die so assembly requires a die-bonder and expoxy encapsulation depositer.

Not for everyday use. But as my friend says: “You haven’t lived until you have spent an entire afternoon arguing over $0.05 on the BOM.”

jerryr|6 years ago

That sounds very similar to my experience with toy development. For a toy that played a bunch of pre-recorded sounds, we used a 4-bit Winbond MCU (their MCU division is now Nuvoton) that had a tiny bit of RAM and a ton of mask ROM. Firmware development was done in assembly and targeted a huge (physically large) emulator for test/debug. When we were satisfied with the firmware, we'd send it off to our CM, who would then order the parts with our FW in ROM. They'd get back bare die parts, which were wire bonded to the PCB and then epoxied over (that miserable "glop top" packaging, which is the bane of many teardowns). Development was a bit painful, but high volume production was extremely cheap.

Edit: Oops. I conflated projects. The toy project actually used a SunPlus MCU, not a Winbond MCU. It was an 8-bit RISC CPU running at 5MHz with 128 bytes RAM and 256KB mask ROM. The ROM held both the program and audio samples. I don't recall what encoding was used for the audio.

bobjordan|6 years ago

Great story, thanks for sharing. I for one pretty much constantly live the life he alludes to at my company bomquote.com. In China, we actually negotiate in increments of ~1/6th of a penny.

MarcPereira|6 years ago

It´s very common to find those chips in cheap home alarm systems.

In Brazil, Holtek has a huge presence in that niche.

somesortofsystm|6 years ago

>6502

Without question, one of the nicest platforms to have in multitudes of thousands, at low energy and cost ..

nsxwolf|6 years ago

Is a "expoxy encapsulation depositer" the thing that makes those black blobs?

benj111|6 years ago

"metric butt-load of mask-programmable ROM"

What would that be in this context? I'm guessing we're talking KB rather than TB?

tomcam|6 years ago

Amazing numbers. Can you give me a more accurate number than metric buttload? Closer to 8K or 64K, for example?

mastax|6 years ago

Some Philips sonicare toothbrushes use(d) a 4-bit microcontroller from an obscure Swiss company. (From memory, since I can't find the EEVBlog video teardown) 52 bytes of RAM, custom size mask ROM, ? Kilohertz clock speed. It makes sense, they just needed a timer for the "2 minutes of brushing is up" feature, and maybe some battery management. It still surprised me that it was worth the hassle to save a few cents, even if they sell millions of the things. They must make insane margins: $80 for a vibration motor and $25 brush refills.

ska|6 years ago

It's pretty easy to make the hassle worthwhile, if you are selling (particularly many) millions of things. Even saving a dime on BOM for a million units shipped will pay an engineer year, roughly.

I still remember a friend relating with a mixture of horror and fondness that in 15 years probably the biggest impact he ever had to the bottom line of [big computer manufacturer no longer in existence] was re-routing a PCB in a way that let them make it smaller with no functional change. The materials cost savings over product lifetime was in the 7-8 figures range, he claimed.

kens|6 years ago

I did a teardown of a Sonicare toothbrush that used an 8-bit PIC 16F1516 microcontroller. There's a lot more going on in the toothbrush than I expected. I expected a simple motor, but there's a mechanically-complex resonant coil mechanism, driven by an H-bridge. There's some expensive manufacturing in there. Another interesting thing was the toothbrush has a "pressure sensor" to tell if you're brushing too hard, but it's really a Hall-effect sensor.

http://www.righto.com/2016/09/sonicare-toothbrush-teardown.h...

Scoundreller|6 years ago

I don’t know how, or why, but I’ve bought the same Phillips toothbrush for $20 from AliExpress when my original broke.

And I buy the heads from Asia too for a fraction of the store price.

ChuckMcM|6 years ago

It is interesting that its possible to produce chips at this price for more than a short time period. Also that they are all basically PIC clones or variants speaks to the core competency of these companies is manufacturing and operational efficiency, not MCU design.

I think a fascinating experiment here would be to invest some time in an unencumbered scalable design that could be implemented very inexpensively (say less than 10K gates). Would these manufacturers pick up that design and run with it, making variants and parts that people could buy? It would get Microchip off their back (several have been sued apparently).

dbcurtis|6 years ago

> I think a fascinating experiment here would be to invest some time in an unencumbered scalable design that could be implemented very inexpensively (say less than 10K gates). Would these manufacturers pick up that design and run with it,

I have done that thought experiment many times. I have a ISA that I sketched out many years ago but never did anything with. Often, I have thought it would be a real hoot to put up a working Verilog model on Github with a public domain license just to see if I could bait somebody in China into manufacturing it for me so that I could buy it off Digi-Key :)

Of course, the CPU isn't really the value any more. One salesman for an ARM licensee said it best: "Look at the die photos from any of the ARM licensee's. We are all just selling value-added flash." And as far as that goes, it isn't the CPU that drives the part design-in decision. It is having good, bug-free, peripherals in the right mix and a reasonable tool chain.

So the "free CPU design as wild oats" idea has appeal, but it would need an LLVM back-end to go with it, at minimum, and then unencumbered Verilog for a collection of basic peripherals.

petra|6 years ago

Here's this experiment sort-of running:

WCH, which sells cheap mcu's(like $0.25 8051-mcu with usb/16Kflash) is working on a risc-V bluetooth mcu:

https://www.cnx-software.com/2019/02/16/wch-ch572-risc-v-mcu...

And since risc-v has versions somewhere around 5K-10K gates, well, a lower end mcu isn't far, probably.

Still, it would be interesting to think how we can get from that, to standard peripherals, and standard pinouts, used by at least 2 mcu makers. That would be interesting.

nabla9|6 years ago

Chips inspired by Chuck Moore's designs would fit this niche.

joezydeco|6 years ago

I would think a lot of manufacturers are looking to RISC-V for that kind of eventuality. But in the meantime, and looking at that chart, it seems a lot more convenient to just rip off the PIC.

kragen|6 years ago

They're using long-obsolete process nodes, so they can use surplus equipment, but at the cost of power efficiency. (Yes, that obsolete.)

tluyben2|6 years ago

When getting into a project, I usually work with someone in the hardware design space (I can do larger electronics myself and thus prototypes, but I'm hired for very small circuit projects) and after creating a prototype, we usually start searching for the the cheapest MCU (and other components) that fit the project. Spending a lot of time doing assembly and making it fit the constrained memory will pay off when doing million factory runs. A lot of MCU's I work with are faster (or only marginally slower) than my beloved Z80 I grew up with an programmed many years, but usually have less (sometimes far less) memory. I have not worked with kilohertz since the early 80s but he, if it fits (it almost never does) I am all for the lowest priced and power friendly MCUs I can find.

stevekemp|6 years ago

It's funny but I've been driving a Z80 with an arduino-mega recently, and I actually timed it for the first time a couple of days ago. I'm getting 6000 clock-cycles a second. 6Khz, rather than that 6Mhz it would be cable of running standalone.

azinman2|6 years ago

Any consideration as to why a chip might be cheaper (e.g. worst labor practices, worse environmental practices, etc)?

the-dude|6 years ago

Around the year 2000, a PIC 12C508A was about 1 Dutch guilder @ 5000 pcs.

Today, Mouser lists 1 pcs @ € 0,908, 100 pcs @ € 0,863.

The guilder/€ is 2,20371 ( muscle memory ).

The MCUs in the article are 12C508A class, one is an actual clone.

So for ~ € 0,80 at quantity, the 12C508A currently costs about 1.75 guilder. 20 years later.

childintime|6 years ago

I wonder how much of Microchip revenue is from old chips at very profitable prices.

I did a Digikey comparison once, and Microchip alone provided roughly 30% of all MCUs on digikey. It has, for example, an incredible 175 MCU models with exactly 64B of RAM, 1.75KB of ROM and just 5 I/Os.

firethief|6 years ago

> They address a specific category of low-cost, high volume, non-serviceable products with limited functionality. You need to wait for the push of a button and then let an LED flash exactly five times? You need to control a battery-operated night light? The sub $0.10 MCU is your friend to reduce BOM and shorten development time.

If you're allergic to 555s, I guess?

HeyLaughingBoy|6 years ago

The logic you'd need to add to a 555 to flash an LED exactly five times would likely cost more than doing it in an MCU.

throwaway2048|6 years ago

These are cheaper than 555s, more easily available in various footprints, need almost no supporting passive circuity or glue logic, lower power usage, and more flexible to boot.

Popularity of the 555 waned a long, long time ago.

nsxwolf|6 years ago

For the push button example I can envision using a pair of 555s or a 556 as a timer for the flashing and a latch to store the success condition, but how does it count to 5? You need more logic in here, so why not a cheap programmable chip?

kragen|6 years ago

The microcontrollers we're talking about here cost the same as a 555, or less, and don't need external timing components.

Havoc|6 years ago

>Due to lack of programming tools and evaluation boards I was only able to review most devices by datasheet

hmm. Well I don't blame the author but that kinda killed my interest

rtpg|6 years ago

I wonder what the lowest-priced chip you can pick up with a reasonable toolchain that is accessible to hobbyists?

gumby|6 years ago

You would be surprised by the places sub-$1 mcus appear, even down to a dime. Car manufactures use them all over the place, even ECUs(at least until recently; I'm no longer "in the biz"). Yes, shaving a few pennies from the BOM of a $30K device is still worth doing when you produce them in huge volume.

dbuder|6 years ago

[deleted]

zokier|6 years ago

The top end padauk ("PFS173") actually seems pretty reasonable chip, comparable to bottom end attinys with only quarter of the price.

howard941|6 years ago

After I got over being spoiled by ARMs I fell for Padauk's stuff which I now think are awesome and makes almost everything that leaves the building a candidate for a micro. It breaks the old rules where you had to have a certain level of complexity in the product to justify using a processor. Their stuff are economical replacements for discrete logic and a no brainer for the ubiquitous ADC->serial use cases.

My hardware guy came on really heavy against the Padauk stuff because it was put to me that the temperature range wasn't wide enough particularly at the high end where supposedly we had to operate at 125C. I actually think attinys made it in the design instead of the Padauks just because of personal preference and an unwillingness to share the project rather than unavailability in automotive temp range.

So the tubes of Padauks and a pair of ICEs I brought in so it would be very easy to play with sit unused and I am now at a different place that places more emphasis on what all of the engineers think rather than just whoever happened to draw the long straw for the project.

kabdib|6 years ago

I wrote code for a MCU that did power sequencing on a consumer product. 4K of code, 2K of RAM, some EEPROM, a 16Mhz clock . . . 18 cents.

It was a fun little project: http://www.dadhacker.com/blog/?p=1911

kristianp|6 years ago

Sounds like the size where forth code might be used. Anyone done that?