TinyKBD -- A small computer keyboard controller
TinyKBD uses an Atmel ATtiny2313 microcontroller to implement a simple and
inexpensive keyboard device for PC hardware. The ATtiny2313 comes in a 20pin
DIL package. 4 pins are used to connect a standard PS2-cable (which also
contains power-supply). The remaining 16 pins form an 8x8 matrix for connecting
keys.
Here is a photo of the protoype. The keyboard matrix connector was directly soldered underneath a 20pin IC-socket, eliminating the need for a PCB.
Software is written in C, using gcc under Linux. The Project Page offers source and
binary packages. Binaries come as IHEX records and can be installed with an
IN-System Programmer like e.g.
- uisp:
|
uisp -v -dprog=stk200 -dt_sck=30 --segment=flash --erase --upload --verify if=tinykbd.hex
|
or
- avrdude:
|
avrdude -c stk200 -p ATtiny2313 -P /dev/parport0 -U flash:w:tinykbd.hex
|
using a STK200 compatible
cable. (Schemtics: minimal or standard).
Future enhancements:
- (easy:) Make keyboard matrix cutomizable via onchip eeprom.
Currently changing the matrix requires recompilation.
- (easy:) design a small PCB, add a demultiplexer (74*138) to support
more than 64 keys.
- (possible?) Support USB as an alternative to PS2. Pointers welcome.
2005-09-30, jw@suse.de