This is an old revision of the document!

SpiffChorder Project

Spaceman Spiff's Chording Keyboard Experiment (or SpiffChorder for short) is an experimental platform for creating a USB chording keyboard. A chording keyboard or Chorded keyboard is an input device where characters can be typed by pressing multiple keys at the same time. A popular design is the 7-key chorder, where one key is used for each of the index finger, middle finger, ring finger and pinky, and 3 keys for the thumb. This can be used with either the left or right hand (or a chorder can be used for each hand, effectively doubling the typing speed). The current incarnation of the SpiffChorder is a 7-key chorder, although because of the easily changeable chord-maps, fewer keys can be used as well. The hardware-design has been designed for chords consisting of up to 8 keys, plus 3 additional keys that can be used as modifiers (ctrl, alt, shift). This allows substantially different chording ideas to be implemented, such as the Twidlette.

Both the hardware design and software/firmware for the SpiffChorder is open, and you can make modifications as you see fit. The license is based on Objective Development's license, which is now GPL, but with the addition that the hardware is documented and open as well.

Objective Development's AVR USB driver is a firmware-only implementation of the low speed USB standard (1.5Mbps) which can be used on cheap AVR microcontrollers from Atmel.

The hardware for the SpiffChorder is very simple, and consists mainly of an ATmega168, a 12MHz crystal, and a few passive components for interfacing with the USB port. Apart from this 7 switches are connected, and optionally 3 LEDs for indicating the internal state. The SpiffChorder originally used an ATmega8, but due to the limited flash memory in these devices (in particular when also using a boot loader), it was decided to aim for the ATmega168 instead, which is only slightly more expensive, and apart from the extra flash memory also has port-change interrupts, which will be a benefit when implementing pointing device support.

The project page can be found at, but this wiki will contain more updated information and more specific information, especially when it comes to the documentation of the project.

Mikkel Holm Olsen AKA Spaceman Spiff

Greg Priest-Dorman

spiffchorder/forside.1204492534.txt.gz · Last modified: 2008/03/02 16:15 by spiff
Top of the Wiki Creative Commons License Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0