Guide chapter
RISC-V Tutorial Part 3 — CH32V RISC DIP & Minimum Circuit Requirements
Part 3 of 3 in the RISC-V & CH32V Tutorial.
Introduction
So far, we have learned about what RISC-V is, why it is so important, and how to set up our RISC-V development environment for using the WCH CH32V range of microcontrollers. With that all sorted, it’s time to learn more about the RISC-V device that we will be using, why the MitchElectronics CH32V RISC DIP is the best choice for you, and more importantly, how the great Master Oogway once said “there are no minimum circuit requirements”.
What is the MitchElectronics CH32V RISC DIP?
If you’ve ever tried to prototype with modern microcontrollers, you’ve probably run into the same problem: everything is surface-mount, nothing fits on a breadboard, and you end up soldering under a microscope just to blink an LED. That’s fine for mass production, but what about the engineers, the makers, the students, and the folks who actually build things by hand?
That’s why we put the CH32V003—a dirt-cheap, fully-featured 32-bit RISC-V microcontroller—into a standard DIP-20 footprint, and called it the CH32V RISC DIP. You can plug it into a breadboard. You can jam it into a stripboard. You can socket it. You can solder it directly to a PCB. No adapters. No breakout boards. No nonsense.

Every single I/O from the CH32V003 is broken out cleanly to a dedicated pin. Nothing’s hidden, nothing’s blocked, and nothing is wasted. You get full access to the microcontroller’s capabilities without needing to squint at a datasheet or trace microvias on a four-layer PCB. Even better—each pin is clearly labelled on the top of the board, so there’s no guessing or flipping the board over.

Just plug in and get building.
However, this isn’t just a prototyping tool—it’s a final product. Whether you’re building a custom keyboard controller, a home automation module, or a precision piece of lab equipment, this DIP-20 format can be used. And if something goes wrong? Just pop it out of its socket and replace it. No hot air rework station required.

A Deeper Dive into the CH32V003
WCH have built a wide range of RISC-V microcontrollers, all with their own pros and cons. For example, they have larger devices designed for heavy industrial use with many UARTs and ethernet, while others have a focus on wireless applications. But while these devices are certainly powerful, they are also physically larger, have many more pins, are more expensive, and far more difficult to get working.
The CH32V003 (and the other 00x devices) are different; they are small, cheap, and very easy to get working. For some perspective, typically microcontrollers are hard to find under $1 per piece, and the CH32V003 goes for as low as $0.10. The CH32V RISC DIP specifically uses the CH32V003F4U6, which is a tiny 20-pin QFN, and this tiny size allows us to integrate it into a DIP 20 package. But if you were to use the QFN package in your own custom design, then you could really save some space!

CPU and Memory
With regards to specs, at the heart of the CH32V003F4U6 is a QingKe 32-bit RISC-V core following the RV32EC instruction set operating at a maximum clock frequency of 48MHz. The chip has a total of 16KB of code memory, 2KB of SRAM, 1920 byte bootloader, a 64 byte non-volatile system configuration space, and a 64 byte user defined non-volatile memory space.
Oscillator and Power Options
All microcontrollers need a clock source, and the CH32V003 has both internal oscillators and external oscillator support. Simply put, if critical timing isn’t important, you can use the internal oscillator and get some extra I/O, but if you are doing some precise time measurements, then an external crystal oscillator is a good idea. The internal oscillator can operate at speeds of up to 48MHz, which is also the same for the external oscillator. When it comes to powering the CH32V003, you can choose between 3.3V or 5V, meaning that the CH32V003 can be used in a lot of older projects and designs where 5V used to be the norm. This is really important to note, because 5V tolerance means that you can easily interface with older systems without needing level shifters and other external circuitry.
GPIO
The CH32V003 has plenty of GPIO, with 3 separate groups (GPIOA, GPIOC, and GPIOD). There are a total of 18 GPIO pins, with one being the programming pin and another being the reset pin. However, these can both be used as GPIO, so a finalised design can be flashed and use all GPIO. On the topic of programming, there is only a single pin needed, which makes this chip a breeze to use. Many other chips need multiple pins for things like reset, clock, data, and mode, but the CH32V003 does it all from one pin. It appears that the CH32V003 achieves this with the use of a custom bus protocol that behaves similarly to I2C, with the CH32V003 being an open collector (this is far beyond the scope of this project, but still interesting).
Analog Inputs
For those needing analog inputs, there are a total of 8 analog input channels all connected to a single 10-bit ADC. This resolution is more than sufficient for 99% of applications, and the input voltage range covers 0V to VDD.
Communication
No microcontroller should be without the basic communication buses, and the CH32V003 covers the three most important; UART, I2C, and SPI.
Timers
Timers are especially important for those who need to anything hardware time related (so you can track time in the background while your code runs), and the CH32V has 1 x16-bit timer with PWM capabilities, 1 x 16-bit general purpose timer, 2 x watchdog timers, and one System Ticker.
System Block Diagram
This system block diagram from the datasheet shows how the internal parts are put together. One really neat feature is that all the registers which control all the peripherals exist in the same memory address space as the SRAM. What this means is that all I/O operations are really just memory operations, and this will become extremely important when doing the code later.

Minimum Circuit Requirements
When using any microcontroller, you have to make sure that your circuit follows the minimum circuit requirements. For most microcontrollers, this involves a pull up resistor on the reset pin, a decoupling capacitor, possibly an external crystal, specific track layouts, and numerous other passives.
But for the CH32V003, as the great Master Oogway once said, there are no minimum circuit requirements! Yup, that’s right, you can stick the chip straight into the programmer and it will work without any other components!

Now, should you do this? Probably not. As with any IC, you should always at the very least have a decoupling capacitor across the power pins. This is so that minor power fluctuations don’t cause sudden brown outs or momentary hiccups in the device. So below is a circuit diagram of what we would recommend you use for the minimum circuit:

Conclusion – Finally, a Micro Worth Our Time
The CH32V003 isn’t just another microcontroller—it’s a practical, accessible, and refreshingly well-thought-out solution for engineers, makers, and professionals alike. In a landscape dominated by increasingly complex ecosystems, locked-down toolchains, and inflated pricing, the CH32V003 takes a different path. It brings capability, simplicity, and flexibility together in a way that feels designed by people who actually build things.
At its core, the CH32V003 is a 32-bit RISC-V microcontroller that delivers real value. With a 48MHz core, 16KB of flash, 2KB of SRAM, and a suite of peripherals—UART, SPI, I2C, timers, and a 10-bit ADC—it checks every box for most embedded applications. Yet despite all this, the chip is often priced at just a fraction of a dollar, making it one of the most cost-effective options on the market today.
What sets the CH32V003 apart isn’t just its price or its specs—it’s the way it integrates into projects. With single-pin programming, minimal external circuitry requirements, and a broad operating voltage range (including 5V compatibility), this chip is designed for ease of use from the first breadboard prototype to the final product. And when mounted in a standard DIP-20 package like the MitchElectronics CH32V RISC DIP, it becomes even more accessible—perfect for quick testing, socketed designs, or drop-in replacements.
In short, the CH32V003 is a microcontroller that respects the engineer. It gives you the tools, the access, and the control to build your own way—whether you’re a student learning embedded systems, a hobbyist building a passion project, or a professional creating a commercial design. And that’s exactly the kind of development platform we need more of.
Next, we will program our chip and get an LED to flash (this is where the programming actually starts)!