06-22-2026, 01:20 PM
Decided to design my own PCB for a numpad as an excuse to learn KiCad. Here's the rundown.
Why a numpad?
I switched to a TKL keyboard and immediately missed the numpad for data entry. Off-the-shelf ones are fine but this was a learning exercise - I wanted to understand the full hardware design pipeline.
Tools used:
Design decisions:
Standard numpad layout with an extra rotary encoder in the top corner (volume control, media skip). Added per-key RGB underneath the hotswap sockets using SK6812 mini-E LEDs. USB-C connector instead of Micro-USB because it's 2026.
Mistakes made:
QMK firmware: Straightforward once you understand the config structure. The hardest part was the rotary encoder mapping - QMK handles it but the documentation is scattered.
Result: Works perfectly. Total cost about £40 including switches, keycaps, and PCBs. More importantly, I now understand PCB design well enough to attempt something more ambitious.
KiCad is free, JLCPCB is cheap, and the QMK ecosystem means firmware is handled - the barrier to custom keyboard hardware is lower than ever.
Why a numpad?
I switched to a TKL keyboard and immediately missed the numpad for data entry. Off-the-shelf ones are fine but this was a learning exercise - I wanted to understand the full hardware design pipeline.
Tools used:
- KiCad 8 for schematic and PCB layout
- JLCPCB for fabrication (5 PCBs for $12 including shipping)
- Hotswap Kailh sockets so I can swap switches without soldering
- Pro Micro (ATmega32U4) as the controller - cheap, well-supported by QMK
Design decisions:
Standard numpad layout with an extra rotary encoder in the top corner (volume control, media skip). Added per-key RGB underneath the hotswap sockets using SK6812 mini-E LEDs. USB-C connector instead of Micro-USB because it's 2026.
Mistakes made:
- First PCB revision had the rotary encoder footprint mirrored - had to bodge-wire it
- Forgot to add 100nF decoupling caps on the LED power lines - this caused flickering at high brightness, fixed in rev 2
- Ordered switches before confirming the legend matched - ended up with blanks which I actually prefer
QMK firmware: Straightforward once you understand the config structure. The hardest part was the rotary encoder mapping - QMK handles it but the documentation is scattered.
Result: Works perfectly. Total cost about £40 including switches, keycaps, and PCBs. More importantly, I now understand PCB design well enough to attempt something more ambitious.
KiCad is free, JLCPCB is cheap, and the QMK ecosystem means firmware is handled - the barrier to custom keyboard hardware is lower than ever.
