Canada - Flag Canada

Please confirm your currency selection:

Canadian Dollars
All prices include duty and customs fees on select shipping methods.
Free shipping on most orders over $100 (CAD)

US Dollars
Incoterms:FCA (Shipping Point)
Duty, customs fees and GST collected at time of delivery.
Free shipping on most orders over $100 (USD)

Bench Talk for Design Engineers

Bench Talk


Bench Talk for Design Engineers | The Official Blog of Mouser Electronics

Open Source Reinvents the Keyboard Bruce Byfield

Keyboardio Keyboard

Keyboardio Keyboard (Source: Keyboardio)

Countless people spend eight hours a day or more at a keyboard. Yet keyboard design has hardly changed in years. Most buy keyboards for $30 or less, but the key arrangements are in a QWERTY layout like the ones that typewriters used for decades. However, in the most recent decade, open source enthusiasts have begun rethinking the keyboard for modern use. The resulting redevelopment often manifests as unique, comprehensive feature sets—though these are found on few, if any, keyboards sold by proprietary vendors.

Several trends are driving this redevelopment. First, gamers prefer a sturdy keyboard over a cheap one that wears out after six months of heavy key pounding. Moreover, both gamers and specialists like programmers, computer-aided design (CAD) professionals, and graphic artists appreciate a keyboard that stores macros, which are more efficient than using a mouse.  A few users simply want a more aesthetic device—as indicated by the cult following after Datamancer's cyberpunk keyboards. Still, other factors include a large population that spends much of its time using a keyboard and an aging population—trends that show evidence that painful, repetitive strain injuries (RSI) are becoming increasingly common.

Perhaps most importantly, the Maker Movement (with its roots in open source), has created a community of “do-it-yourselfers (DIYers),” who (instead of being consumers) are eager to build their own devices to their own particular specifications. With the rise of microcontrollers like the Arduino, these aficionados are now in a position to add all the features they want in a way that was impossible not too many years ago. You can find these DIYers developing open source firmware for keyboards on GitHub or find them discussing the details of their projects on or within the Reddit mechanical keyboard group.

The Anatomy of a Keyboard

There is no universal agreement on what keyboard developers want. That is, after all, the whole point of their efforts. However, whether enthusiasts are producing a single-piece keyboard or a split one, a standard one or an ergonomic one, few (if any) open keyboard developers appear to be interested in releasing a rubber dome—or “membrane”—keyboard of the type sold in most computer stores. Such keyboards are called this because, when a key is pressed, two pieces of conductive foam make contact to print the character or activate the command. These keyboards are fragile, wear out quickly, and are too cheap to be worth repairing, even if anyone had the means. They are throwaway keyboards—an addition to the electronic waste that is increasingly condemned in this environmentally conscious age.

Instead of a membrane keyboard, open source developers prefer what is known as a mechanical keyboard. In contrast to a membrane keyboard, each key on a mechanical keyboard has its own mechanism for depressing it. Mechanical keys are sturdier than those on a membrane keyboard and tend to keep working longer. If they stick, a drop of oil often provokes them to work again. If one wears out, it can be replaced.

Increasingly, too, the keycaps (the part that fingers press) are made to be removable. That means that if a user prefers a key layout other than the traditional QWERTY, such as the Dvorak or Colemak, they can remove the keycaps and place them on another key as a guide to their preferred layout. There is even a specialized keycap remover to make the task of removing them easier.

Have any contact with keyboard developers, and sooner or later you will hear them debating which company makes the best keyswitches or mechanisms for mechanical keyboards. One of the most well-known and most often copied is the Cherry MX Keyswitch, but these days, there are an increasing number of competitors, such as the recently introduced Halo switches.

As keyboard developers debate the virtue of each keyswitch, they concern themselves with other matters as well, such as:

  • Key noise: How much sound emanates from a key press, providing audible feedback
  • Preload: How much pressure to apply to activate a key
  • Bounce: How quickly a keyswitch is ready for the next press

Like any engineering specialty, mechanical switches have their own specialist jargon about elements that affect durability as well as the user experience.

Programming the Keys

Another major concern is how to make keyboards programmable, allowing users to create macros or re-position characters and command keys like the “Space” or “Command” keys, according to individual preference.

An important aspect of customizing keys is the addition or modification of layers. All keyboards have two layers:

  • One that produces lowercase letters
  • One that produces uppercase letters and a few symbols, by pressing the “Shift” key

Many open source keyboards allow the creation of additional layers that are accessed when pressing another key. Additional layers can hold international or alternate keyboard layouts or macros for a specific application. Still, other modifications operate on all layers, such as a “Caps Lock” plugin for a minimalist keyboard without it or a light display for backlights.

Editing the firmware on a computer then flashing the revised firmware onto a keyboard activates all these modifications (similar to flashing an operating system update onto a smartphone or tablet). If the edits contain an error, then corrections are permissible as well as the re-flashing of firmware.

Players in the Game

Many of the first open source keyboards were produced by part-time developers’ businesses and sold as DIY kits from the developers’ homes. The most well-known keyboard from this era was the ErgoDox, a split-keyboard that remains popular today. In the last few years, however, at least two open source keyboard developers have emerged with small businesses:

  • Input Club, which distributes through Massdrop, began by selling kits for users to assemble, but last year, it began selling ready-to-use keyboards as well.
  • Keyboardio, after raising $640,000 in a 2015 Kickstarter campaign, finally began (in November 2017) to ship its Model 01, an ergonomic, mechanical keyboard with minimal keys and programmable firmware that can be assembled in several different ways.


Unlike proprietary companies, Keyboardio  permits users to open the keyboard to examine the Model 01's Microchip Technology ATmega32U4 8-bit MCU (without voiding the warranty)—and emphasizes its commitment to openness by shipping its product with a multi-head screwdriver to open it. Mounted on two pieces of maple, the Model 01 also offers a more stylish look than most keyboards ever have.

No one is sure what the market for open source keyboards will be. However, indicators, such as the Keyboardio crowdfund, show that interest may reach into the hundreds of thousands, especially when you consider that the Model 01's $329 price hasn’t hindered Keyboardio from experiencing brisk business. Regardless of what the case may be, the market is currently strong enough that traditional companies have started offering mechanical keyboards and even a few programmable ones (although, few are available in the stores and, like the Corsair and Razer lines, are often aimed at gamers rather than a general audience). By offering a far larger feature set, in the end, open source keyboards might very well become the electronic equivalent of Tesla—a product line that has managed to shake up a staid industry with thrilling innovation.

« Back

Bruce ByfieldBruce Byfield is a freelance journalist specializing in free and open source software, and is author of Designing with LibreOffice. Bruce has been a contributing editor at and Maximum Linux, and has been published many times in well-known publications, including Datamation, Linux Journal, LinuxPlanet, The Linux Developer Network, Slashdot, and LWN, among others. Bruce can be reached at

All Authors

Show More Show More
View Blogs by Date