Skip to the content
PCBKitNew board
4 layers25.6 × 23.6 mmCANNONBALL, the printed circuit board in 3D

An ESP32-C3 dev board with more sensors and features then you could know what to do with

Size
25.6 × 23.6 mm
Copper layers
4
Thickness
1.6 mm
Parts
61
Nets
52
Pads
249
Tracks, vias
1,173, 109
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Jun 2026
Updated
1 Jul 2026

Overview

CANNONBALL is an open-source printed circuit board by user-will, from the user-will/PCB_CANNONBALL repository on GitHub. It is a 4-layer board of 25.6 × 23.6 mm with 61 parts on 52 nets, routed with 1,173 tracks and 109 vias.

It is built around the ESP32-C3-WROOM-02-H4, VEML6030 and AP2112K-3.3, with the DW01A, LSM6DS3 and USBLC6-4SC6 among its other parts. Its parts include 20 capacitors, 16 resistors, 9 ICs, 4 diodes and 4 connectors. It belongs with the microcontroller boards boards and the ESP32 and RISC-V boards of this library.

Main components

11

README

README.md

REIL INDUSTRIAL - CANNONBALL

A feature-packed ESP32-C3 development board built around the ESP32-C3-WROOM-02-N4, designed to be the last board you need for any project — smart home device, RC car, wearable, or anything else you can dream up.

The big pitch: pull a single-cell LiPo or Li-ion from an old vape, plug it into the JST PH connector, and go. The board handles charging, protection, and fuel gauging — no external circuitry needed.

PCB Photo


Features

  • MCU — ESP32-C3-WROOM-02-N4 (RISC-V, 2.4 GHz Wi-Fi + BLE, 4 MB flash)
  • USB protection — USBLC6-4SC6 TVS diode array on the USB lines
  • Battery charging — BQ24075RGT linear charger (100 mA default, 500 mA selectable via GPIO)
  • Battery protection — DW01A + FS8205A dual MOSFET pack (over-charge, over-discharge, short circuit)
  • Battery monitoring — MAX17048 fuel gauge over I2C with low-battery alert
  • 3.3 V regulation — AP2112K-3.3 LDO
  • Addressable LEDs — SK6812-EC20 RGB LEDs switched via DMG2301L MOSFET
  • IMU — LSM6DS3 (6-axis accelerometer + gyroscope, I2C)
  • Temp & humidity — SHT40 (I2C)
  • Light sensor — VEML6030 ambient light sensor (I2C)
  • I2C expansion — JST SH 1.0 mm 4-pin connector (3.3 V, GND, SDA, SCL)
  • Battery connector — JST PH 2.0 mm 2-pin

Power

RailSourceVoltageNotes
USB-CExternal5 V nominal, 6 V maxLimited by AP2112K-3.3 LDO max input. Do not exceed 6 V on the 5 V pins or USB input.
5V pin (J5/J6)External or VBUS5 V nominal, 6 V maxSame rail as USB VBUS — feeds the LDO and charger directly.
3V3 pin (J4/J6)AP2112K-3.3 LDO3.3 V exactlyIf powering the board externally via the 3V3 pin (bypassing the LDO), supply a regulated 3.3 V. The ESP32 and all peripherals run at 3.3 V with a ±0.3 V tolerance — do not exceed 3.6 V or drop below 3.0 V.

Pin Reference

GPIOFunctionNotes
3MAX17048 alertActive-low interrupt when battery is low
4SK6812 dataAddressable LED data line
5LED enable (MOSFET)Pull high to enable LEDs, low to disable
10BQ24075 EN1 (charge rate)Pull high to increase charge current from 100 mA to 500 mA

Bill of Materials

ReferencePartFunction
U1ESP32-C3-WROOM-02-N4Main MCU
U2BQ24075RGTLi-ion/LiPo battery charger
U3MAX17048Battery fuel gauge (I2C)
U4DW01ABattery protection IC
U5FS8205ADual MOSFET for battery protection
U6AP2112K-3.33.3 V LDO regulator
U7USBLC6-4SC6USB ESD/TVS protection
U8LSM6DS36-axis IMU (I2C)
U9SHT40Temperature & humidity sensor (I2C)
U10VEML6030Ambient light sensor (I2C)
Q32N7002KN-channel MOSFET (LED power switch)
LED1+SK6812-EC20Addressable RGB LEDs

Opening in KiCad

  1. Clone or download this repo
  2. Open KiCad and select File → Open Project
  3. Navigate to the repo folder and open CANNONBALL.kicad_pro

All schematic symbols and footprints are either embedded in the project files or included in the jlcpcb.pretty/ and jlcpcb.kicad_sym local libraries — no additional library setup required.


Battery Compatibility

Any single-cell LiPo or Li-ion (3.6–4.2 V nominal) will work. The onboard protection circuit guards against:

  • Over-charge (> 4.2 V)
  • Over-discharge (< 2.5 V)
  • Short circuit / over-current

Cells salvaged from vapes, old phones, or RC packs all work fine. Use the JST PH 2.0 mm 2-pin connector (positive on pin 1).

Parts

