Creation and experience of using the Dactyl LightCycle keyboard


Introduction

If you work at the keyboard all day, you are most likely familiar with aching pain in the wrists, which gradually develops into hellish agony. It’s all to blame for the primitive, non-ergonomic shape of the keyboard, which forces you to hold your hands in an unnatural and uncomfortable position. This not only negatively affects the physical condition, but also significantly affects the speed of typing.

In fact, the solution to the problem lies on the surface. But keyboard makers, unfortunately, do not want to pay due attention to ergonomics.

There are very few keyboards of the “correct” form factor. There is a good option Kinesis Advantage, but this is a rarity even abroad, and in Russia it is almost impossible to get them. So I decided to take the production into my own hands. And that’s what came of it.

Dignity

The most important feature of this keyboard is the layout of the keys. Thanks to the correct tilt, the brushes will no longer have to be turned parallel to the table surface. The key columns are specially positioned at different depths according to the length of the fingers. Everything is done so that the hands are always in the most natural and relaxed state, but at the same time the fingers could easily reach any key.

And, of course, do not forget that the keyboard halves can be pushed apart and unfolded as you like.

Layout selection

On the GitHabe has long had everything you need to create a DIY Dactyl keyboard. You can make different configurations with a different number of keys. There is even dedicated site, which generates a 3D model of the case according to the specified parameters.

Most often, options are made with the main block of keys in a 6×6 matrix (six rows of six keys), or 5×6, abandoning the top row (usually function keys) in order to save space on the table.

6x6 (76 keys) 5x6 (70 keys)
6×6 (76 keys) 5×6 (70 keys)

There are also smaller versions, but I, on the contrary, decided to make more, adding 4 more keys to the standard 6×6 version. This gives me a total of 80 keys. The physical layout of the main keyblocks is similar to the layout of the aforementioned Kinesis Advantage keyboard.

6x6 (80 keys)
6×6 (80 keys)

Keyboard case

Unfortunately, the model that is generated website, is not suitable for editing and, at the same time, requires some work. Therefore, when I made myself such a keyboard, I had to draw the body from the very beginning, relying on what was generated by the site.

The main problem with the body of the original version is the angle at the junction of the main and additional blocks, to which the thumb constantly clings. I fixed this problem and a number of other shortcomings in my model, after which it became much more convenient to use the keyboard.

The case was printed on a 3D printer. In time it took about a day only for one half of the keyboard. And in total, about 500 grams of PLA plastic was spent.

The surface that is obtained as a result of 3D printing does not look very attractive, so I put putty on the case and painted it. Putty automotive plaster on plastic, and painted structured black paint H7… I put on top of the paint matt varnishso that the surface does not wear out over time and at the same time does not glare.

This is how the “before” and “after” keyboard looks in the photo, but in reality the difference is even more noticeable:

Components and assembly

To create a keyboard, you also needed a set of various electronics: buttons, microcontrollers, wires, connectors, etc. All this can be found on Aliexpress. But searching is hard enough, especially the button caps. Sellers place great emphasis on sets for standard keyboards. But from them it is impossible to collect a sufficient number of caps of the required length, so I had to look for something else.

Most suitable cap sets – from Ergodox keyboards. Although there are still not enough of them to use for my 6×6 version. So I had to buy two sets.

Why are the keys not signed? This keyboard has neither a standard layout nor a suitable set of keycaps. The user can change the assignment of the keys at his own discretion. In addition, the use of such a keyboard involves typing with ten fingers using the “blind” method, that is, looking at the text typed on the screen, and not at the keyboard in search of the desired key.

I did not approach the choice of switches thoroughly, since I made a quick-change system (hot swap) in the keyboard. The body is equipped with special nests, into which you can easily insert the key and then remove if necessary. True, this should be done very carefully, since the key leads can be very easily bent and even broken.

As for the switches, my choice fell on Cherry mx brown, which are considered the golden mean in terms of tactile feedback and pressure.

I connected them with the simplest postings and diodesusing the diagram so as not to get confused.

I installed two microcontrollers as the “brain” of the keyboard Pro micro ATmega32U4 with USB-c output – one in each half of the keyboard. And in order to combine them, I used a cable 3.5 mm jack

In addition to the connectors, the reset button (reset), which is needed to write the firmware to the controllers and then overwrite the firmware when it is necessary to reassign the keys.

To make the keyboard quieter, I glued to the lid and sides of the case soundproofing… For the same reason, I put special silicone rings, and smeared the buttons themselves thick greaseso that they do not squeak and are pressed more gently.

The cover was fixed with ordinary screws, gluing M3 nuts into the keyboard case. And in order to prevent the keyboard from sliding on the table, I glued it to the bottom anti-slip discs… These in turn cover the screws that hold the cover.

Also an important attribute of convenience are the wrist rests. Since the keyboard is high enough, your wrists will hang over your desk. To solve this problem, I bought these are the pads… They are made of silicone and covered with fabric, but their natural height is not sufficient. Therefore, I made bases of the required height for them, which I also printed on a 3D printer and painted.

These silicone pads are most commonly purchased for use with a mouse. But in the case of this keyboard, their use also plays a special role in ergonomics.

Programming

When the keyboard is soldered and assembled, all that remains is to define the assignment of the keys. For this on QMK website there is a special interface that allows you to select your keyboard from the list with the default layout. But you can remap the keys by dragging and dropping the keys you want into the appropriate cells.

After that, you need to compile the firmware, download it and using special software install in both controllers by alternately connecting both halves of the keyboard to the computer.

This is pretty easy to do. You need to start the program, load the previously downloaded firmware file into it, connect the keyboard to the USB port and press the reset button twice to put the controller into service mode. It is better to turn on the automatic firmware download mode (Auto-Flash) in the program beforehand. After pressing reset, you will have only 8 seconds to start the download, and if you are late, the controller will exit the service mode and disconnect from the program. In Auto-Flash mode, the firmware download will start automatically as soon as the controller enters the service mode and is detected by the program.

After ĸаĸ both halves are stitched, you need to reconnect ĸ to the computer the left half, so by default it is she who is the main one. If everything is done correctly, the keyboard will go into working mode and you will be able to type text.

Things get much more complicated if the site does not have a template that fits your keyboard. This was my case because I made a little more keys than are used in any of the templates presented. In this case, you need to download all sources from the site and edit the files yourself. The process is not easy and draws on a separate article, but you can manually give the keys more advanced functionality and settings (for example, assign macros and different functions when pressed and held). It will look something like this:

Conclusion

Summing up all of the above, I can note that assembling such a keyboard yourself is not an easy task. Especially if you are not a needleworker. It requires certain experience and skills that cannot be conveyed in one article. If you know how to work with hands, but the information in the article was not enough for you, you can ask questions. I will gladly share everything I know on this topic.

PS Special thanks to Dmitry Kuminov and Andrey Shevchenko for their help and support.

Similar Posts

One Comment

  1. Hi , I love your keyboard! It very nice looking. I want to make one just like yours. Do you mind sharing all your .stl files with me ? Thanks in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *