3D render of a green wireless keyboard PCB with eighty-four hotswap switch sockets laid out in an 84-key layout

PCB designDesignerDrawing 16 of 33

Custom
keyboard

Three goes at a mechanical keyboard, all drawn in KiCad, settling at 84 keys. The second one is assembled and waiting on switches, and none of the three has typed a character yet.

Sheet 02 of 08/Why

Why a keyboard is a good first PCB

Under every key it is the same small circuit, a switch and a diode, drawn once and then repeated eighty-four times.

3D render of an early keyboard PCB with switch footprints placed but only a handful of copper traces
PL 02Generation one, abandoned. Footprints placed, almost nothing routed, no microcontroller.
3D render of a green keyboard PCB with daisy line art and handwritten text on the silkscreen, plus a separate half-round badge board
PL 03Generation two, wired and finished. A derivative of Joe Scotto's open-source ScottoModules, with my own silkscreen art and a badge cut into the outline.

Sheet 03 of 08/Three boards

Three attempts

The first one I gave up on, the third is mine from scratch, and the second grew out of Joe Scotto's ScottoModules template, which gives you the STM32 and leaves a blank box labelled "Matrix" for you to fill in.

KiCad schematic sheet for the wireless keyboard showing the nRF52840 module, key matrix and power supply sections
PL 04The third schematic. Cutting the cable added a charger, a buck-boost converter, a power mux and a battery sense divider that the wired board never needed.

Sheet 04 of 08/The layout

What 84 keys means

Eighty-four keys in hotswap sockets, a function row, an arrow cluster bottom right and no numpad at all, with an addressable LED under every key on the third board.

3D render of the underside of the wireless keyboard PCB showing routed traces and component pads
PL 05Underside of the third board, where the radio, the power tree and the per-key LED chain all have to coexist.

Sheet 05 of 08/Going wireless

What the third board dragged in

Moving to an nRF52840 pulled in three lithium chargers, three battery slots and a power path to pick between them and USB, none of which the wired board needed.

3D render of a trackpad PCB covered edge to edge with a gold diamond-lattice capacitive sensor pattern on green solder mask
PL 06The detachable trackpad: a 130 by 100 mm diamond sensor grid in bare copper, placed and clean on ERC and DRC, with 97 nets still unrouted.

Sheet 06 of 08/Deleting the numpad

The numpad and the trackpad come off

The numpad and the pointing device are not on the keyboard at all, they hang off a six-pin pogo I2C connector as separate modules, and so far only the trackpad has been drawn.

KiCad schematic sheet for the wired keyboard showing the STM32F072 microcontroller, USB-C receptacle and switch matrix
PL 07The wired schematic behind the fabrication package: an STM32F072 over USB-C, 84 diodes, and an I2C header that hinted at what generation three became.

Sheet 07 of 08/Where it stands

What exists now

Generation two is assembled and sitting here as a board full of empty sockets, so switches first, then firmware.