01 / Context
Why this project exists
I wanted a keyboard laid out the way I actually type, and more than that I wanted to find out what is really involved in designing a circuit board rather than assembling someone else's kit. A keyboard is an unusually good first PCB: the circuit is conceptually simple, the same block repeats eighty-four times, and the finished object sits on your desk telling you every day whether you got the layout right.
The first generation was abandoned early. The second was built as a derivative of an open-source board, which was the fastest way to learn the toolchain honestly. The third is my own architecture.
02 / Approach
How the problem was framed
The layout settled at 84 keys: a function row, no numpad, an arrow cluster bottom right, and a modifier row arranged for macOS with the Windows legends on the secondary layer. Every switch is a hotswap socket for low-profile Kailh Choc switches, so the switch choice stays reversible after the board is made, and every key gets its own addressable RGB LED.
The second board is wired, built around an STM32F072 with USB-C, and it is the one I pushed all the way through fabrication output: three iterations of Gerbers, bill of materials, component positions, and designators in the format an assembly house wants, plus a DXF and SVG for the switch plate.
The third board changed the premise. It runs an nRF52840 module for wireless, which pulls in a whole power subsystem that a cable had made unnecessary: lithium charging, a buck-boost converter, an ideal-diode power mux to switch cleanly between USB and battery, and ESD protection on the port. The more interesting change was subtractive. Early layouts had an integrated numpad; the final one dropped it, and the numpad and a pointing device became separate detachable boards on a small pogo-pin I2C bus with a GPIO expander to detect what is attached.
03 / Result
What exists now
Two complete keyboard designs and a set of module boards in progress. The second generation exists as a finished fabrication package that could be ordered as it stands. The third is schematically complete and routed, with its own power tree and radio, but has not been exported for manufacture.
What does not exist yet is firmware. There is no keymap layer on any of these boards, so none of them has typed a character. I would rather say that plainly than imply a working keyboard, and it is the honest reason this is filed as a design project rather than a build.
04 / Reflection
Lessons and next steps
The lesson that stuck is that going wireless is not a component swap, it is a power-supply project wearing a radio. Removing the cable added a charger, a regulator topology, a power mux, and a set of decisions about what happens when the battery is flat and USB is plugged in, none of which the wired board had to answer.
The second lesson came from the numpad. Cutting it out of the board made the keyboard smaller, the routing simpler, and the product better, because a numpad you attach when you need it beats one you carry every day. Deleting a feature was the best decision in the project.
Next is firmware and an ordered board, in that order. A design that has never been flashed is a drawing, not a keyboard.
- Generation two builds on an open-source board design; the architecture of generation three is my own.
- No case has been designed yet, and no switch model has been committed to.