

PerfectKey
A project following a HackClub tutorial making a custom mechanical keyboard from scratch, simmilar to Hackpad project.
- Size
- 370.5 × 137.2 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 172
- Nets
- 119
- Pads
- 639
- Tracks, vias
- 492, 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 3 Jul 2026
- Updated
- 12 Aug 2026
Overview
PerfectKey is an open-source printed circuit board by Someguest4, from the Someguest4/PerfectKey repository on GitHub. It is a 2-layer board of 370.5 × 137.2 mm with 172 parts on 119 nets, routed with 492 tracks and 1 via.
Its parts include 86 switches and 85 diodes. It belongs with the keyboards and input boards and the RP2040 boards of this library.
README
README.mdPerfectionist Keyboard
A project following the HackClub KEEB project tutorial, making a custom mechanical keyboard from scratch.
I have always been a perfectionist and I often find myself following the lines between the keys on my keyboard instead of doing my homework so I decided to make a keyboard with perfectly aligned keys.
What it is
An ortholinear TKL keyboard, designed from scratch in KiCad. All modifier keys are 2u, spacebar is 7u, board is 380x147fmm with a strip for the Pico, switches are on the normal 19.05mm grid, USB-C with a cutout in the case, just one stabilizer for the spacebar, because the footprints wouldn't fit directly above each other and it's not like the 2u keys will wobble enough to need a stabilizer :|
Repo structure
kicad/- schematic and PCB layout, Gerbers, drill filescase/- case and plate filesphotos/- build photos for journalfirmware/compiled ready to flash firmware
Build log
2026-07-11 - Schematic: Read through the guide and designed the schematic. Switch matrix, diodes so it doesn't ghost, stabs, wired it all to the Pico.

2026-07-14 - Started placing switches:

2026-07-15 - Switches were completely wrong: Got the kicad-kbplacer plugin to place the keys instead and made the layout in KLE.

2026-07-16 - Numbering everything:
Had to number all the keys in KLE because kbplacer wouldn't place them correctly without an index, renamed all the rows and columns so it would recognize them.

2026-07-17 - Routing: Routing cables and rerouting until they fit.
2026-07-18 - Diodes, PCB finished: Kbplacer put the diodes inside the courtyards of the switches and the cables were so tight around them. I couldn't move them, so I had to reroute first. PCB finished after that.

2026-07-22 - Starting the case: Started designing the case, rage quit because of Onshape (can't expect much from browser based software), switched to Fusion.

2026-07-23 - Case, mostly finished: Did most of the case but no space for screw holes.
2026-07-24 - Case finished: Made the case bigger so the holes fit and made the top plate removable.

Firmware
I went with QMK since I used it for my hackpad. All handwired since it's a custom layout. Compiles clean, just waiting on the actual hardware to test.
Status
Everything done, hoping and waiting for approval
Parts
172| Qty | Value | Footprint | References |
|---|---|---|---|
| 85 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +69 |
| 85 | SW_Push | PCM_marbastlib-mx:SW_MX_1u | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +69 |
| 1 | MX_stab | PCM_marbastlib-mx:STAB_MX_7u | S1 |
| 1 | RaspberryPi_Pico | Module:RaspberryPi_Pico_Common_THT | A1 |
Questions
How big is the PerfectKey PCB?
It measures 370.5 × 137.2 mm and has 2 copper layers, 1.6 mm thick.
What parts does the PerfectKey use?
172 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 PerfectKey KiCad files?
From the Someguest4/PerfectKey repository on GitHub, at the commit this page was made from: the board is kicad/perfectkey.kicad_pcb and its schematic kicad/perfectkey.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the PerfectKey design in my own project?
Its repository states no licence, so its author keeps all rights: ask Someguest4 before reusing the design.
Similar boards
- 2 layers260.6 × 134.4 mm

- 2 layers40.6 × 108 mm

Useq1
Emute-Lab-Instruments/uSEQ
Hardware & firmware of the uSEQ Live Coding CV & Gate Sequencer
172 parts44 - 2 layers337.5 × 123.1 mm

- 2 layers109.2 × 85.1 mm

Transistor 4-Bit Register
DragonMinded/minidragon
Hardware and software files for the MiniDragon CPU.
172 parts19 - 2 layers275.5 × 105.6 mm

Corne cherry
idank/keyboards
This repo contains pcb and 3d files for keyboards. The keyboards are adaptations of popular open source keyboards with a variety of changes.
172 parts10CC-BY-SA-4.0 - 2 layers281.5 × 200 mm

- 2 layers395.3 × 100 mm

- 2 layers285 × 95.1 mm
