Tynemouth Software LLP - Old computers, New computers, Bespoke Web Design and Software Development, Computer repairs, IT and Media Services - www.tynemouthsoftware.co.uk
Monday, 2 December 2013
USB Keyboard PCBs
I've been making a lot of USB Keyboards recently, and have been using a variety of controller boards. The older ones used ATmega328P microcontrollers on matrix board (as seen here as a ZX Spectrum Plus USB Keyboard)
The later ones used modified Arduino Leonardo boards with ATmega32U4 microcontrollers (as seen here as a ZX81 USB Keyboard).
This is fine for ZX81 and ZX Spectrum USB Keyboards, where the 8 pin and 5 pin connectors for the ZX81 fit perfectly, and the ZX Spectrum ones be can be added by extending one...
which have a single longer connector. I have been using Arduino shield prototyping boards plugged into the Leonardo to wire up the 22/24 pin keyboard connectors.
I thought it was about time I came up with a better solution, so I've designed a PCB for my USB keyboards.
It's not a particularly complex board, basically it has the ATmega32U4, a selection of USB connectors, an ICSP connector and the rest of the ATmega32U4 pins are taken out to a 22 pin header for connecting various keyboards. My surface mount soldering isn't the best, so I took the easy option of using through hole for the rest (although some of the package size choices could have been better).
I've also added a three pin LED connector for Commodore cases (using SCK from the ICSP header so it will flash during upload and testing.