Skip to content

openwch/arduino_core_ch32

Repository files navigation

Arduino core support for CH32 EVT Boards

Introduction

This repo adds the support of CH32 MCU in Arduino IDE.

The file includes:

  • Arduino_Core_CH32:Public library files.
  • openocd:can directly use WCH-LINKE to download and debug wch chips.
  • riscv-none-embed-gcc:A toolchain that supports WCH custom half word and byte compression instruction extensions and hardware stack push/pop functions.

How to use

You can add this software package directly on the IDE through the Arduino Boards Manager.

Add the following link in the "Additional Boards Managers URLs" field:

https://github.com/openwch/board_manager_files/raw/main/package_ch32v_index.json

Then you can search for "wch" through the "board manager", find the installation package, and install it.

Supported boards

It will be a long-term support and maintenance project, unless we encounter force majeure factors.The current version supports the following development boards:

CH32V00x EVT Boards

Status Boards name Peripherals Release Notes
✔️ CH32V003F4P ADC,DAC,USART,GPIO,EXTI,SysTick 1.0.0 SPI,I2C_Master since 1.0.2

CH32V20x EVT Boards

Status Boards name Peripherals Release Notes
✔️ CH32V203G8U ADC,DAC,USART,GPIO,EXTI,SysTick 1.0.0 SPI,I2C_Master since 1.0.2

CH32X035 EVT Boards

Status Boards name Peripherals Release Notes
✔️ CH32X035G8U ADC,DAC,USART,GPIO,EXTI,SysTick 1.0.1 SPI,I2C_Master since 1.0.2

CH32V10x EVT Boards

Status Boards name Peripherals Release Notes
✔️ CH32V103R8T6_BLACK ADC,DAC,USART,GPIO,EXTI,SysTick,SPI,I2C_Master 1.0.3 -

CH32V30x EVT Boards

Status Boards name Peripherals Release Notes
✔️ CH32V307VCT6_BLACK ADC,DAC,USART,GPIO,EXTI,SysTick,SPI,I2C_Master 1.0.3 -

OS support

Adopting toolchain and openocd under MRS, supporting HPE, custom byte and half-word compression extensions,"upload" via WCH_LINKE.

Most importantly, the version of Arduino IDE is 2.0+.

Win

If you encounter an error during upload, please confirm that the version of your WCH-LINKE is consistent with the latest version under MRS. WCH-LINKE related information can refer to this link.

Linux

For Linux, after installing the support package for the first time, to ensure the normal upload function, please open the packages installation path of the Arduino IDE, run the script, and automatically configure the environment.

Usually, it can be operated as follows:

cd ~/.arduino15/packages/WCH/tools/beforeinstall/1.0.0
./start.sh

After authorization, it will copy or generate some necessary libraries and rules:

Copy Libs
[sudo] password for temperslee: 
Register new Libs
copy rules
Reload rules
DONE

MAC

For MAC, please install the "libusb" library before starting to use it.

brew install libusb

If "libusb" related errors still occur when "uploading" firmware after installing the libusb library, please contact the MRS team for assistance through "[email protected]".

Submit bugs

If you have any questions, you could contact me through the email "[email protected]". Or you could file an issue on GitHub.