10 cents CH32V003 RISC-V MCU offers 2KB SRAM, 16KB flash in SOP8 to QFN20 packages

WCH CH32V003 is a new ultra-cheap RISC-V microcontroller (MCU) clocked at 48 MHz with 2KB SRAM, 16KB flash, and a bunch of interfaces that sells for under 10 cents in quantities.

The MCU offers up to eighteen GPIOs, UART, SPI, I2C, an 8-channel 10-bit ADC, and several timers in TSSOP20, QFN20, SOP16, or SOP8 packages, and a small development board is also available.

CH32V003

WCH CH32V003 specifications:

  • CPU – 32-bit “RISC-V2A” core up to 48 MHz
  • Memory – 2KB SRAM
  • Storage – 16KB flash
  • Peripherals
    • Up to 18x GPIO with interrupt support
    • 1x USART interface
    • 1x I2C
    • 1x SPI
    • 10-bit ADC up to 8 channels
    • 1-Wire debug interface
    • General purpose DMA controller
    • Timers
      • 16-bit advanced timer
      • 16-bit general-purpose timer
      • 2x watchdog timers
      • 32-bit system timer
  • Misc – 64-bit chip unique ID
  • Supply voltage – 3.3/5V
  • Low power modes – Sleep, standby
  • Power on Reset (POR), programmable voltage detector
  • Packages – TSSOP20, QFN20, SOP16, SOP8

Four parts are now available with CH32V003F4P6, CH32V003F4U6, CH32V003A4M6, and CH32V003J4M6 with most of the same specifications except for a different number of GPIOs and different packages.

CH32V003F4P6 CH32V003F4U6 CH32V003A4M6 CH32V003J4M6

WCH provides an SDK with C code samples for all interfaces using the usual MounRiver Studio IDE for development. There’s also a small development board based on CH32V003F4P6 to help engineers evaluate the solution. Right now the documentation is only available in Chinese, but the comments in the source are all in English, at least the files I’ve checked, so it could help.  You’ll find all the aforementioned resources on the product page.

CH32V003 development board
CH32V003F4P6 development board

I got pricing information from a tweet by Patrick Yang, Technical Director of WCH, who claims that the CH32V003 RISC-V microcontroller sells for less than 10 cents. We just don’t know for which quantity that price is. It’s not the world’s cheapest microcontroller, but other MCUs in that price range often come with OTP (one-time programming) flash, while the CH32V003 is reprogrammable.

We’re also told it’s available on LCSC, but right now, all I can see is the CH32V003F4P6-EVT-R0 development board going for $6.76. But if the MCU is that cheap, I’d expect to see sub-dollar boards from third parties in the next few months.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
43 Comments
oldest
newest
David
David
1 year ago

