CH32V307V-EVT-R1 is a development board based on WCH CH32V307 RISC-V microcontroller with an Ethernet port, an USB Type-C port, and eight UART interfaces accessible through headers.
As we noted in our article about CH583 Bluetooth 5.3 RISC-V microcontroller, WCH (Jiangsu Qin Heng) has started to share resources like datasheets and code samples through Github. They’ve done the same again for CH32V307 with schematics (PDF only), a datasheet in English, and firmware either bare metal or based on RT-Thread OS to control the eight serial interfaces over Ethernet.
Let’s check CH32V305 and CH32V307 MCU specifications first:
- MCU core – WCH designed RISC-V4F 32-bit RISC-V core up to 144MHz
- FPU – Single-cycle multiplication and hardware division, hardware float point unit (FPU) ;
- Memory – Up to 64KB SRAM
- Storage – Up to 256KB Flash
- Networking – Gigabit Ethernet MAC, 10 Mbps PHY
- USB – 1x USB 2.0 OTG full-speed interface, 1x USB 2.0 host/device interface with built-in 480 Mbps PHY
- 8x USART interfaces including 5x UARTs
- 2x CAN interfaces (2.0B active)
- 2-wire debug interface
- Other interfaces/peripherals
- SDIO interface
- FSMC memory interface
- DVP digital video interface
- 80x GPIO ports, with 16 external interrupts;
- 2x I2C, 3x SPI
- 2x I1S
- 2x 12-bit DAC;
- 2-unit 16-channel 12-bit ADC, 16-channel TouchKey;
- 10 timers;
- 2x general DMA controllers, 18 channels in total;
- 4x amplifiers;
- Security – Single true random number generator (TRNG), CRC calculation unit, 96-bit unique chip ID;
- Power management
- Supply voltage – 2.5V/3.3V, GPIO unit is supplied independently;
- Low-power modes: sleep/stop/standby;
- Power-on/power-down reset (POR/PDR), programmable voltage detector (PVD);
- Packages: LQFP64M, LQFP100.
CH305 and CH307 are pretty similar, except CH305 has less memory (32KB SRAM) and storage (128KB flash), and lacks interfaces like Ethernet and DVP.
CH32V307V-EVT-R1 board specifications:
- MCU – WCH CH32V307VCT6 32-bit RISC-V microcontroller @ 144 MHz as described above
- Networking – 10 Mbps Ethernet
- USB – 1x USB 2.0 Type-C port (480 Mbps), 1x USB 2.0 Type-C port (Full Speed: 12 Mbps)
- MCU I/O expansion headers with 8x UART interfaces, and more
- Arduino headers
- SDI & UART header to download and debug CH32V307 firmware
- USB-C port to connect to WCH-Link (selectable by jumper)
- Misc – LEDs, Reset button, user button,
- Power Supply
- Switch to select USB or external 5V power supply
- 5V to 3.3V voltage regulator
All resources can be found ch32v307 Github repo, with source and PDF schematics & PCB layout, datasheet, board’s user manual, code samples for each peripheral, and two samples to use the board as an Ethernet to multiple UARTs device as follows:
- RT-Thread/uart_server_rtt – 8 UARTs server demo based on RT_Thread, LwIP.
- bart_metal/8_uart_server – 8x UARTs server demo based on WCH_NET_lib without any OS (bare metal)
[Update April 27, 2023: The code samples have been moved to https://github.com/openwch/ch32v307/tree/main/EVT/EXAM/ETH/]
Patrick Yang, Technical director at WCH, says they’ve only implemented part of the code so far, and also welcome contributions from the community:
At present, we have realized the TX/RX function of TCP client, and TCP server and UDP server / client need to be realized and improved. I hope all developers can actively submit PR. waiting for you~
CH32V307V-EVT-R1 development board is listed on LCSC for about $10.7, but is currently out of stock.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.