Skip to the content
2 layers50.5 × 18 mmContinuity, the printed circuit board in 3D

A collection of example projects and experiments for CH32-series microcontrollers from WCH (Nanjing Qinheng Microelectronics).

Size
50.5 × 18 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
15
Pads
47
Tracks, vias
75, 7
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
2 Oct 2025
Updated
31 Jul 2026

Overview

Continuity is an open-source printed circuit board by tvecera, from the tvecera/ch32-projects repository on GitHub, published under the MIT licence. It is a 2-layer board of 50.5 × 18 mm with 20 parts on 15 nets, routed with 75 tracks and 7 vias.

It is built around the CH32V003J4M6 and BSS138. Its parts include 6 resistors, 2 capacitors, 2 ICs, 1 diode and 1 transistor. It belongs with the RISC-V boards of this library.

Main components

2

README

README.md

CH32 Projects

A collection of example projects and experiments for CH32-series microcontrollers from WCH (Nanjing Qinheng Microelectronics). This repository serves as a personal playground for embedded development with CH32 devices, focusing on low-cost, open-source hardware hacking.

Featured Projects

picopad-ch32prog

  • Description: RISC-V microcontroller programmer for WCH CH32V, CH32V00X, and CH32V03X series, running on the Picopad handheld device. It enables programming CH32 microcontrollers directly from the Picopad's SD card without requiring a PC connection.
  • Repository: tvecera/ch32-projects/tree/main/picopad-ch32prog

ch32-lamp – Music Player (BeatleBeat)

  • Description: Music module for playing mono WAV (IMA ADPCM) files from an SD card. Based on the BeatleBeat design from CH32LibSDK, using the CH32V002x4 MCU. Features BTL PWM output for louder sound without external amplifier.
  • Repository: tvecera/ch32-projects/tree/main/ch32-lamp

Tinyboy Console

  • Description: An adaptation of the CH32V003-GameConsole project by Stefan Wagner for CH32LibSDK, using the newer CH32V002J4M6 MCU instead of the discontinued CH32V003. Supports two video outputs: original I2C OLED display or RCA composite video output using the rca-library.
  • Repository: tvecera/ch32-projects/tree/main/tinyboy

Olimex RVPC Port to CH32LibSDK

  • Description: Port of the RVPC (the EURO 1.00 RISC-V personal computer with VGA, keyboard, and Woz-like monitor) from Olimex to the CH32LibSDK. In addition to the SDK port, RCA composite video output support has been added using the rca-library.
  • Repository: tvecera/ch32-projects/tree/main/rvpc

RCA Composite Video Library

  • Description: A library for generating composite video signal (RCA output) on CH32V002/CH32V003 microcontrollers. Supports multiple graphics modes (128x64, 160x120) and text modes (40x30, 32x24, 23x18 characters) with minimal RAM and Flash usage. Features both bit-bang and SPI output modes, works with internal oscillator (HSI) or external crystal (HSE).
  • Repository: tvecera/ch32-projects/tree/main/rca-library

RCA Tester

  • Description: A simple composite video tester and demonstration of the rca-library capabilities. Generates PAL composite video signals with multiple test patterns (grid, crosshatch, circles, checkerboard, etc.) and text modes with various fonts. Includes complete hardware design files for DIY manufacturing (KiCAD schematics, PCB for laser etching, 3D printable case). Supports both CH32LibSDK and ch32fun frameworks.
  • Repository: tvecera/ch32-projects/tree/main/rca-tester

Continuity Tester – CH32V003J4M6

  • Description: Simple continuity tester using the CH32V003J4M6 built-in OPA as a comparator for low-resistance detection (< 51 Ω). Features push-pull piezo buzzer drive, BSS138 N-MOSFET for sleep power savings (~10 μA standby), auto-sleep after 10 s, and probe-touch wake-up. Powered by CR2032 or rechargeable LIR2032 coin cell. Adapted from the Technoblogy ATtiny Continuity Tester by David Johnson-Davies.
  • Repository: tvecera/ch32-projects/tree/main/continuity-tester

Dune Thumper – CH32V003J4M6

  • Description: Electronics rework of the 3D printable Dune Thumper (functional) model from ESP32 to the CH32V003J4M6 (SOP8). Drives a continuous-rotation SG90 360 servo with a hardware-generated 50 Hz PWM signal (TIM1), so the CPU sleeps in WFI while the servo spins autonomously. Builds under both CH32LibSDK and ch32fun frameworks, fits in under 1.3 KB of flash.
  • Original model: Dune Thumper (functional) on Printables
  • Repository: tvecera/ch32-projects/tree/main/dune-thumper

Pimitachi – 3D Case and Labels

  • Description: 3D printable case, labels, and laser-etched PCB design for Pimitachi – a Tamagotchi-style virtual pet game running on the CH32V002J4M6 MCU. Includes LightBurn project for PCB fabrication with a 10W laser engraver, printable labels (photo paper + transparent film), and assembly instructions.
  • Original project: Pimitachi on breatharian.eu
  • Repository: tvecera/ch32-projects/tree/main/pimitachi

Supported Platforms

Build system supports Linux and macOS (both x86_64 and ARM64/Apple Silicon).

Getting Started

Cloning the Repository

This repository uses Git submodules for SDK dependencies. Clone with:

bash
git clone --recursive https://github.com/tvecera/ch32-projects.git

Or if you already cloned without --recursive:

bash
git submodule update --init --recursive

SDK Submodules

The repository includes three SDK submodules in the sdk/ directory:

SDKDescription
CH32LibSDKSDK for CH32V/X series MCUs
PicoLibSDKSDK for Raspberry Pi Pico / RP2040 / RP2350
ch32funLightweight SDK for CH32V003

Required Toolchains

Different projects require different toolchains:

For CH32 Projects (ch32-lamp, rvpc, rca-library, tinyboy)
  • RISC-V GCC Toolchain - riscv-none-elf-gcc

Recommended: xPack RISC-V GCC (cross-platform):

Download pre-built binaries from xPack RISC-V GCC releases and add to PATH.

macOS/Linux (npm):

bash
npm install --location=global @xpack-dev-tools/riscv-none-elf-gcc@latest
For Picopad Projects (picopad-ch32prog)
  • ARM GCC Toolchain - arm-none-eabi-gcc

macOS (Homebrew):

bash
brew install arm-none-eabi-gcc

Linux (Ubuntu/Debian):

bash
sudo apt install gcc-arm-none-eabi
Additional Tools
  • make - Build automation
  • minichlink - CH32 programmer/debugger (included in tools/minichlink/)

Parts

20
QtyValueFootprintReferences
233KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2
1100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
110KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5
110uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2
11KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6
122RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4
151RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3
1BSS138Package_TO_SOT_SMD:SOT-23Q1
1Battery_CellBattery:BatteryHolder_Keystone_1060_1x2032BT1
1CH32V003J4M6CHXXX:SOP8IC1
1ESDLC054DPackage_TO_SOT_SMD:SOT-363_SC-70-6U1
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD1
1PROGButton_Switch_SMD:SW_SPST_TL3342SW1

The 14 most common of 20 parts.

More from tvecera/ch32-projects

2
  • 2 layers37.3 × 55.6 mmRca tester, the printed circuit board in 3D

    Rca tester

    tvecera/ch32-projects

    A collection of example projects and experiments for CH32-series microcontrollers from WCH (Nanjing Qinheng Microelectronics).

    19 parts2MIT
  • 2 layers25 × 21.7 mmRca connector, the printed circuit board in 3D

    Rca connector

    tvecera/ch32-projects

    A collection of example projects and experiments for CH32-series microcontrollers from WCH (Nanjing Qinheng Microelectronics).

    6 parts2MIT

Similar boards

  • 2 layers50 × 50 mmINNER PCB, the printed circuit board in 3D

    INNER PCB

    KaiPereira/Alchemical-Cosmological-Badges

    These are alchemical-cosmological PCB hackathon badges I designed in a day for the Fallout hackathon in Shenzhen, China.

    73 parts12
  • 2 layers67 × 92 mmWindmeter modbus interface, the printed circuit board in 3D

    Windmeter modbus interface

    pe1mew/windmeters-modbus-interface

    Universal interface for cup-anemo- and wind-directon- sensor to modbus

    30 parts2
  • 2 layers14.2 × 26 mmUsb auto reboot, the printed circuit board in 3D

    Usb auto reboot

    74th/usb-rebooter

    We would appreciate it if you would not sell them. 販売はしないでいただけるとありがたいです。

    11 parts1MIT
  • 2 layers200 × 100 mmPanelize, the printed circuit board in 3D

    Panelize

    hasankarainfo/PCutSpeedCTRL

    It provides constant speed operation and remote control of single phase AC motor suitable for operation with 220 vac 50hz. When produced with BTA41 triac switching element, it provides usage up to 40 Ampere.

    556 parts1Apache-2.0
  • 2 layers10.2 × 29.8 mmTikk, the printed circuit board in 3D

    Tikk

    mengstr/tikk

    CH32V003-based 1Hz->8MHz clock generator with reset for breadboards

    16 parts1

Questions

How big is the Continuity PCB?

It measures 50.5 × 18 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Continuity use?

20 parts, built around the CH32V003J4M6 and BSS138. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Continuity KiCad files?

From the tvecera/ch32-projects repository on GitHub, at the commit this page was made from: the board is continuity-tester/hw/continuity-tester/continuity.kicad_pcb and its schematic continuity-tester/hw/continuity-tester/continuity.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Continuity design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).