61
QtyValueFootprintReferences
101uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1, C3, C10, C11, C12, C14, C16, C18, C20, C21
610KResistor_SMD:R_0402_1005Metric_Pad0.72x0.64mm_HandSolderR2, R3, R7, R8, R14, R15
41uFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC19, C22, C23, C24
3100RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R12, R13
310uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC8, C9, C17
35.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R5, R11
3LOGOLOGOG***, G***, G***
210KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R18
24.7uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC6, C15
2SK6812-EC20leds:LED-SMD_4P-L2.0-W2.0-BRLED1, LED2
10805L110/16WRpower:F0805F2
11.8KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR16
110uFCapacitor_SMD:C_0402_1005Metric_Pad0.74x0.62mm_HandSolderC13
12KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR17
12N7002KPackage_TO_SOT_SMD:SOT-23Q3
1AP2112K-3.3PCM_SparkFun-Semiconductor-Standard:SOT23-5U2
1DW01APackage_TO_SOT_SMD:SOT-23-6U5
1ESP32-C3-WROOM-02RF_Module:ESP32-C3-WROOM-02U3
1FS8205Apower:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BRQ1
1I2C_CONNconnectors:CONN-SMD_4P-P1.00_ZX-SH1.0-4PLNJ4
1JST-PH 2.0 BATTERYconnectors:CONN-TH_2P-P2.00_XUNPU_WAFER-PH2.0-2PLBJ3
1LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD4
1LEFT_PINSPCM_fab:PinHeader_01x07_P2.54mm_Vertical_THT_D1mmJ5
1LSM6DS3Package_LGA:LGA-14_2x2mm_P0.35mm_LayoutBorder3x4yU4
1MAX17048PCM_SparkFun-Semiconductor-Standard:DFN-8_2x2mm_P0.5mm_EP1.2x0.8mmU10
1MS2A40LWSdiode:SOD-323_L1.7-W1.25-LS2.5-RDD2
1RIGHT_PINSPCM_fab:PinHeader_01x07_P2.54mm_Vertical_THT_D1mmJ6
1SHT40PCM_SparkFun-Sensor:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPadU7
1SW_Pushswitches:KEY-SMD_L4.0-W3.0-LS4.9-1SW1
1TI BQ24075RGTRPackage_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mmU6
1TYPE-C 16PIN 2MDconnectors:USB-C-SMD_TYPE-C-16PIN-2MD-073USB1
1USBLC6-4SC6Package_TO_SOT_SMD:SOT-23-6U1
1VEML6030sensors:SENSORS-SMD_VEML6030U8

Questions

How big is the CANNONBALL PCB?

It measures 25.6 × 23.6 mm and has 4 copper layers, 1.6 mm thick.

What parts does the CANNONBALL use?

61 parts, built around the ESP32-C3-WROOM-02-H4, VEML6030, AP2112K-3.3 and DW01A. 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 CANNONBALL KiCad files?

From the user-will/PCB_CANNONBALL repository on GitHub, at the commit this page was made from: the board is CANNONBALL.kicad_pcb and its schematic CANNONBALL.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the CANNONBALL design in my own project?

Its repository states no licence, so its author keeps all rights: ask user-will before reusing the design.

Similar boards

  • 4 layers34.8 × 35.6 mmSw63 mk4 v2, the printed circuit board in 3D

    Sw63 mk4 v2

    xx0x/sw63

    Sci-fi inspired electronic watch. MK4 currently in the development (out in 2026).

    70 parts2MIT
  • 2 layers50 × 80 mmCoco Seal hardware, the printed circuit board in 3D

    Coco Seal hardware

    ToyotaKosen-Procon2026-Free002/Coco_Seal_Kicad

    Strapping pins に割り当てられているため、2, 8, 9 はちょっと使いづらい

    47 parts
  • 4 layers65 × 69 mmRobuoy Top, the printed circuit board in 3D

    Robuoy Top

    pnn69/Kicad_PCB

    Schematics and PCB's designed with Kicad

    114 parts
  • 2 layers50 × 30 mmPedometer module, the printed circuit board in 3D

    Pedometer module

    InputBlackBoxOutput/INGAME

    Virtual reality controller for playing FPS games

    52 partsMIT
  • 4 layers288 × 135.4 mmKeyboard v2, the printed circuit board in 3D

    Keyboard v2

    ben5049/Keyboard

    Features: - Wireless - 900mAh battery - Bluetooth (nRF52) - ZMK - 4 Port USB hub - BLDC Knob for haptic feedback - Kailh Choc V1 switches

    344 parts1Apache-2.0
  • 4 layers37.9 × 34.9 mmSmol slime tracker, the printed circuit board in 3D

    Smol slime tracker

    bass9030/smol-slime-tracker

    Ohhh look at the tiny thing🥰

    48 parts
  • 4 layers90 × 98 mmConvention badge pcb v2, the printed circuit board in 3D

    Convention badge pcb v2

    BrandonFors/convention_pcb_badge

    Design for a custom pcb badge for opensauce convention and maybe other conventions in the future.

    57 parts
  • 2 layers192.4 × 50 mmOmote, the printed circuit board in 3D

    Omote

    OMOTE-Community/OMOTE-Hardware

    Open Source Remote - Hardware

    187 parts157GPL-3.0