The first try at building a customized ergonomic split keyboard

Published September 2020

Motivation

When you're working in IT the keyboard is the thing you spend most of your time with. Having one of your very own, that you build and customized for your personal needs, feels natural. Additionally it's a cool project involving electronics, programming and CAD design and makes for a great occupation during Covid times (which, to be brutally honest, was the main motivation).

The keyboard

Who knows how many keyboards are out there?! A BIG number... So which type do you want to go for? A coworker raised the question on our random Slack channel and mentioned a couple of ergonomic keyboards, amongst them there was the Dactyl-Manuform. It's an open-source project of an ergonomic split keyboard. I liked the design and the open source approach and read good things about it. So I decided to go for that. In retrospect that decision was taken a bit over eagerly, I should have tested it out further before settling on one, because let me assure you that ergonomic split keyboards are a BIG change compared to what you're used to.
But let's have a look at how it's built and then look at the conclusion and lessons learned at the end.

My customizations to the keyboard.

The Build

Research and selection

Do your research. Make sure you know what type of keyboard you feel comfortable with and what is important to you.

The next thing you need to find out is what types of keys (switches) you want to use. There are a couple of brands and all have different types of keys, some harder, some softer to the touch, some with mechanical feedback, some without, some "clicky" (noisy), some not... You won't know what feels good until you tried. I bought a key tester and an additional set of trial keys to test them. Not an easy task, I changed my mind a couple of times over in the process and had other people try it all out. In the end I chose the Kailh Purple Switches. When in doubt I could also recommend the Cherry MX Red, which are always a safe choice (but also way too mainstream ;).

Testing out which keys feel best.

CAD

The Dactyl-Manuform has open source OpenSCAD files that allow you to adapt the keyboard to your liking. It makes it easy for you to change the ergonomic parameters, such as curvature and height, but also allows you to customize your build to your liking. Me I knew I wanted to add multimedia control keys, a volume knob and a scroll knob. I had to read a bit about Clojure, but the learning is pretty straight forward and you can basically get the job done by looking at the existing code and copy-pasting plus adapting some parts. Additionally I change the screw inserts and the connectors. Typical 3M screw inserts are pretty hard to find so I changed the insert holes to hexagonal holes which hold M3 nuts. They need to be glued rather than just fitted but I have tons of them and they are more convenient in my opinion. Also RJ9 cables and female plugs are hard to find so I changed those to use TRS mini-jack connectors.

The CAD model.

My custom multimedia keys.

Printing

Once you are happy with your CAD files go ahead and print the base of your keyboard. This takes a while, they're relatively big parts for printers to handle. Since they are hollow inside I printed with support, which takes a little extra time as well. For a nicer finish, after printing you can sand down your parts and then paint them. I didn't because I printed multimedia logos on my case and didn't want those to get sanded away.

The connectors: a TRS mini-jack to connect the two split sides and a single micro-USB cable for power and to transmit data.

Soldering

Clearly the most tricky part of it all (but that might just be me, my soldering skills are mediocre). Basically a keyboard can be considered as a matrix of rows and columns, the switches are the elements in the matrix. Let's say switch "1" is on row 1, column 1, "w" is on row 2, column 2, etc. Pressing a switch will connect a row and column and that's how the microcontroller will know what key was pressed. Additionally diodes are added to every switch so that you can press 2 keys at the same time and it remains a unique detectable combination. All keys need 2 connections, diodes and microcontroller connections, for 64 keys you solder 216 connections, not counting the multimedia and mini-jack connectors. I used strips of copper tape to connect the columns (less soldering) and prototyping board to help connecting the rows. This setup worked well and I ended up with stable connections. Just make sure to isolate the rows from the columns in order not to have ghost typing.

Soldering it all in place.

Programming

When selecting a microcontroller (in a split keyboard it's easiest to work with 2) make sure you select one on which the Arduino keyboard library can run (32u4 or SAMD micro based boards), I used Sparkun Pro Micros. For the actual programming a lot of the work is already done for you in the great QMK project. The Dactyl-Manuform is already in the library and basically all that remains to do is to program a key matrix that fits your desired layout. Just for fun you cxn trick your brxin xnd progrxm the "x" key on the "a" switch xnd then your teats look like this. Basically you have complete freedom of how your layout will look like, you'll just have to retrain your fingers to be as quick on the new layout as you were on a traditional QWERTY or QWERTZ in my case.

Parts and resources

List of parts I used: Additionally I found a couple of resources very helpful during the process:

Conclusion and lessons learned

I had a ton of fun building my keyboard and it works as expected! - But I'm not using it as I thought I would. It turns out that the shape I chose for the Dactyl-Manuform doesn't really go well for me... I wish I had known before...
My biggest piece of advice I can give you is to find someone with a split ergonomic keyboard and test it out. During the build process I tried to test it several times, just inserting the switches into the case to see how it all felt. But at that time I hadn't received the keycaps and didn't have an old keyboard laying around to borrow some so it felt completely different than it feels now. What particularly annoys me is that the key column for the little finger is somewhat shifted downwards, I keep missing keys and it does not feel ergonomic. When I find the courage I'll print a second try of the casing and resolder the keys, but for now I haven't worked up the courage to do all the soldering again. Still I have my own keyboard now and I love it!