Home

Awesome

Arduino Core for CH32V003

This is a new Arduino Core for the CH32V003 series of microcontrollers.

It is based on the work from CNLohr/ch32v003fun.

Overview

CH32V003 series is based on QingKe RISC-V2A core design of industrial-grade general-purpose microcontroller, support 48MHz system main frequency, with wide voltage, 1-wire serial debug interface, low-power consumption, ultra-small package, etc. CH32V003 series built-in a group of DMA controller, a group of 10-bit ADC, a group of op-amp comparators, multiple timers and standard communication interfaces USART, I2C, SPI, etc.

System Block Diagram

<img src="https://github.com/openwch/ch32v003/raw/main/image/frame.jpg" alt="frame" style="zoom:50%;" />

Features

Installation

Use the following board manager URL under Preferences → Additional Board Manager URLs to install the core:

https://alexandermandera.github.io/arduino-wch32v003/package_ch32v003_index.json

Install the "WCH Boards" platform inside the Board Manager.

For Windows users that use the WCH-LinkE programmers, follow the additional steps in the Wiki.

State of Development

This core is currently in development and is not prepared to handle every aspect that Arduino Core provides. Several peripheral implementations are work-in-progress but examples from ch32v003fun can always be used inside the Arduino IDE.

All major operating systems (Windows, Linux, macOS) for most CPU architectures (amd64, arm64, armhf) should be supported.

The version of the Arduino Board Manager package will be updated after major additions or changes to the Core which will correspond to the master branch. Pre-release or untested changes are made inside the develop branch.

What does work:

Work in Progress:

To be Done:

Licensing and Credits

Thanks to the following projects that make this project possible: