WCH CH32V307 RISC-V development board features 8 UART ports controlled over Ethernet

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.

CH32V307 RISC-V 8x UARTLet’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
  • Serial
    • 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)
  • Expansion
    • MCU I/O expansion headers with 8x UART interfaces, and more
    • Arduino headers
  • Debugging
    • 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

CH32V307 RISC-V development board 8x UART

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.

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
Notify of
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.
David Willmore
David Willmore
2 years ago

Type: “hare” should probably be share.

2 years ago

Typo: ‘Type’ should probably be ‘Typo’.

2 years ago

Just a general consideration for devices like this. Although 10mbit is sufficient for the use case. Enterprise switches may not support such a slow speed.

Ex: Cisco Nexus can’t even do 100mbit. Min 1 gig. Granted thats an expensive port to burn, but would make sense for a remote deployment.

2 years ago

I guess you can always stick a cheap 5 port switch between the board and your router.

Leon Heller
Leon Heller
2 years ago

I’m very interested in the WCH CH32V307. I’d like to get one when they become available. Is there an SDK?

2 years ago

You mean this


Tomáš Jíra
Tomáš Jíra
2 years ago

With USB HS PHY it seems like a killer micro unles there is some nasty quirk with DMA or Interrupt controller.
Hope that USB and CAN can be used concurrently, not like STM32F103.
Definitely looks very promising.

Leon Heller
Leon Heller
2 years ago

A friend of mine works for Segger and told me about this IDE for RISC-V (It is free for non-commercial use):


He developed it.


2 years ago

It seems you intended to link to some other site, since your link currently just loops to this CNXSoftware blog post.

2 years ago

Which IDE? You mean from Segger? Or MounRiver Studio (http://www.mounriver.com/) specified by WCH?

8 months ago

please get the server with the Arduino cores working

Khadas VIM4 SBC