Hi everyone! This is the second post on building the HacKeyboard. In case you haven’t read the first one, here’s the link: HacKeyboard, an open hardware mechanical keyboard, part I
But… what’s the difference between mechanical and normal keyboards?
Most keyboard that you find on stores nowadays (basically all of them except the high-end gamer products) use a silicone membrane with a silicon dome under each keycap, having each dome a small contact that will trigger the keypress once you push the key down. After some time of usage the contact gets wasted and sometimes you have to push the key down harder to make a keypress.
Differently, mechanical keyboards use actual, physical switches underneath the keys to determine the user has pushed a key. When you press a key, you press it’s switch down. When you press the switch down, the keyboard sends a signal to the computer telling it that you pressed that key. These switches are far more durable than the rubber domes and have two very important features: a ‘click’ sound that provides direct feedback to your ears and a mechanism that automatically pushes the switch down once you push it to a certain point. Unlike rubber dome keyboards, where you just know that the key has been pressed when you look at the screen, with mechanical keyboards you have tactile and audible feedback that let you know that the switch has been pressed for sure. There are some claims that due to this direct feedback, you can type 30% faster with mechanical keyboards. There are also other claims that say that you get less ‘finger fatigue’ with mechanical keyboards because the mechanical switches do part of the pushing down force for you, but you probably only need to worry about this if you’re a programmer or professional gamer.
Among mechanical keyboards you can find several types of mechanical switches, being the most common nowadays the Cherry MX switches. You can find them in several variants, having each a different type of audible and tactile feedback. These are the switches you find in expensive high end gaming products that are available in the stores. Since they are still manufactured you can buy individual switches and keycaps in several online stores.
Another type of switch that was very common was the ALPS and the SMK Alps mount switches. You can find these in many old keyboards. Some of the keyboards that I know that have them are de Siig Minitouch, the Monterey K104, the Monterey K108, and the Focus-2001. I’m sure there are many more, but these are just the ones I know of at the moment. I actually like more the SMK Alps mount switches than the Cherry switches. However, unless you find them on old keyboards I never found any store that sells the individual switches nor keycaps for these kind of switches.
There are also other variants of mechanical switches like the Topre, the buckling springs, and others, but I’m sure you can find more information in the links below if you’re interested in this topic 🙂 .
Now that you know a little bit about mechanical keyboards, let’s get into how I built one from scratch 🙂 As with all projects, safety first! During the process of making a keyboard it will be necessary to use some tools and chemicals that may be dangerous and harfmul if appropriate safety measures are not taken.
- While using any electrical or manual tools, wear protection gloves should be worn at all time. Surely nobody wants to lose a finger or get cut or burned.
- Protection glasses should also be used, specially if there is the possibility of pieces of hot plastic or metal flying around during drilling or cutting.
- While using corrosive chemicals, latex gloves should ALWAYS be used 😉 and make sure you have good ventilation. Doing this outside or just next to a window should be fine. If a protected chamber with fumes extractor is available, even better.
Tools and mechanical parts
To build this project I used various tools but not all of them are really required. If I didn’t have my TheMaker2 CNC I could just opt for some cutting or etching services. Here’s the list:
- Old keyboards with mechanical switches and fitting keycaps. In this project I’ll be using the SMK Alps Mount switches from a Monterey K108 and the ALPS compatible keycaps from an old NGS keyboard (model unknown).
- ERSA RDS80 Soldering Station and Antex CS18 soldering iron.
- Side cutters
- 35x15cm double sided PCB
- Desoldering pump
- Multifilar wire scraps
- Soldering flux
- Desoldering braid
- AOYUE 852 Hot Air rework station
- Isopropyl alcohol
- Drill Press
- TheMaker2 Homemade CNC Machine
- 0.7mm and 1mm drills
- 3mm cutting bit for Dremel
- Metal files
- Clothes Iron
- Plastic trays
- Clear vinyl
- Brother HL-2130 Laser printer
- Stainless steel sponge
- Craft knife
- 4 pcs 350x150x3mm cast acrylic plates (Note 2)
- Carbon fiber vinyl
- 10pcs 10mm M2 screws
- 10pcs M2 nuts
- 2 pcs 5mm PVC rod
- 2 pcs big rubber feet
- 2 pcs small rubber feet
- Digital Caliper
- Hot Glue gun
- Heat gun or hair dryer
- A4 toner transfer sheets
- PIC Programmer (in my case Kit 149BC PIC Programmer)
- USB to serial TTL converter (optional)
- Braided USB cable (optional)
- Power supply
Getting the main parts
To make a mechanical keyboard the first things I needed to get where the switches and the keycaps.
I started looking for switches and keycaps online but once again I ran into some problems to source the components. The only switches that I could find were the Cherry switches, which can be bought in several varieties (no click, more clicky, less clicky, etc.) but they’re pretty expensive (I don’t recall the exact prices but it was about 1.5$ per switch, plus shipping) and a keycap set could cost about 40$ plus shipping and I couldn’t find a keycap set with Portuguese symbols printed on them. I could try to buy a set with blank keycaps and then try to engrave them in my TheMaker2 CNC but the amount of money I would have to spend plus the time I would have to work on it made me give up on the idea of buying every single part. It would even be cheaper to buy a complete mechanical keyboard with Portuguese layout just to get the Cherry mechanical switches and printed keycaps to make the tenkeyless keyboard.
Luckily, some days later I found myself in front of another pile of old computers and computer peripherals and just started pressing the keys of the old keyboards expecting to hear some “click click click”. After testing a few of them I finally hit the jackpot: a Monterey K108 keyboard completely loaded with clicky SMK Alps Mount switches! And next to it was another one! 🙂 However, I still wasn’t happy, since they didn’t have a real portuguese layout. So I kept searching in the pile of old stuff and hit the jackpot again! I found a more recent NGS keyboard with Portuguese layout and clean white/grey keys that didn’t have mechanical switches, but had keycaps 100% compatible with Alps switches! 😀 So, I just had two sets of SMK Alps Mount switches and a set of almost new keycaps with Portuguese layout… and all of that for the gigantic amount of… 0.00€! 🙂 It was time to start thinking about the PCB, firmware, case design, etc. By the way.. if you happen to have an old NGS keyboard like the one of the photo and are willing to give it away/trade it, just let me know 🙂
If you’re reading this and thinking about building your own keyboard, there are various places where you can get old keyboards:
- Ask your family: maybe some of your relatives work at some company where they have loads of old equipment to throw away. They’ll even thank you for taking away their ‘trash’ 🙂 !
- Ask your friends: the same described above applies;
- Ask around in some companies where you might know someone;
- Ask at your school/university;
- Try to go to electronics recycling facilities. In some they won’t let you take anything, in others they will negotiate a price with you and in others you might get lucky and take the keyboards for free;
- Go to junkyards: some collect electronic equipment to sell to recycling facilities by weight.
- Go to garage sales: there are lots of stories of people getting vintage keyboards that are worth 50$ for as low as 1$ 🙂
Happy keyboard hunting! 🙂
Are you enjoying this project? Follow the link to continue reading and for the full set of photos of the build: [HacKeyboard, an open hardware mechanical keyboard – part III]
Did you find this post helpful? Do you wish to contribute to other projects regarding computer science, electronics, robotics or mechatronics that will be posted in this blog? If you wish to do so, you can donate via paypal using the button below. Thanks! 🙂