From Deskthority wiki
Revision as of 20:26, 27 January 2019 by Findecanor (talk | contribs) (Added plural form. Added because it seems to be confusing for people. ;))
Jump to navigation Jump to search

The ErgoDox is a DIY keyboard project initiated by user Dox (Dominic Beauchamp), after inspiration from the Key64 project and likely the Kinesis Advantage. The design is ergonomic, split in two separate halves with a columnar layout.

The PCB was designed by bpiphany (Fredrik Atmer). Dox had made an initial 3D-printed case, but a less expensive layered case was designed by litster.

The design and hardware files are under the GNU Public License version 3.


See also clones.

ErgoDox EZ

A fully-assembled keyboard with manufacturer's warranty can be ordered from


The keyboard is available in kit form from Massdrop. They have included cases of litster's design in layered clear acrylic or aluminium. So far (August 2013), two runs have been completed with a third run mid-way.

Some runs have included everything needed to construct a keyboard, including blank keycaps, other runs have offered blank keycaps separately.

ErgoDox PCBs have also been sold in separate runs on Massdrop. sells pairs of blank PCBs. This PCB revision supports PCB-mounted stabilisers.


FalbaTech in Poland sells pairs of blank PCBs, electronics and cases for ErgoDox. Also assembly service.

Profet Keyboards

Profet Keyboards in the USA sells pairs of blank and pre-soldered PCBs and cases for the original Ergodox. Also offers custom cases and assembly service.


Most electronic components to go on the PCB are available from US vendor DigiKey; see the Electronics section below for a list and alternatives.

Sleeved cable kits have been available from Pexon PCs.


The keyboard is split into two separate halves, each having a columnar layout. Each half have 38 keys, 32 keys in the main area plus 6 keys in the thumb clusters, totaling 76 keys for the whole board.

There are thumb clusters and keys below the bottom row, similar to the Kinesis Contoured or the Maltron. There is the option of using 1 or 2 2u high keys for the innermost columns instead of 1u keys. Not all PCB revisions and cases support PCB-mounted stabilisers for the 2u keys, but stabilisers are often not needed for vertical thumb keys (the Kinesis does not have stabilisers).

There are also more keys inside the innermost columns, somewhat similar to the µTron Keyboard. The outermost columns are 1.5 units wide.

The layout has been criticised for having the thumb keys on each keyboard half too far away from the main cluster, and for not having enough offset between columns. Several builders have modified the thumb clusters in various ways for easier access.

The logical key layout is up to the builder of each keyboard.



The controller is based on a Teensy 2.0 AVR microcontroller board in the right half, with an I/O expander in the left half. The halves are connected with a 4-lead cable with power and i2c lines to the I/O expander.

A mini-USB port is supposed to be soldered on the right PCB and the Teensy board connected to the PCB with both pins and an internal mini-USB cable with cables soldered to the mainboard. Alternatively, a mini-USB cable can be connected directly to the Teensy board if there is a wire between the Teensy's "VCC" pin and "5V" on the main board, or the I/O expander gets its power from elsewhere.

The PCB design is reversible: the same type of PCB is used for both the left and right side. This means that it is possible to reverse the positions of the Teensy and the I/O expander, but then they would have to be mounted upside-down. Jumpers on the top of the PCB are also used.

The Cherry MX switches can be PCB-mounted, or be plate-mounted if a mounting plate is used (which they are in the official case designs). There is a diode for each switch, that can be either surface-mounted, through-hole, or through-hole, mounted inside most switches.

The diodes are supposed to be facing the other way on the left keyboard half, but the direction could also be swapped in the official firmware by flipping the values of DRIVE_ROWS and DRIVE_COLUMNS in options.h. See the discussion on the Ergodox assembly page.

