Choose a part · Pin viewer · Pin maps · Examples · Documents · Address map
Programming and debug: 1-wire SDI (WCH-Link, Serial Debug Interface).
Where these land without writing a remap register. SWD is live at reset; the UART pads are not – the pin must still be put into alternate-function mode. See route in evidence/README.ja.md.
| Series | SWDIO | SWCLK | UART TX | UART RX |
|---|---|---|---|---|
| CH32V003 | PD1 | - | PD5 (USART1) | PD6 (USART1) |
| Series | Core | ISA | Flash | SRAM | Main clock | VDD | Packages | Products | Official |
|---|---|---|---|---|---|---|---|---|---|
| CH32V003 | QingKe V2A | RV32EC | 16K | 2K | 48 MHz | 2.7-5.5V | QFN20,SOP16,SOP8,TSSOP20 | 4 | en / zh |
Only the 3 rows that differ between these 4 products; the other 9 are the same for all of them.
| CH32V003A4M6(SOP16) | CH32V003F4P6(TSSOP20) | CH32V003F4U6(QFN20) | CH32V003J4M6(SOP8) | |
|---|---|---|---|---|
| GPIO | 14 | 18 | 18 | 6 |
| ADC Channel No. | 6 | 8 | 8 | 6 |
| SPI | - | 1 | 1 | - |
Pinout drawings are in the datasheet (chapter Pinouts):
| Package | Products | Datasheet | Outline |
|---|---|---|---|
| SOP16 | CH32V003A4M6 | en / zh | drawing |
| TSSOP20 | CH32V003F4P6 | en / zh | drawing |
| QFN20 | CH32V003F4U6 | en / zh | drawing |
| SOP8 | CH32V003J4M6 | en / zh | drawing |
[!NOTE] These are the pin-table superset: the datasheet prints one pad table for every product that shares a pinout, so a pad row does not mean this part has the peripheral. Use the product comparison table above for what a given part number contains.
Pin functions (filterable): ALL ADC I2C SPI SYS TIM UART USB
| Pin name | Type | CH32V003A4M6(SOP16) | CH32V003F4P6(TSSOP20) | CH32V003F4U6(QFN20) | CH32V003J4M6(SOP8) | Notes |
|---|---|---|---|---|---|---|
| PA1 | I/O/A | 12 | 5 | 2 | 1 | OSC |
| PA2 | I/O/A | 13 | 6 | 3 | 3 | OSC |
| PC0 | I/O | 16 | 10 | 7 | - | |
| PC1 | I/O/FT | 1 | 11 | 8 | 5 | |
| PC2 | I/O/FT | 2 | 12 | 9 | 6 | |
| PC3 | I/O | 3 | 13 | 10 | - | |
| PC4 | I/O/A | 4 | 14 | 11 | 7 | |
| PC5 | I/O/FT | - | 15 | 12 | - | |
| PC6 | I/O/FT | 5 | 16 | 13 | - | |
| PC7 | I/O | 6 | 17 | 14 | - | |
| PD0 | I/O/A | - | 8 | 5 | - | |
| PD1 | I/O/A | 7 | 18 | 15 | 8 | SWDIO |
| PD2 | I/O/A | - | 19 | 16 | - | |
| PD3 | I/O/A | - | 20 | 17 | - | |
| PD4 | I/O/A | 8 | 1 | 18 | 8 | |
| PD5 | I/O/A | 9 | 2 | 19 | 8 | UART TX (USART1) |
| PD6 | I/O/A | 10 | 3 | 20 | 1 | UART RX (USART1) |
| PD7 | I/O/A | 11 | 4 | 1 | - | |
| VDD | P | 15 | 9 | 6 | 4 | |
| VSS | P | 14 | 7 | 4/EP | 2 |

63 routines in EVT/EXAM:
ADC 7 · APPLICATION 1 · DMA 2 · EXTI 1 · FLASH 2 · GPIO 1 · I2C 6 · IAP 1 · INT 2 · IWDG 1 · OPA 1 · PWR 4 · RCC 2 · SDI_Printf 1 · SPI 5 · SYSTICK 1 · TIM 16 · USART 8 · WWDG 1
| Document | Kind | English | 中文 |
|---|---|---|---|
| CH32V003DS0.PDF | datasheet | page mirror v1.8 | page mirror v1.8 |
| CH32V003RM.PDF | reference-manual | page mirror v1.9 | page mirror v1.9 |
| CH32V003EVT.ZIP | evt | - | page mirror v1.0 |
1 board schematics under EVT/PUB/SCHPCB/: CH32V003F4P6-R0
| Region | Base | Kind |
|---|---|---|
| APB1PERIPH | 0x40000000 |
bus |
| PERIPH | 0x40000000 |
bus |
| APB2PERIPH | 0x40010000 |
bus |
| AHBPERIPH | 0x40020000 |
bus |
| FLASH | 0x00000000 |
link-origin |
| RAM | 0x20000000 |
link-origin |
| FLASH | 0x08000000 |
memory |
| OB | 0x1ffff800 |
memory |
| SRAM | 0x20000000 |
memory |
link-origin is what the EVT linker scripts use; the memory row for FLASH is the address the device header states. Both windows are real – CH32V307 answers at 0x08000000 and at 0x00000000.
Peripheral base addresses are in memory_map.csv; interrupt numbers in interrupts.csv.
Data: ch32-device-data (evidence/ and index/ – each value carries its evidence and confidence there).