A few months back I stumbled upon the world of mechanical keyboards. After a trip down the rabbit hole reading about the different “clicky-ness” of the various switches and about ortholinear vs staggered layouts, I thought it might be fun to put one together.
I don’t really need a new keyboard as the Apple Magic Keyboard I have is just fine for my daily use, and considering how expensive some custom keyboard setups can get, I wasn’t really prepared to spend $200+ just for the fun of soldering some switches and building macros in QMK.
I had the idea to put together a small “macro pad” keyboard with 9 or 10 keys that could be programmed to Xcode got keys. Handwiring was my first thought, but without a 3D printer, getting a custom case to build in was going to be a hassle (and more $$ than it was worth to me). After some more searching around, I found the 9key PCB from Switchtop.com. The 9key simplified the build and when stacked on the second half of the board, doesn’t need a case.
Here’s what I ended up with:
- 1 x 9key PCB from switchtop.com = $7.50 + 5.75 shipping
- 1 x Chinese Arduino Pro Micro clone from eBay = $5.75
- 9 x Gateron Brown switches from eBay = $6.85
- 9 x 1N4148 diodes (pkg of 100) from eBay = $1.00 + $3.78 shipping
- 4 x M3 stand offs from Digikey = $2.68
- 8 x 10MM M3 Pan Head Screws from Digikey = $2.08
- 1 x BS3-1000 reset switch from Digikey = $0.78
Total cost: ~$36 (I won’t count shipping from Digikey, as there were several other items in the purchase that contributed to the shipping cost.) Also, I still haven’t purchased key caps, so final cost should be closer to $40 or $45.
When the screws showed up, turns out I bought plastic ones, but they work just fine. Also, the stand offs are about twice as long as necessary, so the keys sit up way higher than needed. I may cut these down at some point.
The build instructions and firmware link from Switchtop is now dead, so I was flying blind on assembly. There is basic information printed in the PCB, but no instructions more specific than “mount Pro Micro last”.
I soldered the diodes in first, then the reset switch, then the switches. I wish I had found a way to keep the switches aligned while I was soldering them, as a few aren’t quite straight. The holes in the PCB are designed to accommodate several different switch types, so the holes allow some movement once the switch is placed. Next, I placed the pro micro. Once the switches are in, it’s impossible to solder it in place. However, it fits snugly and makes a good connection even without solder. I assume this is by design.
I plugged it in and it connects!
I used the QMK configurator (confit.qmk.fm) to setup my board and generate the hex file to upload to the pro micro. I used the QMK Toolbox Mac app to upload the firmware. This took a little while as the pro micro would be recognized, then disconnect quickly. This may be due to using a cheap Arduino clone. Eventually, I managed to get the firmware flashed by enabling the “Auto flash” setting in QMK Toolbox so that the firmware would be flashed as soon as the board was recognized.
I setup the keys like this:
Build, Run, and Clean are ⌘B, ⌘R, and ⇧⌘K respectively. These are the standard Xcode hotkeys.
My firmware file can be downloaded here: <TBD>