├── CNAME
├── deploy
├── robots.txt
├── img
│ ├── bg.jpg
│ ├── trrs-min.jpg
│ ├── usb-min.jpg
│ ├── diode-min.jpg
│ ├── teensy-min.jpg
│ ├── wiring-min.jpg
│ ├── ceramic-min.jpg
│ ├── ergodox-logo.png
│ ├── ergodox_logo.png
│ ├── gamepad0-min.jpg
│ ├── gamepad1-min.jpg
│ ├── gamepad2-min.jpg
│ ├── gamepad3-min.jpg
│ ├── gamepad4-min.jpg
│ ├── gamepad5-min.jpg
│ ├── th-diode-min.jpg
│ ├── ErgoDox-original-min.png
│ └── ergodox_ez.svg
├── sitemap.xml
├── LICENSE
├── Gemfile.lock
├── js
│ ├── scripts.js
│ ├── jquery.nav.js
│ └── jquery.scrollTo.js
├── css
│ └── main.css
└── index.html
├── src
├── img
│ ├── bg.jpg
│ ├── trrs-min.jpg
│ ├── usb-min.jpg
│ ├── ceramic-min.jpg
│ ├── diode-min.jpg
│ ├── teensy-min.jpg
│ ├── wiring-min.jpg
│ ├── ergodox-logo.png
│ ├── ergodox_logo.png
│ ├── gamepad0-min.jpg
│ ├── gamepad1-min.jpg
│ ├── gamepad2-min.jpg
│ ├── gamepad3-min.jpg
│ ├── gamepad4-min.jpg
│ ├── gamepad5-min.jpg
│ ├── th-diode-min.jpg
│ ├── ErgoDox-original-min.png
│ └── ergodox_ez.svg
├── _includes
│ ├── header.html
│ ├── head.html
│ ├── fixed-banner.html
│ └── nav.html
├── _sass
│ ├── modules
│ │ ├── _all.scss
│ │ ├── _typography.scss
│ │ ├── _colors.scss
│ │ ├── _functions.scss
│ │ └── _mixins.scss
│ └── partials
│ │ ├── _header.scss
│ │ ├── _base.scss
│ │ ├── _reset.scss
│ │ ├── _nav.scss
│ │ ├── _fixed-banner.scss
│ │ ├── _syntax.scss
│ │ └── _general.scss
├── css
│ └── main.scss
├── .gitignore
├── _entries
│ ├── variants.md
│ ├── firmware.md
│ ├── ergodox-firmware.md
│ ├── ez-config.md
│ ├── assembly-2.md
│ ├── tmk.md
│ ├── massdrop-config.md
│ ├── qmk.md
│ ├── guide.md
│ ├── intro.md
│ ├── flash.md
│ ├── parts.md
│ ├── pcbs.md
│ ├── ez.md
│ ├── electronics.md
│ ├── credits.md
│ ├── dactyl.md
│ ├── gamepad.md
│ ├── case.md
│ ├── infinity.md
│ └── assembly.md
├── _config.yml
├── index.html
├── LICENSE
├── Gemfile.lock
├── js
│ ├── scripts.js
│ ├── jquery.nav.js
│ └── jquery.scrollTo.js
└── _layouts
│ └── index.html
├── README.md
└── LICENSE
/CNAME:
--------------------------------------------------------------------------------
1 | www.ergodox.io
2 |
--------------------------------------------------------------------------------
/deploy/robots.txt:
--------------------------------------------------------------------------------
1 | Sitemap: http://localhost:4000/sitemap.xml
2 |
--------------------------------------------------------------------------------
/src/img/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/bg.jpg
--------------------------------------------------------------------------------
/deploy/img/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/bg.jpg
--------------------------------------------------------------------------------
/src/img/trrs-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/trrs-min.jpg
--------------------------------------------------------------------------------
/src/img/usb-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/usb-min.jpg
--------------------------------------------------------------------------------
/deploy/img/trrs-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/trrs-min.jpg
--------------------------------------------------------------------------------
/deploy/img/usb-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/usb-min.jpg
--------------------------------------------------------------------------------
/src/img/ceramic-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/ceramic-min.jpg
--------------------------------------------------------------------------------
/src/img/diode-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/diode-min.jpg
--------------------------------------------------------------------------------
/src/img/teensy-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/teensy-min.jpg
--------------------------------------------------------------------------------
/src/img/wiring-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/wiring-min.jpg
--------------------------------------------------------------------------------
/deploy/img/diode-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/diode-min.jpg
--------------------------------------------------------------------------------
/deploy/img/teensy-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/teensy-min.jpg
--------------------------------------------------------------------------------
/deploy/img/wiring-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/wiring-min.jpg
--------------------------------------------------------------------------------
/src/img/ergodox-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/ergodox-logo.png
--------------------------------------------------------------------------------
/src/img/ergodox_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/ergodox_logo.png
--------------------------------------------------------------------------------
/src/img/gamepad0-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad0-min.jpg
--------------------------------------------------------------------------------
/src/img/gamepad1-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad1-min.jpg
--------------------------------------------------------------------------------
/src/img/gamepad2-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad2-min.jpg
--------------------------------------------------------------------------------
/src/img/gamepad3-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad3-min.jpg
--------------------------------------------------------------------------------
/src/img/gamepad4-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad4-min.jpg
--------------------------------------------------------------------------------
/src/img/gamepad5-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/gamepad5-min.jpg
--------------------------------------------------------------------------------
/src/img/th-diode-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/th-diode-min.jpg
--------------------------------------------------------------------------------
/deploy/img/ceramic-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/ceramic-min.jpg
--------------------------------------------------------------------------------
/deploy/img/ergodox-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/ergodox-logo.png
--------------------------------------------------------------------------------
/deploy/img/ergodox_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/ergodox_logo.png
--------------------------------------------------------------------------------
/deploy/img/gamepad0-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad0-min.jpg
--------------------------------------------------------------------------------
/deploy/img/gamepad1-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad1-min.jpg
--------------------------------------------------------------------------------
/deploy/img/gamepad2-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad2-min.jpg
--------------------------------------------------------------------------------
/deploy/img/gamepad3-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad3-min.jpg
--------------------------------------------------------------------------------
/deploy/img/gamepad4-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad4-min.jpg
--------------------------------------------------------------------------------
/deploy/img/gamepad5-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/gamepad5-min.jpg
--------------------------------------------------------------------------------
/deploy/img/th-diode-min.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/th-diode-min.jpg
--------------------------------------------------------------------------------
/src/img/ErgoDox-original-min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/src/img/ErgoDox-original-min.png
--------------------------------------------------------------------------------
/deploy/img/ErgoDox-original-min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Ergodox-io/ergodox-io/HEAD/deploy/img/ErgoDox-original-min.png
--------------------------------------------------------------------------------
/src/_includes/header.html:
--------------------------------------------------------------------------------
1 |
Ergodox is a keyboard project designed with ergonomics in mind, available either as a DIY kit or an assembled, commercial version. It uses 76-80 Cherry MX style mechanical switches (such as Cherry or Gateron) laid out in a columnar stagger (rather than the more conventional row stagger) layout with components that can easily be sourced. The keyboard is completely programmable and can be flashed with several different firmware options.
202 | 203 |The entire project (including this website) is open source, allowing you the freedom to modify and tweak the project as you see fit.
204 | 205 |Assembling this project will require some patience, soldering ability, and access to a computer to flash the firmware onto the keyboard.
206 | 207 |
The ErgoDox keyboard is a DIY keyboard project originally developed by “Dox” (Dominic Beauchamp) inspired by the Key64 Keyboard.
220 | 221 |The printed circuit board was designed by “bpiphany” (Fredrik Atmer).
222 | 223 |The original 3D printable case was designed by Dox but a far more popular and less expensive option was a layered acrylic design by litster.
224 | 225 |The original firmware was designed by Ben Blazak.
226 | 227 |The ErgoDox EZ was commercialized and manufactured by Erez Zukerman, Dmitry Slepov, and Yaara Lancet.
228 | 229 |QMK Firmware which runs on the ErgoDox EZ was created by Jack Humbert, based on TMK.
230 | 231 |This website was built by robotmaxtron with some help from the community as a way to centralize the documentation after ErgoDox.org went defunct. 232 | If you want to contribute to the project, pull requests, bugs (via Github issues) can be filed at our Github
233 | 234 |Both the keyboard design and hardware files are licensed under the GNU Public License 3
235 | 236 | 237 | 238 |A few things will need to be decided in advance before choosing parts or cases. The ErgoDox supports either the standard 76 key or 80 key layout.
248 | 249 |This project will require some tools such as a soldering iron, flush cutters, wire strippers, solder, and possibly a screwdriver.
250 | 251 |The build guide also assumes that you already know how to solder, if you do not know how to solder or want a refresher there are several guides available on YouTube and other places on the internet.
252 | 253 | 254 |To build an ErgoDox, some readily available components will need to be procured.
264 | 265 |The pcb files are available in a separate repo available here should you wish to modify and/or produce them.
289 | 290 |You could also buy the updated pcb from a vendor of choice by providing them the KiCad or Gerber files in the repo listed above or purchase a batch from OSH Park
305 | 306 |Keep an eye out on the ErgoDox repo revision changelogs for updates and differences between pcb versions.
307 | 308 |While there are many options of materials available (such as cases carved out of wood) generally ErgoDox cases are either 3D printed or layered acrylic sheets.
353 | 354 |The 3D printable case options are available in our repo and have been uploaded to Shapeways
355 | 356 |The most popular and less expensive option is the layered acrylic design. 357 | Github Repo assembled with m3 bolts.
358 | 359 |There is also a 3D printable tenting stand in the repo organization. This will prop up the ErgoDox using Litster’s case at a very natural and comfortable angle.
360 | 361 |The 1.5u outer column keys can optionally be mounted closer in and 1u keycaps can be used.
372 | 373 |Note: This layout is only supported on the newer (post 2012) revisions of the pcb and will require a modified plate design to support the new placement.
374 | Now the section where the soldering and real assembly happens, in the next subsection there will be a couple external links to other build guides including both a photo and video build log.
396 | 397 |
404 | Note: The additional holes in this second image are for through switch LEDs. Only one diode per switch is needed.
405 | Flip both of the pcbs over, this face up side (without the diodes) will be the side that the remaining components will be placed.
411 |Note: Keep the legs clipped off the resistors, they can be used in a later step when the TRRS connections are installed.
414 | Note: There are three holes without copper pads and do not need to be soldered.
418 | 

