EVT boards are for you to Evaluate, Verify and Test your software solutions on realistic hardware. Chips need a few things added to make them convenient to work with. Power circuits, connectors, programmers and even built in LEDs. We're going to look at some boards from WCH using the CH32V103 computer chip.
CH32V103 MCUThe product page for this processor shows a microcontroller unit with more flash and RAM than the Arduino Uno. More interfaces available, too.
The letters at the end show chips equal or twice the flash as Arduino Uno and up to ten times as much RAM. The boards we look at will have these numbers printed on them. Package types and pin counts need identification.
What is the minimum circuitry needed to have a working board for writing software and building projects? Arduino boards have power circuits, oscillators, dedicated ports and programmable IOs. The USB power and programming port is convenient.
This board is like the Uno but with a RISC-V CH32V103R chip. MCU is the microcontroller unit processor that runs the board. Arduinos have a different computer chip and things are in different places.
The has the same pins as the Uno plus it has Morpho pins like the STM32 Nucleo64 boards. The pins are labelled and programs need to use these in numbers. Be careful with Arduino shields, make sure which IO pins are used.
We cannot always count on other MCUs having the same power or voltages as Arduinos. Locations of I2C, SPI and UART circuits change. IO pin numbers can be reserved for special uses.
Download Code and DocumentationDownload and unzip the code and documentation package.
There are two folders. EXAM is a collection of code examples for your board. They are written in C and can be opened by Mounriver, Keil or Embeetle IDEs.
PUB is the published documents for the boards in English and Chinese. CH32V103SCH is a collection of schematic diagrams for four development boards of the EVT line.
Find Schematic DiagramOpen the schematic pdf document and go to the minimal board sheet on the second page. It is the page that has ARDUINO pin headers described. They match the minimal board.
Look at the WCH_Link square. This is the programmer circuit at the top of our minimal board. It also provides a serial link to your computer through the USB type C connector. See end of project for info on driver.
Not all development boards come with a programmer or serial interface circuit built in. Often, an external usb dongle is used. There may be 4 wires carrying clock, DIO signal, power and ground.
Or a 3 wire connection with DIO data in out, voltage and ground. The program signal pins may be labelled as ordinary GPIO pins. Boards will work with a range of power voltage so you can use either 5volts or 3v3.
Same information that we see silk-screen printed onto the board. Clearer and we can use text search to find the pins.
Our minimal board is part of an EVT family of products. Programs for our board will run on the other boards. This is a guide to the boards and the Example code projects. A lot of technical detail, you should look through and try some of what you see.
The same sample code used by quality IDE softwares such as Embeetle or Mounriver Studio. Consult the Board Reference document to learn how to use.
Plug the Type-C USB programming interface into a Linux PC and it will not need a new driver. Your IDE and programming software need to be configured and you may need to install the OpenOCD debugging package in your operating system.
Windows needs a driver to use the programmer and serial interface. Zadig works and installing WCH-LinkUtility software is another way.
The WCH-LinkUtility works the same whether it is connecting through a LinkE dongle or the built-in programmer circuit. Just select the proper Series for your MCU.
All of the devboards in this image can hold and run the same program because they use the same MCU microcontroller unit. The physical layout of the boards are different and some contain built-in programmer circuits.
Check the pinouts for your boards. Look closely and you will see the RISC-V pins on the Arduino header of this CH32V307 board is different.
Download the Data Sheet CH32V103DS0.pdf document for the MCU chip in all of these boards. Like an Arduino but twice the flash program storage and ten times the active RAM memory.
WCH RISC-V chips use 3.3V direct current voltage. USB provides 5Vdc so both voltages may have pins on the board. When you build circuits you may find 5V components don't work with the 3.3V from your GPIO pins. 5V coming from a circuit may damage your chip or other board components so be careful.
Comments