Skip to the content
PCBKitNew board
2 layers65 × 90 mmKitsujikan, the printed circuit board in 3D

A little Pomodoro timer (my first hardware project!!!)

Size
65 × 90 mm
Copper layers
2
Thickness
1.6 mm
Parts
23
Nets
22
Pads
88
Tracks, vias
94, 4
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Oct 2026
Updated
29 Oct 2026

Overview

Kitsujikan is an open-source printed circuit board by techmoocher, from the techmoocher/kitsujikan repository on GitHub, published under the MIT licence. It is a 2-layer board of 65 × 90 mm with 23 parts on 22 nets, routed with 94 tracks and 4 vias.

Its parts include 6 switches, 5 resistors, 3 connectors, 1 capacitor and 1 IC. It belongs with the ESP32 and RISC-V boards of this library.

README

README.md

Kitsujikan

A rechargeable, pocket-sized Pomodoro timer with an OLED display and colour-coded buttons, designed for Hack Club's Half-Life 10-week hardware challenge.

FrontBack
Front renderBack render

Features

  • One-press focus sessions: 30, 60 or 90 minutes, one button each.
  • Automatic breaks: when a session ends, the buzzer sounds and the timer offers a 5-minute break. Press green to accept or red to skip. After the break, it offers to repeat the last session length.
  • Clear display: a 0.96" OLED shows the time left as HH:MM:SS. Hours are hidden when zero, and minutes and seconds always show two digits.
  • Pause: press red during a session.
  • Battery powered: runs from a LiPo battery and charges over USB-C, with an on/off switch and battery-level sensing.
  • Low power: sleeps when idle, and the 30/60/90 buttons wake it from deep sleep.

Status

  • Schematic
  • PCB layout and routing (DRC clean)
  • Gerber and drill files
  • Bill of materials (BOM)
  • Order the PCB and parts
  • Firmware: first version (untested on hardware)
  • Assembly and testing
  • Enclosure

Hardware

| Power | 3.7 V LiPo (JST-PH), slide switch, 2 × 200 kΩ battery-sense divider | | PCB | 2 layers, 65 × 90 mm, all through-hole parts |

Pin map

XIAO pinGPIOConnected toWhy this pin
D0230-min button (+10 kΩ pull-up)Can wake from deep sleep; it's a strapping pin, so the pull-up holds it high at boot
D1360-min buttonCan wake from deep sleep
D2 / A24Battery voltage (divider midpoint)Calibrated ADC1 channel
D3590-min buttonCan wake from deep sleep; its ADC2 channel is unreliable anyway
D4 / D56 / 7I2C SDA / SCL (OLED)Default I2C pins
D621Red No/Pause buttonNot a strapping pin
D720Buzzer transistorInput at boot, so the buzzer stays quiet
D1010Green OK buttonGeneral purpose
D8, D98, 9UnusedStrapping pins (D9 is the BOOT button)

Directory structure

plaintext
PCB/                 KiCad 10 project (schematic + board)
PCB/libs/            Symbol, footprint and 3D libraries used by the project
PCB/production/      Gerber and drill files for manufacturing
renders/             3D renders of the board
Firmware/            Arduino firmware for the XIAO ESP32-C3
kitsujikan_BOM.csv   Bill of materials with sources and estimated prices

Bill of materials

The full list with links is in kitsujikan_BOM.csv. Summary:

QtyPartSource
1Seeed Studio XIAO ESP32-C3Seeed Studio
10.96" SSD1306 I2C OLED (pins: GND, VCC, SCL, SDA)Amazon
512×12 mm tactile switches with coloured capsAmazon
1C&K OS102011MS2QN1 slide switchLCSC / DigiKey
1JST-PH 2-pin side-entry socket (S2B-PH-K-S)LCSC / DigiKey
13.7 V ~500 mAh LiPo with protection circuit, JST-PH plugAmazon
1Passive buzzer, 12 mmAmazon
12N3904 transistor, 1N4148 diodeAmazon
5Resistors: 2 × 200 kΩ, 2 × 10 kΩ, 1 × 1 kΩAmazon
1100 nF ceramic capacitorAmazon
—Female pin headers (1×7 ×2, 1×4 ×1), thin wireAmazon
5PCBsJLCPCB

Prices in the CSV are rough estimates. Many Amazon items come in multi-packs, so the first build costs more than the parts on one board.

