DIY keyboard Lily58Pro

Background

Currently, I am in the process of building my own mechanical keyboard. Planning for this has taken a lot of time in the past, which I will briefly address here. I like small keyboards, which is why my original plan was to build a so-called 60% keyboard. In this construction, the number pad, F-keys, and Esc key are missing. These keys are then realized via layers through the firmware, more on that later.

I then further explored keyboards in all colors, shapes, and layouts and quickly realized what bothers me about a normal keyboard:

  1. The hands are too close together, causing the wrists to always be in a tense position.
  2. Due to their history, keyboards are not ortholinear.

You probably wouldn't notice the first point in everyday life because you occasionally take your hand off the keyboard and operate the mouse. However, I use a tiling window manager, where I almost exclusively work with the keyboard, be it opening programs, switching desktops, shutting down/restarting, or rearranging windows. I almost never use my mouse for this, except possibly to click on something in the browser (even for this, there are plugins that allow you to do almost everything with the keyboard). Regarding the second point, I once tested an ortholinear keyboard, and the typing feeling was much better. You get used to it quickly, and it also makes more sense to arrange the keys ortholinearly.

So, I ended up with very minimalist split keyboards. These keyboards are split in the middle and communicate with each other via a cable. This allows the parts to be freely positioned on the work surface, and there is still room for coffee in between 😉. Ultimately, I decided to build a Lily58Pro. The keyboard is open source, meaning the files for creating a circuit board are on github. I then downloaded the files and created the necessary Gerber files using KiCad. With that, I could have the necessary circuit boards made and sent to me by JLCPCB. For 10 circuit boards (i.e., circuit boards for 5 complete keyboards), it cost about 25€. All other parts are in the documentation, and a case can be easily 3D printed.

Firmware

Another advantage is the QMK firmware. With this, the keyboard can be configured in every imaginable way at the firmware level. For this, you can use the QMK configurator. This is where we come to the layers described at the beginning. These layers can be switched via layer keys. Up to 13 layers are possible, which really gives a lot of assignable keys even with a 58-key keyboard. However, layers can not only be switched via special keys. There are also options that, if you press a key briefly, a keycode is sent, but if you hold it down, you switch to another layer. The possibilities that arise from this are almost limitless, but one should keep in mind that the keyboard only sends keycodes, and the interpretation is dependent on the keyboard layout used by the operating system. Nevertheless, I decided to work with the US International layout and outsource umlauts like ä, ö, ü, and ß to a layer. This gives me the advantage of being able to type brackets much more comfortably, especially when programming. The prerequisite is that the US International layout is available and selected on every computer where I want to connect this keyboard. The keys are specifically designed so that, in addition to the QWERTZ layout, the most commonly used keys in programming are best reachable. In the standard DE layout, this configuration doesn't make much sense.

Current status

At this point in time, I have soldered all the components onto the circuit boards. I still need to add the switches, but I am once again faced with the dilemma of choosing from a plethora of new switches flooding the market due to Cherry's expired patent. I will take some time to thoroughly research the options, but I have already selected a few favorites that I am considering. I have attached hot-swap sockets for the switches on my circuit boards, allowing me to quickly swap out switches without having to desolder them.

I will write another blog article about this, which will focus on the finished keyboard and my first impressions of using it in daily life. It will also include some pictures.