Editor Version ×

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators


1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 5,000 devices or 10,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users


STD CH32V003 F4P6 Development Board V-USB

License: CC BY-SA 3.0

Mode: Editors' pick

Cloned from CH32V003 F4P6 Development Board USB

  • 122
  • 0
  • 0
Update time: 2024-04-01 15:12:21
Creation time: 2023-08-10 09:26:33
# CH32V003 F4P6 Development Board V-USB Development board for the CH32V003F4P6 ultra-low-cost 32-bit RISC-V microcontroller with support for software USB. - Project files (Github): https://github.com/wagiminator/Development-Boards/tree/main/CH32V003F4P6_DevBoard_VUSB ![CH32V003F4P6_DevBoard_VUSB_pic1.jpg](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard_VUSB/documentation/CH32V003F4P6_DevBoard_VUSB_pic1.jpg) # Pinout ![CH32V003F4P6_DevBoard_VUSB_pinout.png](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard_VUSB/documentation/CH32V003F4P6_DevBoard_VUSB_pinout.png) # The CH32V003 Family of 32-bit RISC-V Microcontrollers ## Overview The CH32V003 series is a collection of industrial-grade general-purpose microcontrollers that utilize the QingKe RISC-V2A core design supporting the RV32EC instruction set. These microcontrollers are equipped with various features such as a 48MHz system main frequency, 16KB flash, 2KB SRAM, wide voltage support (2.7V - 5.5V), a single-wire serial debug interface, low power consumption, and an ultra-small package. Additionally, the CH32V003 series includes a built-in set of components including a DMA controller, a 10-bit ADC, op-amp comparators, multiple timers, and standard communication interfaces such as USART, I2C, and SPI. ## Block Diagram ![CH32V003_block.png](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard/documentation/CH32V003_block.png) ## Features - QingKe 32-bit RISC-V2A processor, supporting 2 levels of interrupt nesting - Maximum 48MHz system main frequency - 2KB SRAM, 16KB Flash - Operating voltage: 2.7V - 5.5V - Multiple low-power modes: Sleep, Standby - Power on/off reset, programmable voltage detector - 1x 7-channel DMA controller - 1x op-amp comparator - 1x 10-bit 10-channel ADC - 1× 16-bit advanced-control timer - 1× 16-bit general-purpose timer - 2x watchdog timer (IWDT, WWDT) - 1× 32-bit SysTick timer - 1x USART interface, 1x I2C interface, 1x SPI interface - 18 I/O ports, mapping an external interrupt - 64-bit chip unique ID - Single-wire serial debug interface (SDI) # Programming and Debugging ## WCH-LinkE To program the CH32V003 microcontroller, you will need a special programming device which utilizes the proprietary single-wire serial debug interface (SDI). The [WCH-LinkE](http://www.wch-ic.com/products/WCH-Link.html) (pay attention to the "E" in the name) is a suitable device for this purpose and can be purchased commercially for around $4. This debugging tool is not only compatible with the CH32V003 but also with other WCH RISC-V and ARM-based microcontrollers. WCH offers free but closed-source software options for the PC side, such as [MounRiver Studio](http://www.mounriver.com/) and [WCH-LinkUtility](https://www.wch.cn/downloads/WCH-LinkUtility_ZIP.html). You can also use the Python tool rvprog.py for flashing the CH32V003 microcontroller with the WCH-LinkE. It is provided with the examples in the software folder. Alternatively, there is a platform-independent open-source tool called minichlink developed by Charles Lohr (CNLohr), which can be found [here](https://github.com/cnlohr/ch32v003fun/tree/master/minichlink). Additionally, a customized version of [OpenOCD](https://github.com/karlp/openocd-hacks) can be used for uploading firmware. More information can be found [here](https://github.com/wuxx/nanoCH32V003). ![CH32V003_wch-linke.jpg](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard/documentation/CH32V003_wch-linke.jpg) To use the WCH-LinkE on Linux, you need to grant access permissions beforehand by executing the following commands: ``` echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", ATTR{idProduct}=="8010", MODE="666"' | sudo tee /etc/udev/rules.d/99-WCH-LinkE.rules echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", ATTR{idProduct}=="8012", MODE="666"' | sudo tee -a /etc/udev/rules.d/99-WCH-LinkE.rules sudo udevadm control --reload-rules ``` To upload firmware and perform debugging, you need to ensure that the development board is disconnected from any power sources. Then, you should make the following connections to the WCH-LinkE: ``` WCH-LinkE DevBoard +-------+ +------+ | SWDIO| |DIO | | GND| ---> |GND | | 3V3| ---> |3V3 | +-------+ +------+ ``` If the blue LED on the WCH-LinkE remains illuminated once it is connected to the USB port, it means that the device is currently in ARM mode and must be switched to RISC-V mode initially. There are a few ways to accomplish this: - You can utilize the Python tool rvmode.py (with -v option), which is provided with the examples in the software folder. - Alternatively, you can select "WCH-LinkRV" in the software provided by WCH, such as MounRiver Studio or WCH-LinkUtility. - Another option is to hold down the ModeS button on the device while plugging it into the USB port. More information can be found in the [WCH-Link User Manual](http://www.wch-ic.com/downloads/WCH-LinkUserManual_PDF.html). ## Open-Source Debugging Devices As part of his [ch32v003fun](https://github.com/cnlohr/ch32v003fun) project, Charles Lohr has also developed open-source programmers/debuggers based on STM32F042 and ESP32S2. Furthermore, the schematic diagram of the WCH-LinkE based on the CH32V305F is available on the manufacturer's [website](https://www.wch.cn/products/WCH-Link.html), but the [firmware](https://github.com/openwch/ch32v003) can only be downloaded as a binary file. # Software Development Tools ## MounRiver Studio IDE The Eclipse-based closed-source [MounRiver Studio IDE](http://www.mounriver.com/) is the official development environment provided by WCH. It supports Windows, Linux, and Mac. MounRiver Studio can be downloaded for free. ## Open-Source GCC-based Toolchain You can download a complete toolchain (GCC and OpenOCD) for Linux and Mac from the MounRiver Studio website. However, the provided examples here are based on the [MCU Templates](https://github.com/wagiminator/MCU-Templates) project. To install the toolchain on Linux, you can use the following commands: ``` sudo apt install build-essential libnewlib-dev gcc-riscv64-unknown-elf sudo apt install python3 python3-pip python3 -m pip install pyusb ``` You can also use the [ch32003fun SDK](https://github.com/cnlohr/ch32v003fun) by CNLohr. Follow the instructions on the Github page to install the toolchain. For software USB support visit [rv003usb](https://github.com/cnlohr/rv003usb). ## Arduino IDE and PlatformIO Support There are projects around to make the CH32V003 compatible with the Arduino IDE ([arduino_core_ch32](https://github.com/openwch/arduino_core_ch32) and [arduino-wch32v003](https://github.com/AlexanderMandera/arduino-wch32v003)) and PlatformIO ([platform-ch32v](https://github.com/Community-PIO-CH32V/platform-ch32v)). # References, Links and Notes - [EasyEDA Design Files](https://oshwlab.com/wagiminator) - [CNLohr: ch32v003fun SDK](https://github.com/cnlohr/ch32v003fun) - [CNLohr: rv003usb](https://github.com/cnlohr/rv003usb) - [MCU Templates](https://github.com/wagiminator/MCU-Templates) - [MCU Flash Tools](https://github.com/wagiminator/MCU-Flash-Tools) - [MounRiver Studio](http://www.mounriver.com/) - [arduino_core_ch32](https://github.com/openwch/arduino_core_ch32) - [arduino-wch32v003](https://github.com/AlexanderMandera/arduino-wch32v003) - [CH32V003 with PlatformIO](https://github.com/Community-PIO-CH32V/platform-ch32v) - [CH32V003 on openwch](https://github.com/openwch/ch32v003) - [MuseLab nanoCH32V003](https://github.com/wuxx/nanoCH32V003) - [CH32V003 datasheets](http://www.wch-ic.com/products/CH32V003.html) - [WCH-Link user manual](http://www.wch-ic.com/downloads/WCH-LinkUserManual_PDF.html) - [WCH Official Store on AliExpress](https://wchofficialstore.aliexpress.com) ![CH32V003F4P6_DevBoard_VUSB_pic2.jpg](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard_VUSB/documentation/CH32V003F4P6_DevBoard_VUSB_pic2.jpg) ![CH32V003F4P6_DevBoard_VUSB_pic3.jpg](https://raw.githubusercontent.com/wagiminator/Development-Boards/main/CH32V003F4P6_DevBoard_VUSB/documentation/CH32V003F4P6_DevBoard_VUSB_pic3.jpg) # License ![license.png](https://i.creativecommons.org/l/by-sa/3.0/88x31.png) This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (http://creativecommons.org/licenses/by-sa/3.0/)
Design Drawing
schematic diagram
1 /
1 /
The preview image was not generated, please save it again in the editor.
ID Name Designator Footprint Quantity JLCPCB Part Class
1 100n C1 C_0603_S 1 C14663
2 10u C2 C_0603_S 1 C19702
3 1u C3,C4 C_0603_S 2 C15849
4 HDR-M-2.54_1x10 H1,H2 210S-10X1/2.54 2 C57369
5 SWIO H3 210S-3X1/2.54 1 C49257
6 PWR LED1 LED_0603_S 1 C72043
7 PC0 LED2 LED_0603_S 1 C2286
8 1k R1,R2 R_0603_S 2 C21190
9 1k5 R3 R_0603_S 1 C22843
10 68R R4,R5 R_0603_S 2 C27592
11 10k R6 R_0603_S 1 C25804
12 RST SW1 SW-SMD_L4.0-W2.9-LS5.0 1 C967786
13 CH32V003F4P6 U1 TSSOP-20 1 C5299908
14 AP2112K-3.3TRG1 U2 SOT-25-5 1 C51118 Yes
15 Micro Input USB1 MINI-USB-SMD_U254-051T-4BH23-S2B 1 C319164


Project Attachments
Project Members
Target complaint
Related Projects
Change a batch
Add to album ×


reminder ×

Do you need to add this project to the album?


周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675


周一至周五 9:00~18:00
  • 立创EDA微信号


  • QQ交流群


  • 立创EDA公众号