-
1Consider the components of your mechanical keyboard
I used Jake Harrington's article How to Build a Custom Mechanical Keyboard as a guide to the various components I was selecting. You can think about all the qualities you want in the keyboard, from the sound it makes to the space it takes up on a desk, and plan towards the keyboard you're imagining.
I picked a 40% key layout and a custom PCB, because I wanted to attach a Pi Pico W to the PCB to run the keyboard and connect to wi-fi for the ChatGPT requests. I knew I was going to find second hand switches and keycaps for it, hopefully purple. I ultimately opted for LED underglow, but not individually illuminated keys. I picked a plateless mount for ease of assembly after referencing Thomas Baart's Cheat sheet: Custom keyboard mounting styles, although the next keyboard I build will use a plate. I discovered that without the plate it is difficult to get the switches to be perfectly aligned - mine are crooked, like the teeth of a Jack-o'-lantern.
-
2Plan your key layout
After you select the percentage of your keyboard you can plan your key layout in Keyboard Layout Editor (KLE) like they show in The Keeblog article Creating the Perfect Keyboard Layout With Keyboard Layout Editor. That's the typical way to do it, and highly suggested. I didn't use that method, instead I designed my keyboard layout in KiCad directly. I followed Noah Kiser's video Creating a Keyboard PCB with Diodes (Kicad 6.0) and referred to a photograph of a 40% keyboard layout that I liked. This resulted in me having an extra key in my design that wasn't present in my reference image. Next time I'll probably use KLE.
-
3Design your electrical schematic in KiCad
I learned KiCad during this project from Noah Kiser's video Creating a Keyboard PCB with Diodes (Kicad 6.0). If you already know KiCad, the schematic creation process may be easy, but if you want to follow clear instructions on how to create the grid of switches I suggest following his guide.
I used ebastler - ebastler's marbastlib for KiCad for the symbol and footprint of a typical solder switch.
I used ncarandini's KiCad RP Pico symbol and footprint as a reference for which pins to use on the Pi Pico W, but ultimately the board is not in my final schematic because I was only manufacturing the PCB with through holes to mount the Pico.
-
4Design the printed circuit board
Using ebastler's marbastlib for KiCad I selected footprints for typical solder switches and then arranged all of the components in the PCB view of KiCad. You can continue following the steps in
Noah Kiser's Creating a Keyboard PCB with Diodes (Kicad 6.0).
Routing the traces should be done without any ninety degree angles, I learned, I also learned about creating a power plane on the board from the article by eelik - How to create a power plane (using zones).
A few handy tools were the ACI - PCB Trace Width Calculator to decide if the LEDs I selected would be supported by the trace width I had selected, and Falstad to test the conceptual circuit I had built.
-
5Select the parts for assembly on JLBPCB
For manufacturing I chose JLBPCB, and was able to select parts for assembly on the PCB from their library of parts, the JLBPCB Assembly Parts Library.
For selecting parts, exporting the Bill of Materials and gerber files, and ordering the board I followed the guide by Notes and Volts - JLCPCB - SMT Assembly with KiCad.
Make sure your footprints are the same shape and scale as the parts you've selected, I had to reference the data sheet for a few things.
-
6Solder the switches to the PCB
-
7Solder the Pi Pico W to the PCB
-
8Program the board
-
9Build the case
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.