We love the mechanical keyboard here. They provide a much more satisfying tactile and auditory experience than their membrane counterparts and may also reduce the risk of RSI (repetitive stress injuries). They're also much more DIY-friendly than membrane designs, as each key has its own built-in switch. Wire these up by hand or using a basic PCB and you've got a functioning keyboard matrix. Thomas Rinsma uses that fact to This nice DIY mechanical keyboard.
Rinsma works as a security analyst, but her hobbies are much more diverse. He was learning more about electronics and his PCB design and wanted a project that would provide him with much-needed practice in the field. This keyboard, which Linsma calls the “kb1”, was the perfect choice. It helped him gain experience, from which he acquired useful equipment.
The kb1 keyboard features a standard tenkeyless layout that is compatible with Cherry MX switches. Each key has its own RGB LED backlight and can be controlled independently from other keys. A 16×2 character LED display in the function key row displays information, and a rotary encoder knob provides an interface for functions such as volume control.
The keyboard controller is a Raspberry Pi Pico development board running KMK firmware. It is a CircuitPython-based firmware created specifically for keyboard microcontrollers, offering great flexibility. If the user wants the keyboard to do something, KMK will likely support it.
Rinsma's biggest challenge was designing the keyboard's PCB. kb1 has two large PCBs forming a sandwich. Most components are soldered to the bottom PCB, and the top PCB acts like a mechanical plate. Rinsma designed these his PCBs in his KiCAD and found his two tools to be very helpful. The first is marbastlib, which has a number of different footprints for Cherry MX switches and stabilizers. The second is kicad-kbplacer, which places switches based on files in the online keyboard layout editor.
This requires quite a lot of delicate SMD (surface mount device) soldering work, but anyone who wants to make this keyboard can have a PCB manufacturer do all the work for them. The result is a pretty nifty keyboard. It doesn't do anything new or groundbreaking, but it helped Linsma learn some new skills, and that's what really matters.