Embedded Rust device crates for WCH's RISC-V and Cortex-M(planned) microcontrollers.
Note This project is not affiliated with WCH. This is a hobby project.
The ch32-rs team also working on a unified "metapac" solution for all WCH's MCUs, using metadata to generate an "all-in-one" PAC crate. It's still in early stage, but you can check it out at ch32-rs/ch32-data and ch32-rs/ch32-metapac.
- ch58x-hal - embassy, gpio, spi, i2c, ble
- ch32x0-hal - embassy, gpio
- ch59x-hal - early stage, ch58x-hal can be used with very minor changes
- ch57x-hal - planning, ch58x-hal can be used with very minor changes
- ch32v00x-hal - early stage, requires nightly rust for RV32EC support
- ch32-hal - wip unified hal for all WCH's MCUs
- qingke, qingke-rt
- wchble - planning
- Toolchains for Flashing and Debugging
- wchisp for USB-ISP
- wlink for WCH-Link probe
- probe-rs support
- CH32V003 support
- CH32V307 support, should work with CH32V20x too
- flash-algorithms
- Support other families
- HAL crates
- Support CH32V3x/CH32V2x family
- Support CH32V103 family
- Support CH32V003 family, ch32v00x-hal
- Cortex-M MCUs.
# Do not use rust version of svdtools
pip install svdtools
# install xmlint
cargo install svd2rust
./scripts/generate.sh && ./scripts/update.sh
- 32-bit General Purpose RISC-V
- 32-bit General Purpose Cortex-M3
- 32-bit High-speed Interface MCU, RISC-V or Unmentioned
- 32-bit BLE MCU, RISC-V or Coretex-M
NOTE: Will never support 8-bit MCUs.
Nick name: "赤菟"(Chitu). IP Core brand: 青稞(Qingke). V2A, V3A, V4A, V4B, V4C, V4F.
- CH32V003: Qingke-V2A
- CH32V103: Qingke-V3A
- CH32V203: Qingke-V4B
- CH32V208: Qingke-V4C, BLE
- CH32V30x: Qingke-V4F
- CH32L103 Qingke-V4C, Low power
- CH32X03x: Qingke-V4C, USB PD, PIOC
- CH56x: Qingke-V3A, USB 3.0 SS
- CH571, CH573: Qingke-V3A, BLE 4.2
- CH58x: Qingke-V4A, BLE 5.3
- CH59x: Qingke-V4C, BLE 5.4
- CH641: Qingke-V2A, USB PD
- CH643: Qingke-V4C RGB/LED/PWM, PIOC, USB PD
- CH645: Qingke-V4C, USB PD + USB HS
CH32F uses Cortex-M3. CH577/CH578/CH579 uses Cortex-M0.
- CH32F103
- CH32F203
- CH32F205
- CH32F207
- CH32F208, BLE 5.3
- CH577/CH578/CH579, BLE 4.2
- MRS: MounRiver Studio
- Precompiled binary of OpenOCD is included in MRS(Windows, Linux, and macOS)
- WCH-LinkUtility is included in MRS
- WCHISPTool is included in MRS
- Official Flash Tool: NanjingQinheng/WCH-Link
- OpenOCD fork with WCH-Link support(wlink)
- Buggy, compatible with WCH-Link 2.3
- ch32-rs/wchisp
- ch32-rs/wlink