Choose your country and language
Language
Let’s be real—when you hear “RISC-V microcontroller,” your first instinct is probably to double-check that it's not a typo. But nope, it's real, and Curious Scientist has your back with a clear, step-by-step tutorial on getting the CH32V003F4P6 up and blinking in no time.
Their guide walks you through the full setup using MounRiver Studio—from starting a new project and selecting the CH32V003 family and device, to connecting the programmer dongle’s RXD to MCU TX on PD5 and the dongle’s TXD to MCU RX on PD6, and pushing your first firmware to the chip. You’ll even get a mini UART demo thrown in for free, thanks to clever use of a programmer dongle acting as a serial bridge.
By the end, you'll have blinking LEDs and digital write loops running, with a serial terminal window open like you're starring in your own hacker montage. It’s fast, painless, and newbie-approved.
✅ Selecting CH32V003 > CH32V003F4P6 in MounRiver Studio
✅ Connecting dongle RX to MCU TX (PD5) and dongle TX to MCU RX (PD6), with a shared ground and compatible logic levels
✅ Creating, building, and flashing your firmware
✅ Opening the UART terminal and watching your GPIOs come to life
If that sounds straightforward, it’s because it is. The original post is practical, direct, and perfect for getting your feet wet.
But if you’re like us and want to peek under the hood, understand the chip’s backstory, and push the hardware to its limits (without catching fire), you’ll want to stick around.
Let’s talk about the CH32V003 family for a moment. It’s based on WCH’s QingKe RISC-V2A core, and it’s one of the cheapest 32-bit RISC-V chips you can buy. Seriously, it’s cheaper than a bag of chips—and arguably more satisfying.
Originally designed to democratize RISC-V and bring it to consumer and hobbyist markets, this little microcontroller has quietly made its way into USB devices, game controllers, random industrial widgets, and now your workbench.
Despite the tiny price tag, it's no slouch. It runs at up to 48 MHz, works across a −40 °C to +85 °C temperature range, and happily accepts both 3.3V and 5V power inputs. It also comes in delightfully small packages (TSSOP, QFN, SOP), ready to disappear into your next PCB project.
The tutorial gets you started—but this MCU has way more tricks up its sleeve. Let’s take a look:
You’re not stuck with just “on” or “off.” You can configure your GPIOs as:
Input (pull-up, pull-down, floating, analog)
Output (open-drain or push-pull)
Alternate functions (SPI, I²C, UART, PWM)
GPIO output configuration follows device-specific electrical limits—a configuration label is not a guaranteed pin-toggle frequency.
A supply compatible with 5V does not mean that every signal pin accepts 5V. Apply signals only within the documented limits for the relevant GPIO or analog input. Check the datasheet for the pin, supply voltage and operating mode; do not infer tolerance from the supply range.
By default, PD7 is the reset pin. Want to reclaim it as a normal GPIO? You’ll need to reprogram the option bytes using WCH-Link Utility. It’s doable, but don’t expect a cakewalk.
This chip has a 10-bit ADC with up to eight external channels, depending on package, an analog watchdog, and a built-in operational amplifier/comparator (OPA) . These analog features support measurement and monitoring, subject to the device’s peripheral and clock configuration; they do not imply operation in every sleep mode without the required clocks. Check the reference manual for the selected mode.
While the tutorial just dips into UART and GPIO, this chip supports DMA for peripherals. It’s a game changer when you want smoother communication and lower CPU load.
Unlike many hobby MCUs that get cold feet (literally), the CH32V003 handles −40 to +85°C like a champ. It’s ready for field deployments, steamy enclosures, or cold garages—whatever you’ve got.
The Curious Scientist guide gets you up and running in minutes—blinking LEDs, UART data, and that sweet feeling of your code doing something real. But when you zoom out, the bigger picture is even more compelling.
For pennies, you get:
A true RISC-V 32-bit core
Flash, RAM, ADC, DMA, timers, UART/SPI/I²C
Flexible GPIO with advanced modes
Industrial-grade specs
And yes—WCH single-wire SDI debugging on SWIO/PD1, which is distinct from ordinary two-wire ARM SWD
Whether you’re a hobbyist building gadgets, an educator introducing embedded systems, or an engineer prototyping budget-friendly designs, the CH32V003 is like finding a treasure chest in your parts bin.
Watch and build the original tutorial here:
Wrap-Up
The CH32V003F4P6 might just be the microcontroller equivalent of a secret menu item—it’s cheap, surprisingly powerful, and way more fun than it has any right to be. The original guide by Curious Scientist gets you started. Now it’s your turn to take it further.
Language