This is my go-to board that meets your specs. Click on the option with WCHLinkE programmer and/or USB cable if you don't have those.
https://www.aliexpress.com/item/1005005221751705.htmlYou can write in C or asm as you prefer.
You will need to have some female to female Dupont wires. And I solder three pins on to the GND, D10, 3V3 row for power and flashing and debugging.
The CH32V003 version has been around the longest and has 16k of flash and 2k RAM. The CH32V002 and CH32V004 versions are the same price and have a multiply instruction, better ADC, wider voltage range. The 002 has 4k RAM, the 004 has 32k flash and 6k RAM.
Use them with
https://github.com/cnlohr/ch32funGetting started instructions for common OSes here:
https://github.com/cnlohr/ch32fun/wiki/InstallationYou can use UART debugging or ch32fun includes a utility called minichlink. It acts as an ultra-fast GDB server. By spinning up minichlink -G, you can direct VS Code's (or other) GDB instance to target localhost:3333 to flash and debug the chip.
There is also the manufacturer's Mounriver IDE and HAL if you prefer, but I would say most people don't prefer.
When you clone ch32fun, you don't even need a complex VS Code (or other IDE) configuration if you just want to use the terminal.
The repository includes automated make targets.Once your NanoCH32V003 is wired to the WCH-LinkE:
- Open your terminal in an example folder (like examples/blink).
- Run
make to compile.
- Run
make flash to program the chip via minichlink.
- Run
make debug.
The
make debug command automatically boots minichlink in GDB-server mode (-G) on port 3333 and launches
riscv-none-elf-gdb, instantly giving you a terminal-based breakpoint debugging interface.
Windows is supported as well as Linux and Mac.
Command-line use should be fine on Windows7. Internet says you need to use the "Zadig" free utility to replace the standard Windows 7 WinUSB driver with a better driver.
You also need a compiler/assembler/linker.
https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releasesThe instructions say even the newest version works with Windows 7 with the Universal C Runtime (UCRT), whatever that is.
You can also use the Arduino IDE if you prefer. You need the "Legacy" 1.8.19 version. Just paste into the "Additional Board Managers" field in Preferences:
https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.jsonThen in Tools / Board / Boards Manager select CH32V00x and WCH-Link as the programmer.
That's possibly the easiest of all, but supports only printf() debugging not GDB.