So the CH32V003 RISC-V chip comes from Jiangsu Qin Heng (WCH) [https://www.wch.cn/] the makers of the ubiquitous CH340x USB/UART chips we see on countless dev boards. Unfortunately for me I do not read Chinese, and WCH is notorious for NOT releasing documentation in English (please correct me if I am wrong in this case). The strangely-named cross-platform MounRiver Studio RISC-V IDE [http://www.mounriver.com/] is Eclipse-based (yuk) and does appear to support English (yay). But that’s pretty useless for a person like me who cannot read the Chinese-only CH32V003 chip documentation. As for the MounRiver brand name, maybe they are trying to… Read more »

Ryan
Ryan
1 year ago

They now have an English reference manual up on GitHub. https://github.com/openwch/ch32v003/blob/main/CH32V003RM-EN.pdf

Willy
Willy
1 year ago

Indeed, that was fast! Thanks for the link! There are even english versions of the CH340 datasheets (still quite short but it’s getting better). There’s even a contact e-mail address.

internet
internet
1 year ago

WCH has been making a push for more English documentation in the last few months. I’ve been using the CH55x series for a couple of years now and found that they released a translated version of this datasheet some time in 2022.

Sometimes the translations are pretty harsh, but I’ve still been able to do what I need with their chips with the available documentation.

leonanavi
1 year ago

Looks like an interesting AVR/PIC alternative. Finally RISC-V chips are disturbing the market by reducing costs. However, I doubt CH32V003 will quickly adopted outside China. Without WiFi/Ethernet it isn’t good for IoT, also no USB. Definitely don’t expect it to make a huge splash on the hobbyist market. Probably great for making a cheap toy or some low-cost automation device, may be for some witty fun soldering kits for makers too.

Jon Smirl
1 year ago

Chips like this are often used in conjunction with another larger MCU like ESP32. You use them for real time control which is difficult to do on ESP32 while the ESP32 is busy with other tasks. You program this smaller MCU to watch over the real-time hardware, and then the ESP32 talks to it. For example we use a small MCU to deal with multiple continuous interrupts and an ADC monitoring. If things get out of spec then the small MCU immediately shuts things off to prevent damage. Sure you could do this on the ESP32, but getting it to… Read more »

leonanavi
1 year ago

I thought all real-time challenges were solved after Zephyr was ported to ESP32 😉 It all depends on the quantities. Increase of the BOM of 1M devices with $0.1 (at least because the chip will require some additional components too) is $100K. In this case you better pay the engineers do their work properly and skip this extra MCU 🙂 On the other hand if you are making a low-volume manufacturing of several hundred units or less $0.1 or $1 doesn’t make a huge difference if the more expensive MCU is easier to get and work with. Jokes aside, I… Read more »

Jon Smirl
1 year ago

We moved from STM8 to Padauk because of chip shortage and huge price increases in STM8. Padauk is a pain because all of the peripherals are bit banged. This chip is an excellent alternative to our Padauk. I am decoding the datasheet using Google translate, but a lot of info is missing. For example there is nothing on how the flash is programmed. My board needs to be able to reprogram the chip for updates. One downside. Not every pin can be used with any package. So for example I wanted to use SPI but SPI is only available in… Read more »

Jon Smirl
1 year ago

All packages contain the same die, but all package don’t bring out the same pins. In table 2-2 note that SPI is on PC5, PC6, PC7. Now look at Ch 2 – 2.1 Pinout. Note that PC5, PC6, PC7 are only exposed in the 18pin models.

Jon Smirl
1 year ago

It does have an SPI interface, it just isn’t connected to any pins.

Theguyuk
Theguyuk
1 year ago

Jon you any experience of the Air105 or Air32f103 Air 105 development board?

Jon Smirl
1 year ago

Have not seen those

Theguyuk
Theguyuk
1 year ago

Ok

Justin C
Justin C
1 year ago

that’s basically just a technicality though, unless you have a wirebonding machine :p

Simon
Simon
1 year ago

Take a look at the zip file. it has full drivers including how to re-program the flash. Basally the HAL file you get with ARM processors.
If the ADC is any good (am thinking of the Expressif ADC here) I can see this a an nice little processor… Depends if it can wake itself up with a timer event when in sleep / standby.

WereCatf
WereCatf
1 year ago

There is only a single example of programming the flash and that code runs on the chip itself — it doesn’t help in programming the chip from another MCU, like e.g. if firmware-update failed.

larry
larry
1 year ago

You write a bootloader, unless one is masked in. The flash programming sequence is described in the doc – and it doesn’t differ from any other program flash.

Mathew
1 year ago

Please expand on the 2VA
(2 Volt Ampere?)

1 year ago

I know this may be hard in some cases, but please do report on what base and extensions are used in every case you can. Stuff like I vs E base does matter with only 2048 bytes of RAM, while V (XuanTie) vs P (Andes) debate still rages on on the other end of the performance spectrum.

GT Collection
1 year ago

Great silicon part, and quite timely as we were forced by HQ last Friday to revise all product line designs to comply with 100% Chinese domestic semiconductors & passive components by latest Q4 end. All western sourced/accounts and parts are now forbidden, apart from those sourced by HQ’s registered jurisdiction.

Worth adding to the list, we’ve also signed accounts with GigaDevice and Expressif Shanghai in the MCU and connectivity range. Thanks for the info, we’ll get in touch with WCH and have a few shipped over for bench tests.

JJJ
JJJ
1 year ago

Which country do you work in?

also, pretty sure everything espressif makes (and Gigadevice MCUs too) comes from TSMC…

GT Collection
1 year ago

We’re being informed that most are pulling out of TSMC, as many did already mind you, and repatriating batch productions over to SMIC where equivalent nodes are processed. We’re in France btw.

We’ve put up a sample order to WCH today for a few CH32F/CH32Vs, a BLE (CH573) along with their WCH-Link debugger. Had the MounRiver IDE set-up a few hours ago, nice kit and good start. Looking forward

Willy
Willy
1 year ago

> We’re in France btw.

Huh ? I’m in France and it’s the first time I hear about a company trying to purposely make itself dependent on Chinese components, especially when every other company does the exact opposite after the Covid period showed us how this could severely disrupt the supply chain. Or was your company acquired by a Chinese one and HQ is in China ?

GT Collection
1 year ago

Our products are manufactured, assembled and packaged in China; parts machining, injection molds/molding, pcb fab, pick&place, testing, packaging (full PLM less the engineering/design aspect). The political tantrum instabilities of a certain nation and it’s endless economic warfare will send our company to bankruptcy shall it escalate – of which is a certainty. Trust has therefore been given to our Chinese partners in the context of being able to “deliver contracts” rather than tantrums.

Jon Smirl
1 year ago

There are times you want to use Chinese parts and times you will want to use Western ones. Once you start writing significant amounts of software you will quickly figure out which parts you should be using. Sometimes I can get the Chinese parts working, sometimes I spend six months on it and never achieve success. I can always get the Western parts working but they are more expensive. Also watch out for parts longevity. If it takes an extra year to get a Chinese part working often they reach EOL right about when you enter production. Western parts typically… Read more »

GT Collection
1 year ago

The covid delays we’re caused by entry ports policies, western parts being the ones that were most affected in our case. And not by our Chinese partners who’ve always remained on schedule despite the impediments of covid. Important to distinguish between being brainwashed by pollically motivated lies and ill influences 😉

Willy
Willy
1 year ago

The fact that the whole western industry is currently facing a halt due to sourcing difficulties has nothing to do with political lies. However it is very possible that it’s easier to source components there in order to assemble them overthere, in which case I understand your point of view. It’s just extremely surprising to hear this when for many it means “just be doomed with delays nobody can commit to”.

Jon Smirl
1 year ago

I looked at the example code they provide. I also discovered that you need a WCH-Link ($1.50) to program their dev board. Since the WCH-Link is a SWD debugger device, that implies that you have to use SWD to initially program the device. So the SWD must be putting a program into RAM, which then puts blocks into the flash. I guess this means that if my ESP32 wants to flash the device then it needs to implement SWD. Luckily I see two implementations of SWD for the ESP32 on github.

larry
larry
1 year ago

OR you could write a small bootloader and read in new code from where ever you prefer. Normally a flash prog alg runs from RAM as doing it all over JTAG would take forever.

Jon Smirl
1 year ago

I just figured out that this chip is a new low end model in a family of chips WCH is already shipping. Dev boards for the CH32V103 are easily available. Here is a link to the whole family of CPUs, about 40 models.https://www.wch.cn/products/categories/26.html?pid=5#data

Jon Smirl
1 year ago

That’s my guess. I ordered CH32V103 dev board to play with. I can just restrict myself to using the specs of the CH32V003. It is the same CPU core and the peripherals all match.

You can’t buy the CH32V003 dev board yet. Not even sure if the chips are in production. We directly asked WCH and they said “not yet” and did not specify a date.

Theguyuk
Theguyuk
1 year ago

Many of their chips, dev boards sell on alie

paperless
1 year ago

Thanks for sharing info about this board, I come here after watching EEVblog video about it,
Unfortunately, the board itself aren’t available right now, but the chips are still (on other websites),
I don’t know if it’s possible to program the chip via FTDI board using it UART pins, the instruction still not clear to me

Jon Smirl
1 year ago

They are for sale on Aliexpress

https://www.aliexpress.us/item/3256804950810002.html

That bundle should have everything you need.

Jon Smirl
1 year ago

that link is being rewritten to point to a different product, it is not the same chip in the rewritten link. Copy and paste the link to go to the correct dev board.

zoobab
1 year ago

Any examples with gcc and makefiles?

zoobab
1 year ago

Now there is GCC with Makefiles:

cnlohr/ch32v003fun: My tests for the CH32V003, a 10 cent 48 MHz RISC-V Microcontroller (github.com)

There is also an open source flashing tool using their dongle.

David Willmore
David Willmore
1 year ago

I’ve finally gotten my chips and used this environment to write code for this chip. I got the WCH-LinkE+CH32V003 dev board combo with some spare chips at Ali from WCH’s official store. Works pretty slick. Fedora doesn’t have a newlib for RiscV, so I have to build on a debian box and ssh the .bin files over to my Fedora laptop to program the chip. But that’s trivially scriptable.

Zoobab, you interested in talking about chips offline some time?

Pallav Aggarwal
1 year ago

CH32V003 RISC-V chip is really good, now that I have used it for many days now. In India we get TSSOP20 at 25 Indian rupees which is like 0.25$ at 1K units but that’s fine with 10K or more units, it might be below 0.15$

WCH should put EN version video out so that we can understand much more details easily

I have started building tutorials for people who are still trying to start: https://pallavaggarwal.in/2023/10/01/ch32v003-low-cost-mcu-programming/

Khadas VIM4 SBC