Mechanical keyboards are a satisfying interest of mine, not to mention an essential interface I use every day. From writing works of literature to coding, a mechanical keyboard makes striking any key enjoyable, whether one may enjoy a tactile and bumpy click or a more linear and smooth clack. I personally enjoy a linear switch, as I prefer to type with a good amount of force upon each tap. Though, I was curious to try out a more clicky keyboard, which is why I chose to build a mechanical keyboard using Blue switches. Such switches provide a clicky sound when pressed, as well as a bumpy feel on the way down to provide tactile feedback of a key's activation.
My curiosity about mechanical keyboards arose during a summer research program in which I conducted technical and entrepreneurial research concerning a Piezoelectric powered keyboard. Through my work on the product's bill of materials, I learned what parts an industry-made mechanical keyboard would require, as well as the market price for such a product. This traditional mechanical keyboard, built in the 60% form factor, is made using a designed TechKeys GH60 PCB board, an aluminum plate, Gateron Ks-15 Blue plate mounted key switches, PCB mounted stabilizers, and some key caps. Throughout this guide, I will explain what each part is and why I chose them.
special equipment
Soldering iron and solder wire
Fume extractor
Thin paintbrush (for applying lube)
De-soldering pump (optional)
Liquid flux (optional)
Tip inner (optional)
lubricating and assembling the stabilizers
Stabilizers, on a keyboard, serve to keep large keys balanced and level as they are pressed and bounce back to their normal state. Here, I am using Cherry MX-styled stabilizers for a 60% layout, in other words, one for the spacebar and six for the Caps Lock, left Shift, right Shift, Enter, and Backspace buttons. These are PCB mounted, so they clip into the PCB. I am using 205G0 grease to lubricate the stabilizers, from inside the housing, the insert piece, and the metal bars that are attached to them. It's important to generally lubricate these pieces to reduce friction and ensure a smoother and less noisy key press.
inserting switches and stabilizers
Inserting the stabilizers is as easy as pushing the clips into the cutout holes on the PCB. You should hear a clicking sound as they become securely fastened onto the board. Since these stabilizers are PCB mounted, they snap right onto the PCB as opposed to the plate, as seen on the right of the photo above
Since our switches are plate mounted, they will snap into the plate and then into the PCB. Do not be afraid to apply some force to firmly secure the switch onto the board
This diagram shows how plate-mounted switches and PCB-mounted stabilizers work. The aluminum plate provides some stability for the switch, moreover, it helps to remove some movement and rattling when keys are pressed.
Courtesy of switchandclick.com
soldering the switches
SOLDERING it's fun, it's rewarding, but I've quickly learned it's important to be safe while melting molten metal (and hopefully not your hands). A fume exhauster is a must, breathing in these fumes can prove to be hazardous to your respiratory health, use a sufficient exhaust fan in a well-ventilated and lit room. I found a small one on Amazon that works well for small projects. A soldering iron is, obviously, extremely hot. Be careful where your fingers rest on the handle, and always be mindful of where your iron tip is. Soldering itself is a useful skill that takes time and practice to be an expert, but it's overall an easy and enjoyable process that can be accomplished by anyone!
Plate-mounted key switches have two copper leads that protrude through the plate and PCB holes, and they are to be soldered to the copper pads they are surrounded by.
Here's a good diagram displaying how a good solder joint should be. A smoothly formed volcano-shaped cone that makes contact with the conductive pad and the component lead.
The bottom of the PCB is shown with the soldered joints of every switch
The top of the keyboard, with the switches situated on top of the plate and PCB.
Note: I was short a switch and had to purchase another set, although the casing is clear, it is still a blue switch and will operate the same
I set my soldering station to 380 degrees centigrade, and found using some tip tinner helped to prevent the tip from oxidizing after each use. The solder wire I was using did not have a Rosin core and therefore my tip oxidized quite often. Using a thin and chiseled-shaped tip, I applied heat to the switch's lead and touched the solder wire to the connection, then steadily fed more wire to form a nicely formed volcano joint. All in all, it sounds much easier said than done, but after a few joints soldered, you will get the hang of it.
attach the keycaps
It's as simple as pressing the key caps down onto the switch. Since I used Cherry MX-styled switches, I purchased Cherry MX-styled keycaps. Underneath the key cap, they have a cross-shaped hole that allows the key switch insert to slide into. Make sure to firmly press down on all corners and edges of the keys, especially the larger ones, so that the keycaps are securely fastened onto the switch.
Selecting a style of switch can be tricky, this helpful flow tree to the left may help you to choose your favorite switch. Like I said before, I enjoy a linear and smooth feel, but the Cherry MX Blue switches (made by Gateron) feel as tactile and satisfying as ever!
Photo courtesy of switchandclick.com
flashing the firmware
Note: I found this video to be helpful in my initial attempt to flash the necessary firmware to my GH60 in order for it to function as a keyboard. I will display the steps I took for this specific PCB, TechKey's GH60 PCB keyboard below!
Open EasyAVR, click File > New > GH60 > Click OK
EasyAVR provides a default layout for the base layer of your keyboard.
If you wish to change a button's function, simply click on it, under Key Assignment where it says Scancode, click the three dots. You'll be greeted to a selection screen where you may choose that button's new function as shown above
To add another layer to your keyboard to access function keys, add an Fn button to your default layer. I placed mine where the R_GUI button is. You'd simply press this key to access your Layer 1 and the keys you map to it.
Adding Fn 1 to my keyboard on the bottom right to access my second layer, i.e. Layer 1
Applying my function and arrow keys to Layer 1
When you are satisfied with your key mapping, click Build > Build As > and save your .hex file
Plug in your keyboard via a mini-USB cable to your PC and open FLIP
Click the chip button on the top left to select a device, then select the ATmega32U4 and click OK
Next, press the reset button on the PCB. Afterwards, click the cable button, click USB, then Open
Then click File > Load HEX File > and select the .hex file we saved earlier and click OK. Next, click the RUN button and Start Application. The keyboard has now been uploaded to the key mapping program and is ready to use. Use a website like keyboardtester.com to test if each key registers. If a key does not, check to see if the solder joint is soldered properly, a faulty solder connection could be the cause.
A soldered and constructed mechanical keyboard from scratch!
next up...
Here a few additions and upgrades I plan to add to my keyboard:
LED's beneath the WASD keys
Construct and place inside a case