Saturday, 4 January 2014

Tech : Fixing the Dk'Tronics keyboard for my ZX Spectrum

Yesterday I decided to take a ZX Spectrum I've recently repaired and place it into a larger keyboard that I'd had since the 80's...  The reason for using a different keyboard? I'd replaced some components on the PCB with modern counterparts that were actually a lot larger and this made things a little cramped when screwed back into the Spectrums original case.  It made sense to use my classic Dk'Tronics box that was designed as a replacement for the original rubber keyboard.

The reason I'd originally gotten this keyboard back in the day was because I'd upgraded what had been a lowly 16k ZX Spectrum to a full 48k of RAM. That meant opening the machine up, inserting RAM chips and putting it back together.  All went well, except the space key slowly started to fail - notably while playing a game of Manic Miner (which used the space key to jump).

A real keyboard vs. rubber "dead flesh"

Why fail?  Well, the way that the ZX Spectrum keyboard works is that it uses a thin membrane system that has two layers of metallic tracks.  These are separated by another very thin layer so they do not make contact.  A rubber keypad on top of these presses down on the membrane, and that causes the layers to make contact and hence "press" the key.

The membrane is thin, and it can be quite fragile.  So when this had stopped working, I had to find something to fix it. The Dk'Tronics keyboard was a "real" keyboard, and the connectors inside were much more reliable (being cables and not a membrane).


So, I swapped my Spectrum PCB across to this keyboard, plugged it in and booted up the machine.  All started up, then I pressed a key.  Great.  Worked...  I pressed another.  Hmmm...  Nothing...

I then proceeded to press key after key - nothing, apart from around 10 keys seemed to be working!  Argh!

Inspection time!

I opened the keyboard back up and checked.  Its old, but it didn't look too bad.  It has been stored in less-then-ideal damp locations, so I wondered if perhaps there has been some corrosion...  From an initial view nothing looked rusted, grimey or damaged.

I did however spot a handful of partially soldered pins - so minimal they appeared to not be soldered when viewed from above.  I also looked closely at all of the soldered joints and spotted a few cracked ones.  Awesome - those were relatively easy to fix with a hot soldering iron, some flux and a little fresh solder.

Soldering fixxer-uppers...

Soldered - then tested again.  Nope.  That didn't help at all...

Dampness - corrosion - hmmmm....

I continuity-tested the cables (with a multimeter) that ran from the connectors at the end of the cables through to the keyboard.  I traced along the tracks - not all of them - but I made sure to do a few.  Nothing appeared faulty.  Everything connected...  Hmmm...

So I quickly googled things - low and behold, I found this web page that talked about repairing this keyboard and commented that the contacts inside the buttons can get dirty.  Given the damp conditions of storage, this wasn't out of the question... So I tested one button that didn't work...

At first how to open these buttons seemed confusing. However, a simple thin plastic clip on each side of the button allowed the top to be popped off and the insides extracted for cleaning...  Using a very thin screwdriver blade, slip it under and gently push it outwards.

Two clips - one on each side.  Take care, they can snap easily.

I had to agree with the web site after I managed to snap one of the clips off - opening these up was tricky, and given how close the buttons were meant I couldn't get a screwdriver under the other side to pop the clip.  So I followed the advice and unsoldered one of the keys.  The age of this hardware did prove a problem - I did manage to lose a little of the pad when I sucked the solder - but luckily not too much of it to require a repair job.

The actual plastic key on the top popped off with a little prying (its just pressed down on a "+" shaped stem).  Opening the button revealed the following parts (see image below).  One of the contacts was in the middle of a grey rubber cup that is pressed down onto two contacts below to make the connection.

Pretty simple on the inside...

Now that I had this button removed and opened up, I grabbed a cotton bud with a little methylated spirits and proceeded to rub across both both the top and bottom contacts.  The lower contacts in particular had some corrosion, but the small copper contacts in the center looked a lot cleaner once swabbed...

One key had a dark spot that wouldn't rub off, but a gentle scrape with a screwdriver loosened whatever it was and removed it.

Clean both contact points with methylated spirits

I reassembled the key, re-soldered it back - plugged it back in - Fixed!  Awesome, but now I had the rest of the keyboard to deal with...  I desoldered 2 other keys, each time watching for damage to the pads on the PCB.  After testing all 2 were working, I knew what I had to do...  However - I wasn't looking forward to desoldering and clean the remaining 50 keys.

Specialised tools for the job

Instead of the unappealing approach of desoldering each and every key, I discovered a custom tool that was small enough to slip between the keys to hook under each side of the button and unclip it.  This tool you can buy from any stationery stockist - its called a paper clip!  Bent over to form a tiny hook, and by crimping the end as much as possible to get it thinned out - it shaved hours of soldering right there and worked a treat!

Specialised keyboard repair kit

I'm glad to say after a couple of hours work - the keyboard works perfectly yet again, and enough to load and play a few games...

 Now to check some RAM - a few crashes, a little testing and seems things aren't quite right yet.  But its close to done.  Great fun!


  1. Thanks Kevin very helpful all I need now is some spare rubber cups for keyboard ,as some one has fitted some too large.