23 Sep 2021categories: keebs
I’ve been collecting parts in earnest for two new projects. The basic idea is a portable, hackable, ruggedized workstation. The first iteration of this idea came to me from my partner, who is a Homestuck fan. That one is Lunchtop, and will be built into a red plastic lunchbox from the 70s. The other idea came from back7.co, and built into a Pelican case.
These projects interest me partly because I like thinking about the ubiquitous format (“laptop”) being turned on its head and reimagined. And it interests me partly because I get to build two new mechanical keyboards. This post will focus on the latter challenge.
The task is to design and fabricate two keyboards for these computers. The parameters:
- Lunchtop can fit 8u tall and 11u wide, based on the lunchbox dimensions
- Cyberdeck can fit 13u wide and 7u tall, based on the dimensions of the Pelican hardcase I’ve selected
- both must have switch plates that fasten to underlying case structure with screws
- both may have points on the underside of the switch plate for the pcb to fasten to
- both should only use a single ProMicro-style microcontroller
- both should allow for hotswapping the switches, so I can iterate on the switchplate design
I was glad to find a hotswap pcb in a good size for the Cyberdeck (5x12). So far I have not found a good hotswap option for 11u or 10u wide, so I have a few options:
- I could cobble multiple non-hotswap PCBs together (Gherkin 3x10 and Yasui 4x10, for instance). This ditches the “single ProMicro” and “hotswap” design parameters.
- I could cobble multiple non-hotswap PCBs together, and use mill-max inserts to make them hotswap. This also ditches “single ProMicro”.
- I could cobble multiple non-hotswap PCBs together and cut a bunch of traces, soldering new wires on to re-grid them. This would allow for “single ProMicro” but it’s more damaging than I’d like.
- I could follow this guide for a 3d-printable hotswap “PCB”. This would meet the design parameters but will take a little more time than options 2 or 3.
The tipping point came when I started reading this very detailed guide to hand- wiring one’s own keyboard. So I’m headed down the road of the printed hotswap “pcb”.
- the hotswap guide requires
npmand OpenSCAD. I started by making sure
nvmwas installed, and picked the latest version of
npm. I installed OpenSCAD. I should maybe note that everything I do on the terminal is in WSL, and everything in a GUI application is in Windows. And any time I need to build and flash QMK firmware…I do it on a Mac.
- I made a layout over at keyboard-layout-editor.com. I downloaded the layout JSON and ran it through the hotswap guide’s npm script. [note about exact file IO]
- I opened the generated scad files in OpenSCAD. I’m much more familiar with FreeCAD lately, but I’ve had experience with many CAD programs, so a new one can’t be all that foreign, right?
[transmission cuts off here]