Saturday, 3 May 2014

ZX81 and ZX Spectrum USB Keyboard PCBs

I've made quiet a few USB keyboards over the years out of broken ZX81s and ZX Spectrums, and they continue to be popular. The design has evolved quite a bit since my first ZX81 version, hand wired on pad board with an ATMega328P and software written using the Arduino tools.
A while ago a designed a board for the larger USB keyboards, like the Commodore 64 USB Keyboard.
Whilst I have used that PCB on ZX Spectrum builds, it is a bit large, and has a number of unused I/O pins, being based on the 44pin ATMega32u4.
Since the ZX81, ZX Spectrum (and ZX Spectrum+) only have an 8x5 keyboard matrix, I've designed a new smaller board with the 32 pin ATMega8u2, which has enough I/O pins for those computers, with a few spare.
The connectors are laid out to fit in the ZX81, with a USB connector going out the expansion port.
The keyboard membrane tails plug directly into the board, mounted at a slight angle on the underside of the lid.
The ZX Spectrum membrane tails are spaced further out, to these are connected via sockets on ribbon cable.
One connector can be directly connected, but it is tight, and there is insufficient height for a full size USB socket.
The next plan would be do design a long thin version for the Spectrum to avoid the need for the flying leads.
All of these keyboards are available to buy with or without internal Raspberry Pi at my Etsy store.

Update: The long, thin Spectrum specific boards are now available.