Ordering the PCB

  1. Zip the contents of PCB/production/.
  2. Upload the zip at jlcpcb.com.
  3. The defaults work: 2 layers, 1.6 mm, HASL. Pick any solder mask colour.

Notes on assembly

  • Mount the XIAO on female headers, not flat. The battery connects to pads on its underside (BAT+ / BAT−). Solder two short wires to those pads, thread them through the J2 holes, and solder them on the back.
  • Check the OLED pin order before soldering its socket. This board expects GND, VCC, SCL, SDA.
  • Check the LiPo plug polarity before plugging it in. J1 pin 1 is +. Battery plug colours aren't standardised.
  • Charging only works with the power switch ON, because the switch disconnects the battery.
  • Keep the battery away from the sharp solder joints on the back. Use foam tape, or standoffs and a back plate.
  • Solder the low parts first (resistors, diode), then the transistor, buzzer, switches and headers.

Firmware

Arduino (C++) for the ESP32-C3, in Firmware/. It covers the timer state machine, debounced buttons (tap / hold), buzzer melodies, the OLED screens, battery percentage, and deep sleep with wake-on-button. Build steps and controls are in Firmware/README.md. The timer logic has laptop unit tests in Firmware/test/.

Acknowledgements

  • Hack Club and the Half-Life challenge
  • Starbie, the Half-Life Week 1 example project, and its care-package libraries
  • Seeed Studio for the XIAO KiCad symbol library

License

This project is released under the MIT License. Third-party libraries in PCB/libs/ remain under their original authors' licenses.

Parts

23
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
210kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3, R5
2200kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2
1100nFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC1
11N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR4
12N3904Package_TO_SOT_THT:TO-92_InlineQ1
130minButton_Switch_THT:SW_PUSH-12mmSW2
160minButton_Switch_THT:SW_PUSH-12mmSW3
190minButton_Switch_THT:SW_PUSH-12mmSW4
1BatteryConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1
1Buzzer_passiveBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1NO_REDButton_Switch_THT:SW_PUSH-12mmSW6
1OK_GREENButton_Switch_THT:SW_PUSH-12mmSW5
1OLED_SSD1306Imported Parts:Display_128x64_096_I2CJ3
1PowerButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QSW1
1XIAO-ESP32-C3-SMDImported Parts:XIAO-ESP32-C6-DIPU1
1XIAO_BATConnector_Wire:SolderWire-0.15sqmm_1x02_P4mm_D0.5mm_OD1.5mmJ2

Questions

How big is the Kitsujikan PCB?

It measures 65 × 90 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Kitsujikan use?

23 parts. 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 Kitsujikan KiCad files?

From the techmoocher/kitsujikan repository on GitHub, at the commit this page was made from: the board is PCB/kitsujikan.kicad_pcb and its schematic PCB/kitsujikan.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kitsujikan 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).

Similar boards

  • 2 layers65 × 56 mmPi servo hat, the printed circuit board in 3D

    Pi servo hat

    earthtojake/text-to-cad

    Design physical products with AI

    23 parts26kMIT
  • 2 layers14 × 100 mmYunomi, the printed circuit board in 3D

    Yunomi

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    23 parts3kApache-2.0
  • 2 layers50.8 × 52.2 mmFuhhni, the printed circuit board in 3D

    Fuhhni

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    23 parts915
  • 2 layers138.8 × 89.8 mmKeyboard pcb, the printed circuit board in 3D

    Keyboard pcb

    diepala/cantor

    Cantor keyboard, a 42 key diodeless split keyboard.

    23 parts756GPL-3.0
  • 2 layers32.9 × 53.3 mmGoatgdo, the printed circuit board in 3D

    Goatgdo

    Kaldek/rat-ratgdo

    Open source schematics for ratgdo PCB

    23 parts511MIT
  • 2 layers35.5 × 50 mmTobo, the printed circuit board in 3D

    Tobo

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    23 parts463
  • 2 layers19 × 19 mmKeybit, the printed circuit board in 3D

    Keybit

    notaroomba/keybytes

    A truly modular keyboard

    23 parts444
  • 2 layers88.5 × 28 mmExpBreakout, the printed circuit board in 3D

    ExpBreakout

    Duet3D/Duet-2-Hardware

    The KiCAD source for the Duet 3d printer controller see www.duet3d.com

    23 parts258