Component list below (adapted from

2 ErgoDox PCB
1 Teensy USB Board, Version 2.0
1 MCP23018-E/SP I/O expander
76-80 Cherry MX switches, PCB or plate-mounted
76-80 1N4148 diodes, SOD-123 package or DO-35 (0.3" pitch)
2 2.2 kΩ resistors (red, red, red)
3 3mm T1 LEDs
3 ~220 Ω resistors, or match to LED. (red, red, brown)
5 Short jumpers
1 0.1 µF ceramic capacitor (marked "104" for 10*104 picofarad). Not strictly necessary
1 USB mini B connector WM17115.¹
1 USB mini B plug with short cable (such as H2955).¹
1 USB cable male A to male mini B.¹
2 3.5 mm TRRS sockets, CP-43514. FC68129 will also work if its extra pins are snipped off.²
1 Cable with two 3.5 mm TRRS plugs.²


1. The USB cable could also be routed directly to the Teensy 2.0. On early revisions of the PCB (Massdrop), an additional wire would also have to be connected from Teensy pin VCC to the pad marked "5V" near the plug's position. The latest revision of the PCB would not require an additional wire.

2. FC68129 has been confirmed to work. A fixed cable could also be used instead of TRRS cable and plugs. Builders have also used other types of connectors.

Backlit version

Work is ongoing to make a backlit version of the ErgoDOX. It's expected to be ready in Q4 2013.

The backlit PCB uses a single "high power" SMD mounted RGB LED on each half connected to high efficiency LED drivers controlled by PWM and I2C bus. On top of the LED there is a light pipe which directs the light into .75mm fiber optic strands, these are then individually routed on the back of the PCB to each switch where they are fixed using the standard LED hole in the PCB/Switch. This gives the ability for the back-light on each half to be dynamically set to any RGB value.

The development is hosted on GitHub. The new back-light enabled PCB fixes the outermost key columns bug and is fully backwards compatible, it will function as the original when the back-light components are absent.

The following table lists the additional components required for the back light:

2 LM3549 Sequential RGB LED drivers
2 LPF-R011362S 90° Light tube, square end.
2 LRTB C9TP RGB LEDs 30-250mA per color
76-80 0.75mm Fiber Optic cables, 200mm(8")
2 C1206C106J8RACTU 1206 Footprint 10 µF Capacitor ,6.3V/10V (X7R/X8R)
2 C1206C475J8NACTU 1206 Footprint 4.7 µF Capcitor ,6.3V/10V (X7R/X8R)
2 L1210R2R2MDWIT 1210 Footprint 2.2 µH Inductor, 1900/2000 mA

Total additional cost is expected to be between 15-20 dollars for both halves depending on volume. Existing cases can be modified for the backlit PCB by removing material to make room for the light tube.


In litster's case design, the case is built from layers of acrylic (or aluminium) bolted together. The switch mounting plate layer is thicker than the usual 1.5 mm, making the switches friction-fit rather than snapped on.

With a litster case, the dimensions (at the widest point) are 21.6cm (8.5in) x 20.3cm (8in) x 1.8cm (0.7in). Other cases have been built by enthusiasts for themselves.


The original firmware was developed by ic07 (Ben Blazak) and released under the MIT License. The source code is available on GitHub. There is an online ErgoDox layout configurator on Massdrop's web site which produces .hex files with configured firmwares that can be loaded directly onto the keyboard.

The well known TMK firmware has also been adapted to work with the ErgoDox.


  • The outermost key columns were made for 1.5u keys, but were also supposed to support 1u keys as an option. Unfortunately, the pin holes were misplaced so 1u keys can not be used in these columns without modifications to the PCB and using a custom switch mounting plate. This has been resolved in the latest version of the PCB and is available from Profet Keyboards
  • In litster's case design, the holes for the Costar-style stabilisers mounts for the middle thumb keys are facing the wrong way, making it impossible to fit stabilisers for these keys.


There are keyboards that have a ErgoDox layout but are incompatible with the original hardware design and firmware.

  • Infinity ErgoDox has different electronics, with backlit keys and a LCD screen. It supports both Cherry MX and Alps-switches but does not have 1×1-key options for thumbs or little fingers.
  • The KBDFans ErgoDone circuit board uses a less expensive Arduino Pro Micro as controller, instead of a Teensy 2.0. The USB port has moved to the left side and the standoff holes are gone - which makes it incompatible with many (but not all) existing ErgoDox cases. It is available on AliExpress.


The plural form of "ErgoDox" is "ErgoDoxen".

External links