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.

Step 1: Assemble the Ingredients!

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.

<p>Great instructions and mini-project. I have been meaning to get around to making one for a long time and have now finally done it and really it didn't take that long at all. I had a bit of a mis-wiring (back to front) problem with my first attempt and then a minor snag with a ropey old Acorn key switch but those are all remedied now. Here's the required 'I Made It' snap with another using it to run Brandy (BBC) Basic on a Raspberry Pi 3 (not installed in the case). I will probably install a Pi Zero in the case in the fullness of time, then it can boot up into Elkulator are be, erm, an Electron again.</p>
<p>Thanks for posting the pictures - hope it brings a smile of nostalgia.</p><p>I never put a Pi actually inside my case because the connectors on the model B I had were quite awkwardly arranged. A Pi Zero + separate USB hub would work really well I imagine.</p><p>Thanks - Ian</p>
<p>Hi, after reading your article and having an Acorn Electron back in the 80's, I bought an Acorn Electron from Ebay with no leads or power supply.</p><p>I used an Arduino Pro Trinket as it has drivers to mimic a USB keyboard.</p><p>I'm planing to fit a Rapberry PI 2 in the Acorn Electron case.</p><p>The Acorn Electron PSU has a 19V AC input but works well on 12V DC supping + and - 5V. </p>
<p>Did you manage to complete this project? Any chance you can post how you hooked up the trinket to the Electron keyboard? </p>
<p>Hi Martin, I did manage to complete this project, I did modify the PCB and mount it on the back of the keyboard, as I needed more space in the case.</p><p>I now have a piece of vero board mounted on the back of the keyboard.</p><p>I did run out of digital I/O on the Pro Trinket as 2 of the digital I/O are used by the USB port. There are 2 analogue ports marked A6 and A7 next to the processor, I used them as sort of digital inputs, see the screen shot attached.</p><p>I don't have a circuit diagram but as it's built on vero board I could produce one and if you want a copy of my Arduino program, let me know.</p>
<p>Hi Alan, thanks for the reply. That looks awesome! I'm back in the UK next month and I want to try and find my old Electrons in my parents house and may do something similar. I know I had one that died and one that was still good so I'm hoping I can find the dead one to cannibalise. </p><p>What is that you have mounted next to the RPi? A USB hub of some sort?</p>
<p>Thanks for sharing this - I'm glad you found it useful.</p><p>If you ever write up the Trinket circuit &amp; sketch, let me know and I'll link to it.</p><p>Cheers</p><p>Ian</p>
<p>Ian, your Acorn Electron USB Keyboard was an inspiration.</p><p>If I was to do a write up on how to use a Pro Trinket and an Acorn Keyboard, it would have to be my BBC keyboard interface, which was a lot easier as Acorn fitted some logic IC's to the keyboard. There is enough room inside a BBC case to fit 4 Raspberry Pi 2's and a 5 port Ethernet hub. </p>
<p>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.</p>
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?<br><br>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. <br><br>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). <br>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.<br><br>So, on your keyboard, you'll need to identify<br>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'.<br>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.<br>c) which signals have diodes on (if any). These should be connected to the outputs of the controller.<br><br>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.<br>
<p>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!</p>
<p>good job keep it up</p>
<p>I love this! Its got a really cool look to it.</p>

About This Instructable




More by TheSpodShed:Pringle Can MIDI Drums Mega Power Bank Super cheap Ethernet for the Raspberry Pi 
Add instructable to: