Table of Contents

SpiffChorder hardware

The image below shows the schematics for the SpiffChorder hardware. The interface to the USB connection is handled with a few passive components. Since the USB communication is handled by bit-banging in the software, an accurate clock source is needed. A 12.000 MHz crystal provides this. Since the beginning of the SpiffChorder project, the AVR USB stack has been expanded to also work at 16 MHz and 16.5 MHz, but this has not been tested with the SpiffChorder.

SpiffChorder hardware schematics (click for larger version)

Bill of Materials (Digikey)

Below is a list of the components needed to build the SpiffChorder.

referencedescriptiondigikey part number
C1, C222pF ceramic capacitor.490-3709-ND
C3, C5100nF ceramic capacitor (decoupling).399-4328-ND
C410uF electrolytic capacitor, min. 10V.493-1767-ND
CON12×3 pin header, e.g. shrouded header from Harting.
CON2USB connector, alternatively cable with type-A plug.
CON3Connection to switches. Can be wired directly.
CON4Connection to LEDs. Optional.
D1, D23.6V zener-diode.1N5227BDICT-ND
IC1Atmel ATmega168.ATMEGA168-20PU-ND1)
28 pin socket for IC1ED90054-ND
R12.2 kOhm resistor.OD222JE-ND
R24.7 kOhm resistor.OD472JE-ND
R3, R482 Ohm resistor.OD820JE-ND
R5-R7LED current limiting resistors. About 1 kOhm, depending on selected LEDs.
R8-R18Optional pull-up resistors. 10 kOhm or 4.7 kOhm.4610X-1-103LF-ND
X112.000 MHz crystal.XC1380-ND
key switchesCH196-ND or CH198-ND2)
key caps at WASD Keyboards3)Not available from digikey

Bill of Materials (Conrad)

For residents in Europe, European based Conrad may be a better choice than the US based Digikey. This will save, in most countries (?) quite some shipping costs (and the environmental damage that goes with shipping over long distances). Some important remarks:

referencedescriptionConrad part number
C1, C218pF ceramic capacitor.457159 - 89
C3, C5100nF ceramic capacitor (decoupling).453099 - 89
C410uF electrolytic capacitor, min. 11V.468231 - 89
CON12×3 pin header, e.g. shrouded header from Harting.
CON2USB connector, alternatively cable with type-A plug.
CON3Connection to switches. Can be wired directly.
CON4Connection to LEDs. Optional.
D1, D23.6V zener-diode.180050 - 89
IC1Atmel ATmega168 (Warning: TQFP).154885 - 89
28 pin socket for IC15)189515 - 89
R12.2 kOhm resistor.405299 - 89
R24.7 kOhm resistor.405337 - 89
R3, R482 Ohm resistor.405124 - 89
R5-R7LED current limiting resistors. About 1 kOhm, depending on selected LEDs.
R8-R18Optional pull-up resistors. 10 kOhm or 4.7 kOhm.to be added
X112.000 MHz crystal.155256 - 89
key switches706892 - 89
key caps707023-89

Notes

Sample Layouts

There are a wide number of ways to layout the circuit. A few samples are available on our sample_layout page.

1)
With a slight change in the makefile you can still use the atmega8 digikey part number ATMEGA8-16PU-ND. There are two Makefile changes that need to be made when you compile the code. These changes as well as a working hex file for the ATmega8 are at: using_the_atmega8. Both chips are also available from the nice folks at tuxgraphics, they are at http://shop.tuxgraphics.org/electronic/eth.html?id=1e4a62
2)
I have used the Cherry MX series for years, see http://www.cherrycorp.com/english/switches/key/pdf/keyswitch_cat.pdf
3)
Thanks to Kevin Wang for telling me about WASD
4)
on youtube there are some fine instruction video's of how to do it
5)
useless with TQFP package