RISC V is an interesting proposition for industry experts and hobby hardware heads alike. According to an industry report from Deloitte Insights, RISC-V is gaining traction as a popular open-source and free-use instruction set, challenging the years of dominance by ARM and x86 among others.
On the contrary, more and more semiconductors manufacturers are producing silicon for use with the Open ISA, and we are starting to see some incredibly cheap hardware make its way onto the market.
Case in point - the WCH CH32V003, a 32-bit, 48 MHz microcontroller (MCU) with 2KB SRAM, 16KB flash, and a price tag of only 10 cents. I talk about this on this week's Electromaker Show if you'd prefer this article in a talky/video format!
This little chip caused quite a stir when it first did the rounds on Maker and Embedded blogs, mostly quoting Dave from EEVBlog's excellent video introducing the part, devkit, programmer, and software:
Dave Jones, an industry-recognized expert and host of EEVBlog, took an experimental first dip into the CH32V003. As we'll discuss in more detail later in this article, his analysis suggests it's a highly capable chip. There are examples for pretty much everything the CH32V003 offers, and it turns out that's quite a lot!
We talked recently about the lowest cost MCU you can buy - an 8-cent 32-bit Puya Arm-Cortex M0 as it happens - but it seems like those 2 cents make the difference at the CH32V003 has attracted some attention.
Charles Lohr, a renowned hobbyist and programmer known as CNLohr on YouTube, adopted the chip for an innovative project. His work, cited in the Journal of Open Source Hardware, exemplifies the chip's potential.
Alongside the incredible hardware project, CNLohr has created a software playground for working with the CH32V003, completely removing the HAL and any "bloat" from the initial SDK, allowing users to work pretty close to the metal. While the CH32V003 does not support USB, Charles has been working on it, though a recent 7-hour livestream turned out to be a (very entertaining and informative) bust. We shall see.
CNLohr isn't the only creator working with the chip, though. Bitluni saw the 10-cent part, and thought, "y not moar?"
Behold the RISC-V supercluster!
Each card contains 16 CH32V003 MCUs, connected using an open drain bus, which Bitluni is writing a custom protocol for. The idea is, each chip is connected in the cluster, and the cards sit on a baseboard featuring another beefier RISC-V MCU as the conductor of the operation. The baseboard also exposes all of the left over pins from the 16 MCUs, which is… well. A lot of I/O!
Both projects here show that while the part is cheap, it has already proved itself to be useable in a variety of projects. We are sure to see a lot more in the coming months inspired by these videos, but what is the CH32V003, and what can it do?
The WCH CH32V003 in Specs
As previously mentioned, the CH32V003 is a 32-bit chip running Risc-V architecture. It's available from WinChipHead (WCH), and stocked by many online retailers. For such a low-cost chip, it has quite the list of features:
|Processor||QingKe 32-bit RISC-V2A processor, supporting 2 levels of interrupt nesting|
|System Main Frequency||Maximum 48MHz|
|Memory||2KB SRAM, 16KB Flash|
|Power Supply Voltage||3.3/5V|
|Low-power Modes||Sleep, Standby|
|Reset and Voltage||Power on/off reset, programmable voltage detector|
|DMA Controller||1 group of 1-channel general-purpose DMA controller|
|Comparator||1 group of op-amp comparator|
|ADC||1 group of 10-bit ADC|
|Timers||1×16-bit advanced-control timer, 1×16-bit general-purpose timer|
|Watchdog and SysTick||2 WDOG, 1×32-bit SysTick|
|Interfaces||1 USART interface, 1 group of I2C interface, 1 group of SPI interface|
|I/O Ports||18 ports, mapping an external interrupt|
|Chip ID||64-bit unique ID|
|Debug Interface||1-wire serial debug interface (SDI)|
|Package||TSSOP20, QFN20, SOP16, SOP8|
For a detailed understanding of the chip, the official datasheet, reference manual, and Mounriver Eclipse IDE are available from the product page. As per IEEE's recommendation, studying these resources can provide crucial insights into the chip's capabilities. As mentioned earlier in the article, CNLohr also has his own IDE and HAL free approach, available on his CH32V003fun GitHub page.
Chips on tape are available from LCSC, and a variety of development kits and programmers can be found on platforms like Tindie and Aliexpress. Be sure to get a programmer/debugger with whatever devkit you buy however!