

KAwatch
Custom PCB Design and Personal Project to Learn from
- Size
- 48 × 74.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 24
- Nets
- 46
- Pads
- 130
- Tracks, vias
- 72, 0
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 2 Sep 2026
- Updated
- 10 Sep 2026
Overview
KAwatch is an open-source printed circuit board by AryanMP07, from the AryanMP07/custompcbwatch repository on GitHub. It is a 2-layer board of 48 × 74.5 mm with 24 parts on 46 nets, routed with 72 tracks and 0 vias.
It is built around the ESP32-WROOM-32E, XC6220B331MR and WS2812B. Its parts include 8 resistors, 5 capacitors, 4 connectors, 3 ICs and 2 diodes. It belongs with the ESP32 boards of this library.
Main components
3ESP32-WROOM-32E
SMD,18x25.5mmSMD,18x25.5mm WiFi Modules ROHSEspressif SystemsWiFi ModulesXC6220B331MR
SOT-23-5-40℃~+85℃@(Ta) 1 25uA 3.3V 400mV@(800mA) 5.5V 50dB@(10kHz) 900mA Fixed Over Current Protection、Over Temperature Protection Positive SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTECH PUBLICVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsWS2812B
5mm X 5mm Surface Mount RGB LED with Intelligent ControlWorldsemiUncategorised
README
README.mdCustom PCB Smartwatch
A self-contained smartwatch built around an ESP32 microcontroller and a round color display — a first custom PCB project, scoped to be finishable by a beginner and demoable as a resume/portfolio piece.
Status
- Breadboard prototype validated
- Schematic complete (KiCad)
- ERC clean
- PCB layout complete
- DRC clean
- Gerbers exported
- PCB ordered
- Components ordered
- Board assembled
- Power-on / bring-up passed
- Firmware complete
(Update this checklist as the project progresses.)
Core features
- ESP32-WROOM-32 — WiFi, NTP time sync, runs the firmware
- GC9A01 1.28" round SPI display, 240x240 — analog watch face with drawn hands/ticks
- Weather via Open-Meteo, refreshed periodically, with icons
- Single button to cycle screens: time / weather / date / extra info
- LDR-based auto-dim at night
- Battery percentage via a voltage-divider on one ADC pin
- WS2812 ("NeoPixel") RGB status LED — notifications / charging / low battery
- Coin vibration motor (single NPN transistor + flyback diode) for alerts
- MCP73831 LiPo charger IC + USB-C power input
Repo structure
- KiCad project files (schematic, PCB, footprints, libraries) live at the repo root.
.gitignoreexcludes KiCad backup/cache/autosave files, netlists, and exported BOM files — see that file for the full list.
Collaboration workflow
KiCad's .kicad_sch / .kicad_pcb files don't diff or merge cleanly like code, so two people editing the same file at once causes painful conflicts. Rule of thumb:
git pullbefore opening KiCad.- Let the other person know you're working on the schematic/PCB.
- Close KiCad, then
git add -A && git commit -m "..." && git push. - Tell the other person when you're done so they can pull.
Bill of materials (summary)
ESP32-WROOM-32 · GC9A01 240x240 round SPI display · MCP73831T-2ACI/OT LiPo charger · USB-C power-only connector · 3.7V 500mAh LiPo (JST-PH, protected) · SMD tactile button · LDR + divider resistor · WS2812 RGB LED · coin vibration motor + NPN transistor + flyback diode + base resistor · AMS1117-3.3 regulator (if needed) · 0603/0805 resistor & capacitor kits · programming header.
Build sequence
- Learn the basics (voltage/current, resistors/capacitors, SPI/I2C).
- Breadboard prototype using dev boards (ESP32 dev board + GC9A01 breakout) to validate the concept.
- KiCad: schematic → ERC → footprints/layout → DRC → Gerbers.
- Order the bare PCB and all components (matching footprints exactly).
- Solder the board; verify voltages with a multimeter before connecting the battery.
- Bring up subsystems one at a time: LED blink → display → WiFi → vibration motor.
- Write and flash firmware: WiFi + NTP → weather API → watch-face rendering → button screen-cycling → auto-dim → RGB LED status → vibration alerts.
Parts
24| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R5, R6, R8 |
| 2 | 10uF | Capacitor_SMD:C_0603_1608Metric | C3, C4 |
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 100nF | Capacitor_SMD:C_0603_1608Metric | C5 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 4.7k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | Conn_01x02 | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J3 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J4 |
| 1 | Conn_01x08 | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1 |
| 1 | D_Small | Diode_SMD:D_SOD-123 | D2 |
| 1 | ESP32-WROOM-32E | RF_Module:ESP32-WROOM-32E | U1 |
| 1 | LDR | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | MCP73831-2-OT | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | Q_NPN_BCE | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | USB_C_Receptacle_PowerOnly_6P | Connector_USB:USB_C_Receptacle_GCT_USB4125-xx-x_6P_TopMnt_Horizontal | J2 |
| 1 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D1 |
| 1 | XC6220B331MR | Package_TO_SOT_SMD:SOT-23-5 | U3 |
Questions
How big is the KAwatch PCB?
It measures 48 × 74.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the KAwatch use?
24 parts, built around the ESP32-WROOM-32E, XC6220B331MR and WS2812B. 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 KAwatch KiCad files?
From the AryanMP07/custompcbwatch repository on GitHub, at the commit this page was made from: the board is restuff/KAwatch.kicad_pcb and its schematic restuff/KAwatch.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the KAwatch design in my own project?
Its repository states no licence, so its author keeps all rights: ask AryanMP07 before reusing the design.
Similar boards
- 2 layers104.1 × 79.4 mm

- 4 layers103.5 × 90.7 mm

- 2 layers285 × 94.6 mm

- 2 layers201.3 × 67 mm

- 2 layers46 × 46 mm

Mbadge25
Makerville/makerville-badge
Makerville Badge is a simple PCB with a OLED and a ESP32C3
63 parts6CERN-OHL-P-2.0 - 2 layers100 × 53.9 mm

- 4 layers61 × 100 mm

BigCore
Dschadu/Geistwerk-BigCore
An ESP32-based open hardware control board designed for Bottango-powered animatronic and motion projects.
152 parts4CERN-OHL-W-2.0 - 4 layers67.5 × 53.5 mm

Flight controller rev2
shazmeenShz/ESP32-Flight-Controller
Custom 4-layer IoT-Ready ESP32 Flight Controller PCB designed in KiCad 8 featuring USB Type-C, CH340C, MP1584 power management, MPU6050 interface, and manufacturing-ready Gerber files.
65 parts3MIT