Picosplit Keyboard

This 3D-printable keyboard, inspired by the Dactyl design, enables a natural and relaxed hand position even during long typing sessions due to its ergonomic shape. It offers  interchangeable wrist rests, interchangeable switches and keycaps, a open-source firmware based on CircuitPython, and easy configuration via text files. It provides a time-saving wiring system without diodes and the flexibility to replace the Raspberry Pi Pico with other microcontrollers if needed.

Have you ever thought about how many hours a day you spend in front of the computer with the keyboard? I'm a software developer and for me it's certainly more than 8 hours, because the keyboard is my most important input tool. I can't write software without it. Even though that's the case, for years - decades, actually - I typed with just a few fingers. I kept glancing back and forth between the keyboard and the screen.

My typing speed was okay, but the constant glances got in the way and therfore I started to learn the 10-finger typing system. I even started doing it several times, because I never lasted long. Mainly for two reasons:

  • I got pain in my wrists.
  • The keys on a normal keyboard are offset and I often had trouble hitting the right keys.

I therefore tried different ergonomic keyboards. In the end, I found split keyboards to be the best, because I can always arrange them so that my wrists are in a relaxed position. I like it even more when the keyboard halves are slightly raised, so that my hands are not completely flat on the keyboard. For me, this is the optimal hand position and the PicoSplit keyboard has such an inclination already built in.

Most split keyboards do not have keys in rows that offset horizontally from each other. This seems to solve my second problem as well. But often these keyboards have much less keys than you are used to. On one hand, this is good because the muscle memory has to remember fewer positions and the hands don't have to move so far. On the other hand, you can only emit the missing keys by activating layers. A layer has its own key assignment for each key.

That's why keyboard layout matters. As much as I liked my first split keyboard (it was the Kyria from Splitkb.com), I was undecided about the layout until one day I found the Miryoku layout.

The layout has very few keys and it is so well thought out that you can really type all characters of a normal keyboard with it. The basic layout corresponds to the English Colemak layout. There is also a qwerty variant, which I use in a slightly modified form in the PicoSplit keyboard:

You can change the layout of the PicoSplit with a text editor and without having to install any development environment. The firmware is based on CircuitPython which provides, beside the USB keyboard, a USB memory drive. Not only the configuration files are on this drive, but also the whole PicoSplit firmware in form of Python scripts.

Features

  • 3D-printable with common FDM printers.
  • Its shape is inspired by the Dactyl keyboard.
  • Allows you to keep your hands natural and relaxed, even after hours of typing.
  • Interchangeable wrist rests that magnetically dock to the keyboard.
  • Adjustable distance between keyboard and wrist rests.
  • Keyboard and wrist rests can be magnetically attached to a surface.
  • Keyboard halves snap together for transport.
  • Switches and keycaps are interchangeable.
  • The PicoSplit keyboard firmware is open source and based on CircuitPython.
  • Readable configuration file format.
  • Easily modifiable firmware
  • Time-saving system for wiring the switches without having to use diodes.
  • No need to install any other software on your computer.
  • A simple text editor is all you need to modify the keyboard layout.
  • A layout that reduces finger travel a lot is already included. It is inspired by the Miryoku layout.
  • The Raspberry Pi Pico can be replaced by something else thanks to slide-in modules.

Limitations

The PicoSplit firmware is based on CircuitPython. Currently USB keyboards created with CircuitPython do not work in all situations. For example: On my Intel iMac (macOS 11.x), I can not enter the login password if the hard disk is encrypted and waking up that Mac from sleep by pressing a key on the PicoSplit does not work (see discussion). You may encounter similar problems on Windows and Linux. On the other hand, I can use the PicoSplit with a M1 MacBook without problems and it works with my iOS and Android devices. So it depends.

Assembly Instructions

Firmware

I originally developed this firmware to try out the Miryoku layout without having to install its development environment with several hundred megabytes. The PicoSplit firmware certainly has fewer features than some other firmware, but it comes with everything for configuration. You don't have to install additional software on your computer. A simple text editor and a web browser is all you need. Since the firmware can also be used to create other keyboards, I provide it on Github for free under the MIT licenseDownload: https://github.com/akaenner/picosplit

Keyboard Layout