Picture of Acorn Electron USB keyboard

Make a retro USB keyboard out of a 1980's Acorn Electron computer!

The Electron was an 8-bit computer first produced in 1983, based on the legendary BBC Micro. Although it was a budget home machine, it came equipped with a decent keyboard. To many of us who grew up in the 80s the sound and feel of an authentic mechanical keyboard brings back many happy memories.

Incomplete, untested or non-working Electrons can still be found on Ebay and elsewhere, sometimes for as little as £10, and this project will give these noble machines a second lease of life. I use mine as a keyboard for a much later British computing success, the Raspberry Pi.

Remove these adsRemove these ads by Signing Up

Step 1: Assemble the ingredients!

Picture of Assemble the ingredients!
IMG_0845 IDC sockets loose.JPG

You will need:

  • An Acorn Electron computer unit. If you find one that doesn't boot, or is missing its power supply, so much the better!
  • A Freescale FRDM-KL25Z ARM development board. These excellent little boards are available for under £10 (e.g. from Farnell) and need no additional tools for programming.
  • Two 2 x 8-way 0.1" pitch headers, and matching 2 x 8-way IDC sockets.
  • Some 0.05" (1.27mm) pitch IDC ribbon cable. You'll need a 20cm lengths of 26-way cable (split into one 12-way and one 14-way). For instance, you could recycle an old IDE hard disk lead.
  • A USB "A" to "Mini B" cable
  • M3 nuts and bolts

The tools needed are:

  • A soldering iron and solder
  • A solder sucker or desoldering braid
  • A scalpel or sharp knife
  • A Philips screwdriver, pliers, wire stripper etc.
  • A bench vice
  • A drill

You will also need (brief) access to a PC running Windows.

senderj9 months ago

Hi there, thank you for the article. It give me hope on recycling my old mechanical keyboard. I am good a software but not good at hardware. Can you point me the direction how I can make a dead ordinary PC keyboard into a USB keyboard? Looks like changing your firmware is the shortest path. But I don't know anything about keyboard hardware. Please help.

TheSpodShed (author)  senderj9 months ago
My first attempt would be to try to fix the keyboard, and use an AT-to-USB keyboard adapter. Have you tried anything e.g. checking the cable with a meter to make sure every wire at the PCB end is connected to one at the connector end?

If the cable's OK but the keyboard electronics are dead, you will have to figure out which signals connect to the keyboard matrix. Almost all keyboards have the keys arranged (electrically) in a grid of rows and columns - each key connects a particular row to a particular column.

In the Electron keyboard, the controller scans the keyboard by putting a logic '0' (low) on a columns in turn, and then looks at the levels on each of the 'row' lines. If the key at that row and column is pressed, that row's input line will be low. If the key is not pressed, there's a 'pull up' resistor on the row line, which will make it 'high' (logic 1).
The column lines all have diodes on them, so that if the user presses two keys in the same row but different columns, it won't short-circuit the two column outputs together.

So, on your keyboard, you'll need to identify
a) a set of signals which connect to the keyboard in a grid; usually you'll be able to see which are 'rows' and which are 'columns'.
b) which of the signals have pull-up resistors on (if any). These might turn out to be either 'rows' or 'columns', but whichever they are they will need to be inputs to the controller.
c) which signals have diodes on (if any). These should be connected to the outputs of the controller.

You'll then have to work out which key is at the junction of each row and column, and set up the scan code table as appropriate.
craftclarity9 months ago

I love hacks like this. Having grown up with an Apple ][+, I always wanted the clicky keyboard my pal down the street with the IBM PCjr had. Tactile keyboards are so much nicer....nice build!

Ryan Hebron9 months ago

good job keep it up

bergerab9 months ago

I love this! Its got a really cool look to it.