A macropad shaped like the state of Washington, made for the cKeys Winter 2020 meetup. It supports MX, Alps, and Choc switches as well as a rotary encoder and an OLED display.
To build this, you need:
For an interactive BOM with references, click here.
If you participated in the workshop offered at the cKeys Winter 2020 meetup, your controller will come
pre-programmed with an example firmware. If you modified it and want to revert it back to the original
firmware, or if you didn't attend the workshop, you can download this hex file and follow the
instructions in the QMK section to flash it. This is also in the QMK folder,
ckeys/washington
, as the default layout.
Download the gerber files and KiCad project, licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Download zip archiveFirst, solder the SMD components (the MOSFET and reset switch). These are easiest to solder first, when the PCB can be flat on your table. The MOSFET is very sensitive to ESD, so make sure to ground yourself.
One pin of the reset switch solderedNext, solder the diodes and resistors. The components should be on the back of the PCB (the side with the text on it). The footprints for the diodes have one round pad and one square pad; the line on the diode should face toward the square pad. The resistors don't have any polarity, so you can insert them in any direction. Make sure to solder the 1k ohm resistor in R9, and the other resistors in the remaining footprints. To hold the components in while you flip the board around and solder them, I like to use masking tape.
All of the diodes in placeNow, solder the OLED display. Insert the header pins into the top of the board with the long end going through the board, and solder the pins from the back. Cut the excess pin. Next, place the display on top. Hold the display up so it isn't tilted (either using masking tape, putty, your hand, or something else) and solder the four connections.
The pins soldered on the backAfter that, solder the header pins to the board. Insert the header pins into the board from the bottom side with the short side going through the board. The board should hold them in while you solder them.
The headers inserted into the boardNext, solder the switches. Insert them into all eight positions on the board and solder them.
The switchesNow, solder the LEDs. Insert the LEDs into the switches so that the long leg is to the left, solder them, and clip the leads off. I usually solder one leg, and if the LED isn't sitting in the switch correctly, I heat the solder joint while pushing on the LED to get it in the correct position.
The LEDs in the switchesNow that everything is soldered, solder the controller onto the header pins with the chip side facing inwards. If the switch pins touch the controller board, try removing solder from them and cutting them to be shorter. It's also a good idea to put electrical or kapton tape on the component side of the controller if it is very close to the switch pins. Once you're done, clip the excess pin.
Soldering the pinsThe final component to solder is the encoder. Insert it into its position from the front and solder the pins on the back.
The encoder from the frontQMK is the firmware that runs on the microcontroller inside of the macropad. If you are doing the cKeys workshop, you'll already have firmware on your controller, but if you want to change what it does or have a brand new controller, do the following:
linux-install.py
Python script with Python 3. Then,
double-click the reset button under the encoder, and run
sudo pmft /path/to/file.hex /dev/ttyUSB0
, substituting the path to the hex file and
the serial port for the correct values. For an Elite-C, install dfu-programmer using your
distribution's package manager, double-click the reset button (or, if you're using the default
firmware, press the key combination previously mentioned), and program the controller with
sudo dfu-programmer atmega32u4 flash /path/to/file/hex
.To complete the macropad, get the bottom PCB and attach it to the top PCB using the 8 mounting holes and M2 standoffs. Finally, install your keycaps and encoder knob.
Done!