Pick the wrong one of these three microcontrollers and you either overpay on every unit you ship, or you save a few bucks per board and lose all of...

Pick the wrong one of these three microcontrollers and you either overpay on every unit you ship, or you save a few bucks per board and lose all of it in debugging time and a forced redesign right before your big production order.

So in this video I'm going to break down whether GD32 and CH32 are actually safe choices for a commercial product, or whether STM32 is still the best option.

Click here to read or watch the full version

Let me start by clearing up what these three families actually are, because the names get mixed up a lot.

STM32 is the ARM Cortex-M family from STMicroelectronics, and it's been the default 32-bit microcontroller for product creators for over a decade now.

GD32 is made by GigaDevice in China, and it's the family marketed as pin-compatible with STM32.

The pin-compatible GD32 parts are mostly ARM Cortex-M, and they also have a separate RISC-V line called GD32V that targets different applications.

CH32 is from a Chinese company called WCH, and most of what's relevant for new product development is their RISC-V series called CH32V, which is what most people mean when they say CH32.

Those are the WCH parts I'll focus on in this video.

The biggest myth in this whole conversation is that the GD is a true drop-in replacement for the STM.

Pin-compatible doesn't mean code-compatible, electrically identical, or timing-identical, it just means the part fits the same footprint on your board.

Everything else is still on you to verify.

The GigaDevice part will swap in cleanly for some basic STM32 designs, but you'll start running into problems pretty quickly.

The internal oscillator can be less accurate, the ADC often behaves differently, and the USB peripheral on many GD32 parts is built on entirely different silicon, which means your existing STM driver code basically won't work without a rewrite.

Some GD parts also run faster than the equivalent ST chip because their flash uses fewer wait states, which means code can execute noticeably faster even at the same clock speed, and that's enough to break any firmware that relied on timing loops.

The CH isn't a drop-in replacement at all, even though the naming makes it sound like one.

The CH32V parts also use a proprietary WCH debug protocol that has nothing to do with SWD or JTAG, so your existing ST-Link literally cannot talk to the chip and you'll need a separate WCH-Link adapter just to program it.

So if your current STM32 design works fine and you're tempted to drop in a GD32 just to save money, you might end up with a board that fits but firmware that won't boot.

Performance is where a lot of product creators get tricked by the spec sheet.

All three families have parts running well over 100 MHz, and you'll see endless online comparisons trying to convince you that one core is faster than the others.

For most products, that comparison doesn't really matter.

The bigger question is whether the behavior is predictable in production across thousands of units, different temperatures, and silicon revisions.

A part with a fast core and a flaky DMA controller will burn more engineering time than a slower part that just works.

When you're comparing these three families, focus less on the benchmarks and more on whether the peripherals you depend on actually behave the way the datasheet says they will.

Timers tend to be the most compatible across all three, while the ADC, USB, and clock subsystem are usually where the problems show up.

Toolchain and documentation is where the gap between STM32 and the cheaper alternatives really shows up.

ST has invested years into STM32CubeIDE, their software libraries, and a deep ecosystem of examples, app notes, and reference designs that are well translated into English.

GigaDevice has decent tooling and the documentation is okay, but it's clearly second-tier compared to ST.

The WCH parts are much rougher, with reference manuals that are sometimes machine-translated and example code that assumes you already know what you're doing.

Community support is another big one.

When an STM32 communication bus hangs, you'll find a thousand forum posts and Stack Overflow answers within a few minutes of searching.

When a CH32V bus hangs, you might be translating a Mandarin forum post from 2021.

That time-to-resolution gap is a hidden cost almost no first-time product creator prices in.

That cheap microcontroller stops looking so cheap when your firmware engineer spends a week trying to figure out whether the bug is in your code, the libraries, the compiler, the programmer, or the translated reference manual.

Supply chain is another area where STM32 still has a clear edge, even after the chip shortage finally cooled off.

Distributor stock at DigiKey and Mouser is great for prototypes and low-volume builds, but it isn't the same as production availability.

The GigaDevice and WCH parts are easy to find through Chinese distributors, but when they go short, product creators often end up at the Shenzhen spot market or buying from unverified brokers.

That's how you end up with counterfeit parts, mixed batches, and field failures that are hard to diagnose and even harder to recall.

ST also publishes formal longevity commitments of 10, 15, and 20 years for covered products, which is a big reason their parts feel safer for long-life commercial products.

The Chinese alternatives don't offer that same kind of public commitment yet.

Cost is the whole reason this conversation exists, but the numbers don't always work out the way you'd expect.

At a thousand units a year, saving a dollar per board doesn't...

Click here to finish reading or watching the full version

Talk soon,

John

P.S. If you need help validating either of these alternatives for your project, or want access to expert engineering support and design reviews, check out the Hardware Academy.