Skip to the content
PCBKitNew board
2 layers48 × 74.5 mmKAwatch, the printed circuit board in 3D

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

3

README

README.md

Custom 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.
  • .gitignore excludes 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:

  1. git pull before opening KiCad.
  2. Let the other person know you're working on the schematic/PCB.
  3. Close KiCad, then git add -A && git commit -m "..." && git push.
  4. 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

  1. Learn the basics (voltage/current, resistors/capacitors, SPI/I2C).
  2. Breadboard prototype using dev boards (ESP32 dev board + GC9A01 breakout) to validate the concept.
  3. KiCad: schematic → ERC → footprints/layout → DRC → Gerbers.
  4. Order the bare PCB and all components (matching footprints exactly).
  5. Solder the board; verify voltages with a multimeter before connecting the battery.
  6. Bring up subsystems one at a time: LED blink → display → WiFi → vibration motor.
  7. Write and flash firmware: WiFi + NTP → weather API → watch-face rendering → button screen-cycling → auto-dim → RGB LED status → vibration alerts.

Parts

24
QtyValueFootprintReferences
310kResistor_SMD:R_0603_1608MetricR5, R6, R8
210uFCapacitor_SMD:C_0603_1608MetricC3, C4
21uFCapacitor_SMD:C_0603_1608MetricC1, C2
25.1kResistor_SMD:R_0603_1608MetricR2, R3
1100nFCapacitor_SMD:C_0603_1608MetricC5
11kResistor_SMD:R_0603_1608MetricR7
14.7kResistor_SMD:R_0603_1608MetricR4
1Conn_01x02Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ3
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1Conn_01x08Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1
1D_SmallDiode_SMD:D_SOD-123D2
1ESP32-WROOM-32ERF_Module:ESP32-WROOM-32EU1
1LDRResistor_SMD:R_0603_1608MetricR1
1MCP73831-2-OTPackage_TO_SOT_SMD:SOT-23-5U2
1Q_NPN_BCEPackage_TO_SOT_SMD:SOT-23Q1
1SW_PushButton_Switch_SMD:SW_SPST_TL3342SW1
1USB_C_Receptacle_PowerOnly_6PConnector_USB:USB_C_Receptacle_GCT_USB4125-xx-x_6P_TopMnt_HorizontalJ2
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1
1XC6220B331MRPackage_TO_SOT_SMD:SOT-23-5U3

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 mmPSE RP2040, the printed circuit board in 3D

    PSE RP2040

    G10v4nn/PPSE_Board_Code

    134 parts
  • 4 layers103.5 × 90.7 mmBadge, the printed circuit board in 3D

    Badge

    maxgrim/RedTreat2023Badge

    78 parts
  • 2 layers285 × 94.6 mmFfkb, the printed circuit board in 3D

    Ffkb

    sadekbaroudi/fflx

    A 42 key keyboard that's compatible with standard 60% keyboard cases

    160 parts
  • 2 layers201.3 × 67 mmMidiKeyboard, the printed circuit board in 3D

    MidiKeyboard

    Skaut0071/MidiKeyboard

    161 partsMIT
  • 2 layers46 × 46 mmMbadge25, the printed circuit board in 3D

    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 mmController, the printed circuit board in 3D

    Controller

    dwanpo/balancer

    41 parts1
  • 4 layers61 × 100 mmBigCore, the printed circuit board in 3D

    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 mmFlight controller rev2, the printed circuit board in 3D

    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