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.
- 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)
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.
10 Replies to “WCH CH32V307 RISC-V development board features 8 UART ports controlled over Ethernet”
Type: “hare” should probably be share.
Typo: ‘Type’ should probably be ‘Typo’.
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.
I guess you can always stick a cheap 5 port switch between the board and your router.
I’m very interested in the WCH CH32V307. I’d like to get one when they become available. Is there an SDK?
You mean this
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.
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.
It seems you intended to link to some other site, since your link currently just loops to this CNXSoftware blog post.
Which IDE? You mean from Segger? Or MounRiver Studio (http://www.mounriver.com/) specified by WCH?