Designing Keyboardio
The Making of a Keyboard
Jessie Vincent, cofounder of Keyboardio, looks back at the process of designing an efficient and comfortable keyboard and some of the design decisions and challenges involved.
The Keyboardio [1] Model 01 is an open hardware success story (Figure 1). First shipped in late 2017, it has gone on to ship thousands of units, as well as developing a small but enthusiastic band of users and volunteer developers. However, this success did not come overnight. Besides the challenges that face a small and new manufacturer, the Model 01 also faced endless technical decisions about everything from the shape of the keyboard to the choice of LED switches and their position on the circuit board. Recently, Jesse Vincent, cofounder and CTO of Keyboardio, took the time to shed some light on the product development.
Ever since Vincent's first summer internship as a programmer, Vincent had found himself prone to repetitive stress injuries. "For quite a while," he remembers, "I carried a Microsoft Natural Elite keyboard in my backpack. I tended to go through three or four of them each year." Sometime in 2011 or 2012, "I discovered that there was an online community of folks who made their own keyboards. Somewhat naively, I figured I'd take a month and build myself a keyboard. Seven years later, my wife Kaia and I work full-time on keyboards."
Although keyboards remain the main device for computer input, their design has changed little in the last few decades. Although alternate keyboard layouts are available, the majority of keyboards continue to use the QWERTY layout, so-called from the left-hand top bank of keys.
In fact, Vincent observes, "most traditional keyboards are based on a typewriter design by Christopher Sholes from the 1880s. While there are a number of widely repeated anecdotes, we don't know a whole lot about the reasoning behind his design. It certainly wasn't based on how human bodies work or what's comfortable or productive. Touch-typing wasn't even invented until Sholes' QWERTY typewriter was already in regular use. My favorite, possibly-apocryphal story about the Sholes QWERTY layout is that it was designed so that a salesperson could type the word 'typewriter' using only the top row of keys."
In designing the Model 01, Keyboardio drew inspiration from other ergonomic keyboards, with the Model 01 making a number of standard departures from the standard keyboard. It is a minimalist keyboard, without separate function, arrow, or numerical keys, all of which are accessed through keyboard combinations. Add curved banks of keys to the minimalist keys, and the average human hand does not need to stretch so far. Similarly, keys are arranged in linear rather than staggered columns, reducing how far fingers must travel from key to key. A split keyboard whose halves could be tilted along two axes was still another standard ergonomic feature that became part of the Model 01.
In addition, like gaming keyboards, the Model 01 has mechanical switches for keys, which allow for durability and, if desired, aural feedback, as well as programmable keys and the swapping of keyboard layouts.
"We looked at dozens and dozens of typewriters and keyboards," Vincent says. The most direct influence was the Tron TK-1 (Figure 2), which was designed for use with Ken Sakamura's Tron operating system [2]. "It featured a columnar layout similar to the Model 01, with each column of keys at a different angle." An added attraction was that "the TK-1's creators designed the physical layout of the keyboard based on a number of studies of how human hands and fingers actually work."
To these sources, Keyboardio added its own touches, such as individually sculpted keys to help guide typing fingers along minimal paths from key to key and a palm key. However, this general set of goals was only the beginning. A tour of over 25 hacker spaces throughout North America, as well as appearances at conferences like OSCON, gave Keyboardio feedback from over one thousand people, providing invaluable feedback as well as testing the practicalities of design (Figure 3). The devil, as Keyboardio soon discovered, was in the engineering details.
Issues Along the Way
A chronological account of designing the Model 01 would be repetitive, with many issues being dealt with at the same time, and apparently resolved issues needing to be revisited. To avoid confusion, what follows is a description of only some of the design issues.
To start with, according to Vincent, "we made several dozen prototypes on the way to the Model 01 (Figure 4). The earliest prototypes were laser-cut out from a single sheet of acrylic and point-to-point soldered to an Arduino, without a circuit board holding everything together. This sort of design is very, very fragile, but it's also very quick. We were often able to go from a working idea to a working keyboard within 24 hours. Most of our early prototypes were one-piece keyboards. They were mostly fairly small and portable, but lacked the adjustability that makes the Model 01 so adaptable."
Vincent continues, "The earliest looked very similar to other well-known ergonomic keyboard layouts. As we tested them, we found that they just weren't very comfortable. Over time, we moved the keys around bit by bit until we hit on something that felt right." Judging from photos, an ongoing problem was the positioning of control keys. For example, the prototype in the top right of Figure 4 places the Ctrl keys inefficiently beside each other. Similarly, the prototype in the bottom left has only a single key on one side of each bank of keys. Some prototypes also tested such features as the shape of the two halves of the keyboard, which result in Keyboardio's butterfly logo, and the connecting mechanism for the two halves.
Initially, Keyboardio hoped to include Bluetooth support. Bluetooth chipsets and batteries were priced, and drivers were written. However, the idea soon proved impractical. Each LED backlight drew as much power as a Bluetooth radio. "So we'd either have to disable the LEDs in Bluetooth mode or have a really big battery," Keyboardio explains in an early blog [3]. "A really big battery in one half of the keyboard would make one side of the keyboard heavier than the other. So we'd have to either add a weight on the other side to counterbalance the battery or a second battery charging chip on the other side. And then it turns out that if you put a battery inside an electronic product, there are countries that won't let you ship by air."
Furthermore, the blog explains, "It's hard to make the economics work once you start pricing out adding a Bluetooth chipset and a battery charger to a low-volume product like the Model 01. Most of the folks we survey who were interested in having Bluetooth weren't all that interested in having it at a price we could afford."
At another point [4], Vincent discovered a problem with new circuit boards: "I drove home, plugged the board into my firmware flasher and … nothing. Actually, it was a little worse than nothing. I saw a tiny little puff of magic smoke rise from the board. We'd inadvertently had a diode mounted backwards on the PCB. When the programming cable was plugged in correctly, it couldn't tell the microcontroller to reboot into programming mode. When the programming cable was plugged in upside down, the diode got hit with 5 volts of power coming in the wrong direction and popped." Further investigation showed that "the right-hand PCBs were drawing insane amounts of power, not ever really powering up properly, and were getting really, really hot. A close reading of the schematics for the two boards turned up a tiny, tiny miswiring. One of the pins on the keyscanning controller was wired to ground when really, it was supposed to be wired to the 5 volt line. So it was doing something screwy inside the controller to try to get that power, but being thwarted by the external ground connection (Figure 5)."
At least twice, the LEDs that backlight the keys came to the forefront in design. The first time, Vincent switched to APA102C LEDs and put the LEDs on the same circuit board as the switches, eliminating two large PCBs from each keyboard and making everything just a bit easier to put together [5]. The blog reported that "the new LEDs are a bit brighter, a bit easier to program, and can update quicker, which means there should be less of the flickering that sometimes afflicts LEDs."
Later on, the LEDs started to fail [6]. The blog recalls that "A little bit of triage with a magnifier revealed the problem: about 60% of the LEDs looked cloudy inside. It turned out that the PCBA shop hadn't properly treated the reel of LEDs we'd consigned to them. Electrical components typically ship from the factory in air-tight packaging. They can absorb moisture when they're exposed to the open air for more than a few days. As it happened, there was a nick in the airtight foil packaging of our sample reel, so our LEDs had been slowly absorbing a bit of moisture over the course of a few months."
These are only a few of the design issues Keyboardio faced. Others include the decision to use metric measurements and getting the feet and hinge correct so that users could angle the halves of the keyboards to fit their preferences (Figure 6). Quite late in the process, the exact shapes of some of the keys were tweaked, partly for aesthetics, and partly for problems of some keys getting caught against each other when pressed. Even after the first Model 01s shipped, Keyboardio faced issues such as key mechanisms that required lubrication, and some feet that did not lie flat. Some problems occurred because of a tendency of factories to substitute specified parts without informing the company. Judging from posts on the Keyboardio Community forums, such problems eventually decreased in frequency, but clearly the issues came from a variety of sources ranging from design to components and were more complex than might be imagined.
Juggling Chainsaws
In the end, the Model 01 became a success, and Keyboardio gained a reputation for transparency about its engineering and design. Even so, many features were jettisoned as impractical. According to Vincent, these features included pointing devices, wireless connectivity, and analog input – keys that type a different character when different amounts of pressure are applied, one of the newest advances in keyboard technology. Vincent declines to discuss unreleased products, but acknowledges that Keyboardio is looking at such features "really hard" for the future.
Meanwhile, thanks to Keyboardio's detailed account of its design issues, the Model 01's design process is a concrete example to other open hardware developers of exactly what they can expect when they attempt to bring a product to market. With so many factors to consider at the same time, the process can be likened to the busking acts who juggle chainsaws. Yet, despite all the delays and things that can go wrong, Keyboardio proves that new entrepreneurs can achieve at least small-scale success, if only they plan and persist.
Special Thanks
All pictures courtesy of Jesse Vincent.
Infos
- Keyboardio: https://shop.keyboard.io/
- Tron operating system: https://en.wikipedia.org/wiki/TRON_project
- Bluetooth problems: https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou/posts/1273605
- Circuit board problems: https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou/posts/1543469
- LED changes: https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou/posts/1309005
- LEDs failing: https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou/posts/1543469
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.