Note: If the Teensy already has jumpers already installed, skip this step.
435 | 
White: D-
447 | Red: 5v
448 | Green: D+
449 | Black: GND
450 | 

Note: Make note of the location for the three switches on the right hand that will support the LEDs
475 | Note: LEDs have polarity so be sure that the negative leg (which is the shorter of the two legs) of the LEDs goes into the (face up) square hole.
481 | External links to some popular guides to building the ErgoDox Keyboard
497 | 498 |More the video type? YouTube has several other good guides, this one I think does an excellent job of balancing information and length.
499 | 500 |Imgur Build Log: user robotmaxtron shares his build log (including mistakes).
501 | 502 | 503 |There are a number of options for the firmware powering the ErgoDox keyboard, each with their own sets of features and options. Please consult the README guides for each firmware for specific instructions on how to use and compile it.
513 | 514 | 515 |A build guide for compiling and customizing your firmware is best found in the repo’s readme
525 | 526 |Note: There are many users who have committed their keymaps that can be built on and easily adapted to suit your needs.
527 | The ErgoDox-EZ Configurator tool can also be used to generate keymappings and their .hex files with QMK.
530 | 531 | 532 | 533 | 534 |This is a powerful graphical configurator that lets you define layers, dual-function keys, LED control, and more without having to code.
544 | 545 |The configurator is based on QMK and outputs QMK source code which can be used as a starting point for your own configuration/editing.
546 | 547 | 548 | 549 | 550 |The popular TMK firmware has also been ported to the ErgoDox.
560 | 561 | 562 | 563 |Evan from TheVanKeyboards.com has built a TMK powered graphical configuration tool that supports the ErgoDox that can be used to create .hex files for flashing.
564 | 565 | 566 | 567 |The originally designed firmware is also available, though somewhat fallen out of favor due to QMK and TMK’s improved functionalty and larger community support. The project has not had much movement since late 2015.
577 | 578 | 579 | 580 | 581 |Massdrop has developed an online tool for generating ErgoDox keymaps without the need to compile your own firmware, suggested for users who might not be comfortable compiling their own firmware.
591 | 592 |The underlying firmware behind the graphical tool is based on the original firmware by Ben Blazak.
593 | 594 | 595 | 596 | 597 |Once the firmware has been compiled down into a .hex file, it will need to be uploaded to the keyboard typically called flashing.
607 | 608 |Note: Some firmware (such as QMK and TMK) allow for the resetting of your atmel chip to be programmed as a keycode.
616 | The open source nature of the ErgoDox has lead to several variants of the original design. The following list is not a comprehensive list, but does list many of the more popular designs.
634 | 635 | 636 |Created by Matthew Adereth, the Dactyl Keyboard is a parameterized, split-hand, concave, columnar, ergonomic keyboard is an outstanding variation on the ErgoDox design.
646 | 647 |
Build Guide for the brave (will be improved over time)
650 | 651 |The case is uploaded to the things directory of the Dactyl repo and has been uploaded to Shapeways
652 | 653 |Clojure/conj Talk on 3D Printing Keyboards: Adereth gave a very interesting talk on the history of keyboards and the creation of the very interesting shape of the Dactyl Keyboard.
654 | 655 |Another fork of the ErgoDox is a pre-built version with a case that supports legs that will allow you to ‘tent’ or angle the ErgoDox-EZ.
680 | 681 |Another variant of the ErgoDox is the ErgoDox Infinity developed by Input.club. This variant has added an LCD screen built into each half as well as a few other updates to the original design.
715 | 716 |User Profet23 of profetkeyboards.com has made some pcb updates that have been merged into the main pcb repo to allow for left hand only ErgoDox support. This is ideal as a gamepad or other single left-handed usage.
773 | 774 |
An example of the a finished build
777 | 778 |
The PCB has now has pads that support the installation of an optional reset switch. The Teensy 2.0 is actually installed upside down, the built in reset switch is not accessible. There is also an extra hole for the Teensy to solder a header pin for the reset switch.
781 | 782 |
The new “top” of PCB. Teensy is installed upside down. 2.2k resistors, jumpers, and USB port installed on top. In this revision of the PCB, the jumpers dictate which side the USB port can be installed on as well as the TRRS port (which isn’t used in gamepad configuration).
785 | Note: that the USB connection wires are installed (from left to right) empty, black, green, red, white. This is different from the silk screen layout as the usb port is now on "backwards".
786 | 
The new “bottom” of the PCB. The reset switch has been soldered to the bottom. LED resistors have also been soldered to bottom.
790 | 791 | 792 |