My keyboard building history
So you want to build your ultimate keyboard but know nothing about electronics, soldering or basic keyboard design concepts? No problem. That's exactly how I felt back in 2018. And still, after 2-3 months I typed on a keyboard designed and manufactured by myself. Here is my story to inspire you.
–-
There are several ways to build a keyboard. The gradual handwiring approach described below is only one from many. However, while not the easiest path, I know this approach actually works and is quite effective to teach you every aspect of designing a custom keyboard from scratch.
You can buy a kit or assemble a keyboard from parts but starting with handwiring really helped me to understand all the steps of keyboard building.
Electronics basics
A few months before I heard of mechanical keyboards for the first time, as a lucky coincidence, I came across Arduino.
Without any background in electronics I bought a cheap starting kit and tried my luck with sensors, motors and development boards of the Arduino family. (2018/04).
While being familiar with the Arduino IDE is not essential, it still proved to be useful later. You learn about basic electronics, program controllers, burn bootloaders etc. just like with keyboards.
Logical layout design & layers
That summer, still completely unaware of mechanical keyboards and custom keyboards, I tried to intuitively optimize the Hungarian QWERTZ layout on my classic rubberdome with swapping some character pairs (JN, ED, TF).
I used softwares like AutoHotKey, PKL, TouchCursor (SpaceFN concept) etc. to achieve these modifications and try my hands on an extra layer with a non-programmable rubberdome.
Evolutional/genetical programming was one of the most useful concepts I came across in a Hungarian diploma work.
Genetic programming
I've built various corpora from books and wrote my own scripts to calculate language statistics, generate, evaluate and compare layouts.
After playing with this project for a few weeks, and by the time I heard about mechanical keyboards for the first time, I knew exactly what the design faults of the classic physical layout were and how QWERTY (QWERTZ in my case) should be improved.
When I stumbled upon mechanical keyboards in late summer of 2018 I started to contemplate on how an ideal keyboard would look like: columnar staggering, ditching of the numpad and arrow cluster, thumb clusters, split/angled design etc.
Lurking & learning
One way of getting familiar with my options was a daily visit to the r/mk sub (August 29th, 2018). I tried to ignore overhyped stuff and focus on ideas and innovations. (There were 200k subscribers at that time and the sub was more building oriented. Nowadays, r/ErgoMechKeyboards is a better alternative.)
When I came across a term I didn't understand, I looked it up and tried to read everything about:
- switch types
- controllers
- split keyboard layouts
- handwiring (build logs are great!)
- and manufacturing
I took collecting links about split boards to the next level by compiling a searchable database of split keyboards. Literally hundreds of them.
At the beginning I had to look up even the most basic terms like voltage, diode, capacitors, anode-cathode etc. One of the most useful sites full of tutorials was Sparkfun (check out their early articles about basic electronics).
Arduino has taught me to search for components, to use datasheets, pinouts, and I had to solder for the first time.
Ordering parts
Because of the shipping costs, my location pretty much defined the shops I could order stuff from. I went for cheap components and ordered almost everything from kbdfans, kprepublic and other noname sellers on Aliexpress with free shipping.
Since then I have a searchable database with all the 400+ keyboard shops I'm aware of: keyboard vendor database. (When buying from them, feel free to use the discount codes offered by dozens of these shops: coupon codes.)
Gradual progress
I was quite sure what I wanted but still started with an easy build. I didn't want to spend a lot of money on a hobby I'm not sure I'll like. So my first project was a $5 cardboard macropad (2018-11).
Macropads like this are the ideal projects to learn and test everything from soldering to programming before building a proper keyboard.
Plate design
Another good technique was cardboard prototyping. With free materials (shoe boxes) laying around I tested layouts and even created working keyboards.
(I've written a comprehensive guide on plate manufacturing if you are interested).
At the beginning I used KLE and the plate builder. However, these are not ideal for split keyboards. Thus, after I knew the proper dimensions (e.g. cutout size) I continued designing my plates in Inkscape.
Thanks to my cardboard prototypes I was pretty sure even a few millimeters count when it comes to staggering. That's why I didn't buy an Iris kit (popular split of that era) but went straight with designing and building my own custom keyboard.
Typing on my own keyboard
After building the macropad I designed and built my ultimate keyboard, the Cardboard tormentor. I was typing on it by Christmas of that year.
Even if this was a really cheap prototype ($40) with cardboard plate, it turned out to be surprisingly usable and I typed on it at home for almost a year. I have to say, typing on your own creation is a great feeling.
Btw, the Corne plate drawings were my starting point. Since I've learned everything from free resources, I published my keyboard plate designs too.
On the hunt for local suppliers
I wanted to try acrylic and steel plates. As a first step I looked for online services, but their prices were unreasonably high.
It turned out contacting local manufacturers is a great way to reduce costs and waiting times.
Acrylic was still a great disappointment and waste of money for me. I started to look for steel laser cutting right after putting together a board with an acrylic plate.
The S.Torm46 was born (2019.10).
Handwiring & Build logs
The most valuable sources of information were possibly build logs. Any build log has the potential to teach you something new.
Also, I tried to document and publish my building process to help beginners.
QMK documentation (KMK too)
I spent a lot of time with browsing the QMK documentation. (QMK was the most popular keyboard firmware back then.) However, once I was settled with my layout, I used the same firmware on new keyboards.
Nowadays, I'd suggest to try an RP2040-based development board and CircuitPython/KMK as the firmware. Much easier...
On the quest for the ultimate switch/caps
Looking for the best switch/caps can be a long and expensive journey. Here is my keycap history.
I'm settled with Kailh Box whites and a Big Bang MDA set. Yeah, I like light, subtle clickies and a relatively low, sculpted profile with homing bumps.
The 2020 Hiatus
After I was settled on the ideal switch and caps I paused my building series in 2020. To indicate how serious I was: this year passed without a single Aliexpress order. :)
I had a lot of work to do in that summer and autumn so I even abandoned r/mk which I have checked several times a day before.
Collecting vintage keyboard
Parallel to my building activities the collection of vintage keyboards slowly infiltrated in my life.
I've spent a considerable amount of money for dirty, yellowed and completely unusable boards. :D
Keyboard Builders' Digest
Checking r/mk in November 2020, I realized this is not the sub I've left a year earlier. 700-800k users, 2000 posts per week, but mostly stupid, low effort ones, cheap memes, cats, and monkeytype WPM screenshots.
However, there were still some great projects published on this platform, buried under the immense heap of sh!t. So I've started to collect the valuable posts, which culminated in launching the Keyboard Builders' Digest, a weekly magazine dedicated to the real builders and posts contributing to the common knowledge of the community.
This project requires a lot of development and still keeps me occupied. I learn a lot during curating this magazine.
–-
Nowadays I still build keyboards occasionally, mostly for myself, with slight modifications of my very first design.