WCH CH32V006EVT

Overview

The WCH [1] CH32V006EVT is an evaluation board for the RISC-V based CH32V006K8U6 SOC.

The board is equipped with a power LED, reset button, USB port for power, and two user LEDs. The WCH webpage on CH32V006 [2] contains the processor’s information and the datasheet.

Hardware

The QingKe 32-bit RISC-V2C processor of the WCH CH32V006EVT is clocked by an external crystal and runs at 48 MHz.

Supported Features

The ch32v006evt board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
ch32v006evt
/
ch32v006

Type

Location

Description

Compatible

CPU

on-chip

WCH QingKe V2 RISC-V MCU1

wch,qingke-v2

Clock control

on-chip

WCH CH32V00x Reset and Clock Control (RCC)1

wch,rcc

on-chip

WCH CH32V00x HSE Clock1

wch,ch32v00x-hse-clock

on-chip

WCH CH32V00x HSI Clock1

wch,ch32v00x-hsi-clock

on-chip

Generic fixed-rate clock provider1

fixed-clock

on-chip

WCH CH32V00x PLL1

wch,ch32v00x-pll-clock

Counter

on-chip

WCH General-purpose Timer (GPTM) for PWM1

wch,gptm

DMA

on-chip

WCH DMA controller1

wch,wch-dma

GPIO & Headers

on-chip

WCH CH32V00x General-Purpose Input/Output (GPIO)4

wch,gpio

I2C

on-chip

WCH I2C controller1

wch,i2c

Interrupt controller

on-chip

WCH CH32V00x Programmable Fast Interrupt Controller (PFIC)1

wch,pfic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

on-board

Group of PWM-controlled LEDs1

pwm-leds

MTD

on-chip

Flash node1

soc-nv-flash

Pin control

on-chip

WCH CH32V00x Alternate Function (AFIO)1

wch,00x-afio

PWM

on-chip

WCH General-purpose Timer (GPTM) for PWM1

wch,gptm-pwm

Serial controller

on-chip

WCH CH32V00x UART1 1

wch,usart

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

WCH CH32V00x Systick1

wch,systick

Watchdog

on-chip

WCH Independent Watchdog (IWDG)1

wch,iwdg

Connections and IOs

LED

  • LED1 = Unconnected. Connect to an I/O pin (PD0).

  • LED2 = Unconnected. Connect to an I/O pin (PC0).

Programming and Debugging

The ch32v006evt board supports the runners and associated west commands listed below.

flash debug rtt debugserver attach
minichlink ✅ (default)
openocd ✅ (default)

Applications for the ch32v006evt board can be built and flashed in the usual way (see Building an Application and Run an Application for more details); however, an external programmer is required since the board does not have any built-in debug support.

Connect the programmer to the following pins on the PCB:

  • VCC = VCC (do not power the board from the USB port at the same time)

  • GND = GND

  • SWIO = PD1

Flashing

You can use minichlink [3] to flash the board. Once minichlink has been set up, build and flash applications as usual (see Building an Application and Run an Application for more details).

Here is an example for the Blinky application.

# From the root of the zephyr repository
west build -b ch32v006evt samples/basic/blinky
west flash

Debugging

This board can be debugged via OpenOCD or minichlink.

Testing the LED on the WCH CH32V006EVT

The blinky sample can be used to test that the LEDs on the board are working properly with Zephyr:

You can build and flash the examples to make sure Zephyr is running correctly on your board. The LED definitions can be found in boards/wch/ch32v006evt/ch32v006evt.dts.

References