Comparing Those Ten Cent Microcontrollers

If you follow the world of microcontrollers, then you’ll probably be familiar with the most recent crop of ten cent parts. They bring power and features previously the preserve of much more expensive chips into the super-budget arena, and they’re appearing in plenty of projects on these pages.

If you’re not familiar with them it can seem daunting to decide which one to use, so to help you [Zach of All Trades] is comparing two of the more common ones. The CH32V003 with a RISC-V core and the PY32F002 with an ARM Cortex M0+ core are both pretty similar on paper, but which should you use?

The video below gives a run-down of each part along with some demonstrations before making its conclusions. The ARM-based part isn’t as quick as the RISC-V one but has a slight edge on peripherals, while the support is where a potential winner emerges in the shape of the CH32. That should be the last word, but for that the PY32 has the distance advantage over its rival of ready availability.

So this look at two families of cheap microcontrollers reveals the pros and cons of each, but in reality it provides an introduction to two sets of powerful chips for pennies.

As we’ve observed before, there are more chips to be found in this market.

63 thoughts on “Comparing Those Ten Cent Microcontrollers

    1. they only make sense in production where you make millions of units, for hobbyist it makes no sense at all to have all the trouble of minimal memory and peripherals just save a few $

      1. +1

        The only use I can see in my radio hobby is a ID keyer here.
        As a substitute for a precious 16F84, for example.

        Because, the chip here is pretty worthless. So it’s okay to attach it to a balloon and let if fly, never to be seen again.

        Doing same with a 16F84, ATtiny13 or ATmega328 would hurt my heart.

        But this one here is so bad it wouldn’t matter.
        My only consideration would be if it would end up in the ocean, causing more plastic pollution.

    2. “A real production environment” is *exactly* what these chips and every other chip are intended to be suited for.

      Some manufacturers actively support the hobbyist/maker market (Microchip/Atmel, Expressif are examples) because they realised that hobbyists are often engineers who can influence design in or that the hobbyist scene raises the visibility of their product among engineers but nobody makes chips intended for hobbyists.

      1. Even if it wasn’t for China being China, looking for cheaper prices elsewhere is just shooting yourself in the foot.

        Even if you pay 10x the price for something made here, the money stays here and pays for all the economic overhead of your society that you would have to, and are paying anyways regardless of where you buy the goods. For example, if you put your local factory out of business, they go to the government to ask for unemployment compensation, and so your taxes go up – or they re-employ themselves in some “service” scheme to extract value out of the economy without adding it back, which causes inflation and the worth of your earnings go down.

        Either way, going off-shore for your productive labor and industrial goods is a losing proposition if you could be doing the same thing here. Sending the money out to China doesn’t actually make it any cheaper to you as a society – it’s only “cheap” to you as an individual as far as you can wiggle away from paying the taxes and the other stuff.

    1. And while a lot of electronic components come from China, I *really* don’t like the idea of a CPU designed and manufactured in China being at the heart of anything I build. To me, this is much more “spooky” than the ME in Intel CPUs.

      1. I’m not too worried about that when the microcontroller has no network connection.
        Now the ESP32 on the other hand, those always get put on their own VLAN and only get access to what they absolutely have to.

      2. As a European, I’m worried about all of them. China, Russia, N. Korea, USA..
        They’re all frenemies of some sort, also in an economic sense.
        They all seem to try to dominate and dictate things to the world. US companies try to monopolize PC/IT industry for years, also. They also export toxic marketing concepts, without even realizing.
        The semiconductor industry is no different, I’m afraid: Designed in the States, manufactured in China..
        To most profitable conditions, of course; except for the workers.
        Hurray for capitalism and free market principle without any ethics. Sigh.
        Please don’t get me wrong, I’m not trying to troll here. The underlying problem is just so much bigger. It has its roots in western (American) business mentality. China used to be a land with lots of agricultural. Until it met us, learnt from us and had adapted to our game (trade, marketing, making war etc).

      3. A manufacturer of a home appliance microcontroller definitely considered the variety of applications and configurations it’ll be used in and managed to tailor their backdoor to each. 🥱

    2. I’d prefer the Chinese parts for three reasons:

      1) It exerts downward price pressure on EU parts, keeping the market competitive.
      2) It behooves the rest of the world to intertwine economies with China, as it reduces the likelihood of military conflict (trading partners don’t make effective enemies).
      3) Given how oppressed the Chinese people are by their government, they deserve a break.

      1. 1) copycats stealing the market retards development by spending the returns on expansion rather than innovation

        2) China’s point is to dominate the market, so they could get economic dominance over the other countries, so they wouldn’t resist or try to butt in when China behaves aggressively against its neighbors. China isn’t interested in reciprocal trade for equal value – they want other countries to go into debt and dependency on China.

        3) Part of the reason why Chinese products are cheap is because their exports industries are heavily subsidized, which is exploiting the taxpayers in China to benefit their business elites and serve the previous point.

      2. > (trading partners don’t make effective enemies).

        If you need my goods, but I don’t need your goods, then the situation isn’t equal. China runs its entire export market isolated from its domestic market, so the goods they’re producing for themselves aren’t competing with the goods they’re selling to you.

        They’re perfectly self-sufficient without international trade. They’re just setting you up a honey trap, giving you cheap goods and taking your money, and then not spending that money back on you. That way you eventually run out of money and have to come begging.

      3. With regards to point 2, China is Australia’s biggest customer. And yet, Australia is giving the USA and UK 300 billion dollars for nuclear submarines “to defend against China.” Yes, it’s bloody stupid and I sure as hell didn’t vote for it. But unfortunately it also shows that politicians are stupid and those politicians are happy to piss away their citizens’ money on stupid sabre-rattling that antagonises their biggest customer. And no, it’s not like Australia has an abundance of great schools and hospitals and railways so they can just afford to throw 300 billion dollars at the US military industrial complex.

      4. 2) It behooves the rest of the world to intertwine economies with China, as it reduces the likelihood of military conflict (trading partners don’t make effective enemies).

        I’m sorry James but this is a longstanding point that Europe has made has been proven to be false by Russia. Furthermore, China is selling Russia weapons. Finally, China has explicitly been working toward no longer be reliant on other nations to avoid outside influence.

        You need to learn more about China and their intentions.

    3. The support from STi for the STM32C0XX is really great, and when we went into production and AND we suddenly needed 48k, we had no issues meeting delivery, and price targets. Pricing coupled with great manufacturer performance provided us with a superior cost effective product. One actually may save money by using Western products especially considering the difference in the processor software development costs because of the tools provided by the manufacturer.

  1. i still don’t understand this role…if you’re building a product, sure, you can tell the difference in price. but for farting around at my workbench, i’m gonna need a board. i’m not buying naked chips (alright, maybe a naked DIP8 pic12). and to get any of these things — stm32, py32, or ch32 — under about $10 i pretty much have to go to ebay / aliexpress / temu sort of vendors and then you’re looking at about $1.50. which is fine but you can get the raspberry pico for $4 from reputable dealers and for less than a dollar from aliexpress.

    i’m still bitter that i have a small pile of ‘stm32 blue pills’ with a nuissance wrong resistor defect that i have to argue with just to use them, when the rp2040 board has been a trouble-free delight even though i eschewed the official SDK.

    i just don’t understand the benefit to hobbyists in anything cheaper than the rp2040. i was skeptical of raspberry branching out but the pico’s price point is really phenomenal for a supported documented QA-tested non-counterfeit board.

    1. For raw chips I think a mention of the ATTINY fits your bill as well. I have been using raw AVR chips for the longest time. Cheap(ish) and in all kinds of configurations, reliable AND plenty of great support.

    2. Zach here – I agree with you, even mentioned it in the video. For 90% of the off projects there are other options that are better choices. Pi Pico, or I’m partial to STM32 Nucleos.

      These are good if you need a lot of microcontrollers though for something like sensor digitization or distributed computing. And you’re making your own boards.

    3. I also have used the naked 8-pin PICs, and the ATTinys would fit the bill too. These are small and cheap enough to replace a blob of hardwired gates, flipflop, timers etc. For anything more involved, yeah, I generally grab a complete microcontroller board. And as a hobbyist, I want a solid development and library infrastructure, and several hundred experienced users available to answer questions. This is more important to me than the lowest possible part cost.

    4. If you’re building a lot of something then anywhere you can eek out a reduction in BOM cost is a win. I’m working on a project where I expect to make about 50 boards, and the difference there is $15. I’ve set a reasonable budget and that gives me room to breath.

      For development or a one-off project, yes I need a dev board. But I’m designing for the PCB, and I can arrange footprints and components how I like.

      1. Your difference is 15 USD per board, or 15 USD total? 50 or 1 hours at minimum wage. Still not that big of a saving. One can easily spend an additional 50 hours on firmware for a product if the environment is not as familiar or well-supported.
        I think getting the most out of underpowered chips is a fun engineering challenge. But rarely a good choice in terms of money…

    5. You just don’t understand how somebody with a home automation project with 25 or 30 nodes prefers to spend USD$60 (and leave room for future additional savings) instead of USD$300 in controllers alone?

      Well, it’s very easy to understand:

      Not all hobbists are blinking LEDs, let alone readers of this site who are not hobbists

      1. there’s a real disconnect here. but i feel like you’re answering my question- thanks! the reason people are interested in these things is they simply don’t believe that the rp2040 pricing is what it is. i can straight up tell you the price, and you can read my comment, and you’ll still come up with 30*4=300.

        the reason i’m talking about the rp2040 is that it’s inexpensive. you can get the complete rp2040-zero (stamp) board for $0.40 on aliexpress, or you can get the official pico board from adafruit or digikey for $4.00.

        so if you’re doing 30 units, it’s at most $120, and if you’re being cheap about it, then it’s easy to get it down to $12. you’re perception of the price is based on a mirage.

        i understand why people want to pinch pennies in the world of $10-$20 stm32 boards versus $1.50 unspported ‘blue pill’ sort of alternatives. rp2040 pricing changes all that and that’s why i keep mentioning it.

        1. “rp2040-zero (stamp) board for $0.40 on aliexpress”

          Very unlikely. Maybe as a 1 piece promo before you register, they give you $5 off for the first time so the real price is $5.40. Otherwise it is more like $2.something for Pico like board or a bit less in “Pick 3+ for free shipping” Choice deal.

          1. if you’re telling me that ordering stuff on aliexpress is never quite as cheap or convenient as you think it will be…that’s exactly my point. that’s why i’m not impressed by relentlessly shaving cost past a certain point.

            when you’re looking at a $20 stm32 ‘discovery’ dev board from mouser vs a $1.50 ‘blue pill’ from aliexpress, you really feel the pressure. but raspi got it down to $4 through the reputable channels! you can still go through gotcha-laden channels if you want but the official price is already low.

    6. Since we are talking about parts, might I suggest the mh-tiny attiny88? $1.50 CAD if you requirements are anything programmable period. I used to use Arduino Nanos at ~$5 CAD if I need more memory, but you can get rp2040 zero modules for $3 CAD which are a lot more capable.

    7. Agree on the RP2040 Pico, it’s excellent because of the price, the support and the community (similar thing with the Pi, despite all the bitching and moaning by the ‘never Pi’ guys)

      Not sure why you don’t use ‘naked chips’ though, it’s really not that difficult, especially when there are compaies like JLCPCB or PCBWay and seeing your own design on a ‘real’ PCB that looks like an actual product instead of a pile of modules on a carrier board (or worse, a rat’s nest of wires) really is a buzz.

  2. Wow, a bunch of ….odd…. takes on this article. Personally, I love cheap chips. Makes it easy to use them in roles that I’d never ever consider if I could only buy expensive(ish) and bulky ‘boards.’ I mean, just recently I built a control cluster of rotary encoders with a bunch of LEDs and stuff…. using a handful of ch32v003’s on an i2c bus. One chip per control – sure, why not? Times ten controls? easy peasy. I have TONS of use cases where a cheap low-pin-count ‘bare’ mcu is the *ideal* solution. Bonus points for being 5V capable. In such cases, even as a hobbyist, cost is *absolutely* a factor. I’m not going to use a dozen $20 dev boards on a single project, and using one giant mcu is just a PITA.

    1. that’s specifically what i’m trying to understand…from the sound of it, for your 1x project, you are enduring a lot of expense…designing and building boards, populating all the other components…can you really detect the difference between $0.10 for ch32 vs $0.40 for fully populated rp2040 ‘zero’ (stamp) boards? are you so great at it — and the documentation for these chips so reliable — that you can build a board with these tiny surface mount components on the first try, without spending hundreds of dollars on iteration? you don’t mind a development pattern that means you can’t test before pcb fabrication?

      is all that stuff somehow a lot cheaper and less error-prone than i imagine? i just feel like you’re spending hundreds of dollars per testing iteration and if $10 here or there existed to you then you simply wouldn’t be willing to do that

          1. Geez dude, enough with the 40 cents claim as even you admit you pulled out of your rear.

            Go to AliExpress and actually look instead of making crap up.

      1. $.10c x 10 mcus, draft a pcb and have JLC make it for a couple bucks – yeah, its nowhere near $100. And yes, my PCBs worked fine on the first draft. Its not rocket science to place a few passives, a dozen leds, and an MCU with good success. And because i designed them to fit the enclusure I had in mind, the end result is much tidier than a bunch of devboards and spaghetti wiring.

        But all that aside, I’d TOTALLY be up for 100pcs of those $0.40 rp2040 boards

        1. If you’re willing to wait a couple of weeks you can get dozens of 2 layer boards (paneled at the 100mmx100mm size with minimum 5count, they don’t complain if you don’t make it too annoying) for $12 from pcbway, or less than a week if you pay $25. The only passive the CH32 needs (though some people play fast and loose and skip even that) is a decoupling cap, so you just need the cap, the chip, and then the doodad and its supporting passives.

          I understand peoples’ feelings on trade prioritization and the benefits of just using the more expensive chip (I’m kinda taking that to the extreme in my current project), but this guy has a legitimately great use case for a chip like this. The RP2040 is also maaaaassive overkill for 99% of arduino-ish projects.

        2. is that true though? JLC will source the ch32v003 and the passives and solder it for you, and the price is still low for the assembled board?

          for 25 years i’ve been hearing about how cheap PCB fab has become but every time i’ve actually looked into it, to actually do it costs a lot more than the estimates that got me interested. but it has been a few years since i last looked into it

          1. https://librepcb.org Fosdem24 has a great video explaining the use of librepcb to design your own pcb then select a pcb house manufacture to create and solder parts and return you a partial or fully populated pcb. on linux apt-get install librepcb
            https:/kicad.org is also a good pcb tool.

            Any websites out there with a partially complete pcb board design to share in librepcb or kicad format?
            load the partial done board add your own specific parts and design.

            push button Rotary encoder on the PCB? spi interface?

            https://GhostBSD-arm64.blogspot.com powerful Freebsd xfce desktop workstation on a raspberry pi 4B or 400 keyboard.

            Building Librepcb pcb editor tool to run on this operating system. Comes from Freebsd Freshports.org source code.
            Install with command pkg install linrepcb on regular freebsd.org or ghostbsd.org operating system.

            WB7ODYFred at yahoo dot com

          2. JLC will indeed source and install most components for you (from LCSC). However, I don’t bother with the assembly services. All my projects are easy enough to hand solder. I tend to stick to 0604 passives and TSSOP-20 parts for the most part, which I find easier (or at least faster) to solder up than THT. My eyeballs start to struggle smaller than about 0.5mm and 0402, so I’d consider assembly services if (for example) I needed to use a lot of 0.4mm QFN parts. I don’t usually count the cost of passives because they’re only a few fractions of a cent each. For what it’s worth, I was able to get 20 PCBs made and shipped for $11CDN. And because I typically HATE laying out PCBs, I leaned heavily on the freerouting autorouter plugin for kicad. Not the prettiest, but it worked and got me past the PCB design phase in under an hour.

            I’m also refining my own PCB etching processes, and I feel like reliably getting down to 0.2mm resolution (single side) should be achievable. Which means I should be able to deal with 0.5mm pin pitch.

            For prototyping and code development, I often use DIP breakout boards on a breadboard. I don’t usually prototype the entire project at once though – just a few functions at a time.

      2. Link me in for a pile of those $0.40 RP2040 board please, I haven’t been able to find them for anywhere near that cheap.

        There’s a real pleasure and satisfaction in having your own boards manufactured though, I really do prefer that over seeing a bunch of modules soldered to a carrier board (or a rat’s nest of wires) and it’s truly not that difficult to spin up a PCB that works out of the box (or with very minor ‘fixes’) for the kind of application most hobbyists create.

  3. Is anyone here working with the JieLi Tech AC6329C4? Lots of nice features like built in lipo charger, Bluetooth 5.3, USB controller, etc. I think it qualifies in the “10 cent MCU” even though it is actually 30 cent if you only buy a few.. in stock on lcsc.com

      1. I have only been reading about it so far and have a couple of them on my workbench, was hoping someone here had done the grunt work of bringing them up ‘=)
        I’m guessing it’s quite similar to the AC690X on which Christian Kramer has done some work here: https://github.com/christian-kramer/JieLi-AC690X-Familiarization
        Link the github repo here if anyone starts working on it and i’ll try to pitch in, if nothing else by testing on my chips..

        1. Are there development boards available? Or at least some tested reference design that one can use to spin a simple board? I really need to finish current my prototypes first, but this chip would be relevant for the 1 dollar TinyML project down the line.

  4. Reminds me of a saying, “for free is still too expensive” (Geschenkt is noch zu teuer).

    The saying was spot on last time, when Windows 10 was being aggressively advertised to Windows 7 users.
    Personally,as a Windows 7 user, I was very annoyed by the pop-up window back then.

    If I had been able to choose between a “free” Windows 10 and a good product (say, an imaginary Windows 9) for a few hundred €, I had gladly paid for it.
    Because, a good tool that does what it should is priceless. Especially if you’re going to use it daily, for years.

  5. Look at the engineering labour costs verses production savings.
    You get a cheap MCU – but 100x the hassles doing development. It takes much longer and head banging to get anywhere with them, so I have learned to simply not go for the “race to the bottom” bait.

    I’ll spend a few $ on a “fancy” MCU with decent docs and be coding/running in minutes. Instead of feeling glee over a cheap chip with problems that are unknown. Who would design this crap in and expect their business to survive? The risk is huge and saving pennies here is not worth it.

    1. good luck of getting the giga bytes of ide installed and running. And getting started with the framework.

      Or you use open platform such as Arduino, you will be facing the same uncertainty of 3rd party libraries

      1. heh i have a severe aesthetic aversion to IDEs and arduino in particular…so i just wanted to leave this here…a minimal framework for bare metal programming on the rp2040 pico board

        http://galexander.org/rp2040/

        i don’t actually recommend it, because most people actually want the libraries but i don’t so there it is. rp2040 is documented well enough that it’s hassle-free even if you skip the SDK.

  6. Here is the reason I like the CH32V003

    It work on 5V, that is super rare for 32bit microcontroller.
    It has single wire for program and debug, that is handy.
    It is a simpler chip so it compiles and programs fast.
    It comes with a opamp, which is handy.
    The ssop package is not too big but also easy to solder by hand. Oh, it also come as sop8!
    It is cheap and that is great. Although people mentions the development time, it does not really takes more time if you want to solder chips on your design instead of soldering a breakout board.

    And most importantly, it has tier1 tech support. Even you are a retail customer, you can post on their support forum and their staff will respond to you quickly.

  7. Lots of people comparing these to beefier uCs, which kind of misses the value of these.
    You don’t replace an RP2020 or ESP32 with these, you use these so you have one big bin of the same bulk part that can replace a whole catalogue of fixed-function logic ICs without keeping a vast parts library stocked. Need a timer? Crappy little IC can be a timer. Need a counter? Same crappy little IC can be a counter. Need a shift register? Same crappy little IC can be a shift register. Need a comparator? Same crappy little IC can be a comparator.
    And since these are flash-based rather than PROM (like the cheap Padauk uCs) you can mess with their functionality in-circuit easily (no need for resoldering passives or using trimmers for your 555 LED-blinker) and you can re-use them when you’re done.

    1. I wanted some of those “6 hours on 18 hours off” timer chips used for lighting but couldn’t buy them. So I used those Padauk chips, and as the inputs weren’t doing anything I made the “On” time adjustable.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.