Repurposing an old Psion MC400 laptop keyboard with Teensyduino & USB

I’ve collected a few Psion MC400s over the last few years that are in a less than perfect condition and one of the things I’d considered for a long tine was re-using the machine’s excellent 61-key G60-1600 Cherry mechanical keyboard which uses vintage MX clear switches.

Old (1989) vintage Cherry keyboard – MX clear witches and 61 keys!

Electrically this keyboard uses the classic matrix of rows & columns to signal which key has been pressed. If we want to use this as a USB keyboard we need a little help translating the row/column signals into USB messages. I discovered Frank Adams’ detailed instructable a while ago, and in 2021 I’d bought the parts and had the PCBs made but it wasn’t until June 2022 that I got around to actually putting it all together – and voila! I’m typing this on an MC400 keyboard right now, hooked up via USB to my trusty old ASUS laptop 😉

The process wasn’t entirely straightforward for this keyboard as it uses an unusual matrix configuration due to the architecture of the machine it came from: the Psion SIBO machines are all completely solid state/SSD with instant suspend/resume and as such the “ESC” key also functions as the “On” key and has 2 dedicated lines to the ASIC that controls both the keyboard matrix decode and the system power. Although the 18 pins in the keyboard’s FPC connector form a 9×9 matrix there are 2 pins just for the On/Esc key so the other 60 keys are served by an 8×8 matrix.

Key Matrix added to Teensy LC code

Once the hardware is assembled the process should be relatively straightforward:

  • Load the continuity tester sketch to the LC
  • collect all the key –> row/column translations by pressing all the keys one by one, the continuity tester outputs which rows/columns are connected
  • Either use Marcel’s python or manually produce the key matrix files
  • load the matrices into your favourite Arduino IDE, re-programme the Teensy and off you go!

Teensy LC microcontroller
PCB – Keyboard_Scanner_LC_thruhole.brd from Frank’s repo
18-pin FPC connector

My Teensy LC Arduino sketch for the MC400 leyboard is available here

Teensy LC, custom PCB and 18-pin FPC connector await to make Psion’s MC400 keyboard type over USB!
61 keys on the Cherry keyboard + 8 buttons mounted above to the right

The case-mounted supplementary keypad on the MC400 (Task/Del/Home/End/PgUp/PgDn/LCD/Rec) is wired to share 4 of the main keyboard’s rows with 2 extra columns of its own directly to ASIC2.

full matrix

thing of beauty!

Published by zedstarr

Chilled out human being, doing techy stuff.

One thought on “Repurposing an old Psion MC400 laptop keyboard with Teensyduino & USB

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: