The Psion 5 / Raspberry Pi conversion project

A compact cyberdeck with in-built keyboard

I was recently selling some HP Jornada PDAs on eBay having spectactularly failed to get them online via a wifi card plugged into the machines. What I really wanted, I decided, was a Raspberry Pi in a compact “Cyberdeck style” unit.

HP Jornada conversion

I did look at converting one of the Jornada 680s that I had as the keyboard was, if a bit small, adequate for my needs. I looked for a converter of some kind to take the ribbon cable used by the Jornada’s keyboard to a USB output, but I looked in vain, hence the decision to subsequently eBay them.

However, I did come across this Psion 5 keyboard adapter by Rasmus Backman on Tindie and thought: “Yes, that’s what I want, but for the Jornada.” I found this project which had remixed the Psion 5 adapter for the Jornada. However, it wasn’t as simple as buying from Tindie – I would’ve had to get the boards manufactured. Although the KiCad files were there, I just didn’t have it in me to get a surface-mount board manufactured as a PCBA – it would’ve been expensive, plus I had no idea what to do if the components weren’t available. Would I have to hand-solder the surface-mount components? Probably, and I’m not so good at that!

Moving onto the Psion 5

Therefore, Psion 5 it was. I looked on eBay and found a few lots for old Psion 5s that could be used as the donor unit for the project. Mostly, these were out of my price range but, thanks to selling the Jornadas, I could afford around £50 for the unit. I didn’t need a 5mx (the better, more expensive version), just a 5 (which had lower memory and was considered inferior, although it seemed identical, design-wise). The keyboard was all that mattered. If it was only “for spares”, even better, but all I could find was a lot that included a lot of parts for more money, so a working model was where I went. In the end, it cost £45, a good investment.

Image of Psion 5 PDA

The actual unit I purchased

Was conversion of a Psion the only option?

Harvesting the keyboard from a working unit seemed a bit… I dunno… nasty to me. Retro tech is to be valued, after all. So, I looked at various options first:

  1. Digital assistant via serial. I came across this MagPi article which described a project to use the Psion as a serial terminal for a Pi via a cable (and lots of adapters and gender-switchers!)
  2. Kian Ryan’s sidecar. This was my next find – a 3D-printed module to allow the Psion to be a serial terminal over wifi. This was fairly neat and allowed wireless connections.

Neither option was quite what I wanted – I really wanted a) a colour screen and b) a proper desktop environment.

What’s the plan, then?

I’ve started to assemble parts for the device. I do know that I will eventually have to 3D print something for it. This is likely to be a new “back” to the unit to house the screen and the Pi, but I may also have to print a new “bottom” to the hole thing to squeeze a battery in. It all depends on taking the donor Psion 5 apart and seeing how much room there is left once I remove the main circult board. Most importantly, I really want to keep the hinge mechanism which I have always thought rather cool (I know, what a geek!)

Here’s the hinge mechanism sort-of in operation from the patent application:

Which Raspberry Pi?

Initially, I’d thought “Zero 2W”, I need it as small as possible, but I also need wireless. However, I also realised that I’d need the DSI connector of a full-sized Pi. That’s the “DISPLAY” connector on the left-hand side. This takes a ribbon cable, keeping things neat and doesn’t have the problem of needing a big connector sticking out of the HDMI slot. I decided that a Raspberry Pi 3A+ would be ideal – it’s fairly powerful, although the lack of memory on it does cause me a few problems. I could, if I have enough room, go for a Raspberry Pi 4B, which would be more powerful and keep within what I think I’ll be able to deliver power-wise. However, I would need to detach things like the Ethernet connector and all the USBs in order to keep it to size. I’d also need a USB interface (for the Psion keyboard) and the idea of having to desolder the double-height ones and then solder on a single USB filled me with dread!

Therefore, a 3A+ would have to do:


Which display?

As I’ve said, I needed to use a DSI display. Now, in previous years all that was available was the 7″ Official Display. I’ve actually got one of these, so did consider it. Here’s a pic of the back:

As you can see, there’s a driver board on the back. From my own experience, I know this takes up a lot of depth space-wise, so I looked at the version 2 display as well. This would have been ideal (it’s not as deep), but it’s the wrong shape and size. It’s just too big. Fortunately, things have progressed since 2014 when the Official Display was designed, and there are now a plethora of DSI displays out there.

The donor Psion hadn’t arrived and I wanted to get ahead of the game, so I reached out on Mastodon to ask the community if anyone would mind measuring the screen and surround of a Psion 5. Fortunately, maker Alfred Chow came to my rescue and did the necessary measuring. Here they are for reference:

  • The visible screen is 137mm x 54mm
  • The actual screen area is 145mm x 60mm.
  • The rest of the case surrounding the screen is 172mm x 75mm

This was just done using a tape measure, not calipers, so this is to the nearest millimetre, which is ideal as I wasn’t going to 3D print anything yet.

I went shopping and found that the supplier with the most choice was Waveshare, who are overseas. However, The Pi Hut has a massive amount of their range. I went through the options and found the one that was closest in size to the original Psion 5 screen. This was a Waveshare 6.25″ DSI capacitive touch screen.

Now, this wasn’t a perfect match (hence me probably needing to 3D print a new back of the case, and it’s probably a bit too thick, but it’s worth a try. If I don’t use it for this project, it’ll make a very nice little status monitor for some other things.

Moar Power

I’m hoping, as I’m using a Pi 3A+, rather than a full-sized unit, that I can sneak a LiPo battery in to the side, with an Adafruit PowerBoost that I think I’ve got lying around. The alternative is some 18650 batteries (which might fit in the Psion’s battery compartment, if I’m really lucky), but I have less experience with them, although there are some nice “HATs” using them, like this GeekWorm one. The alternative is to use 18650s in a double pack like this one from Pimoroni that comes with a good connector on the end that’ll work with a PowerBoost. I actually have a 2-cell battery pack and some LiPos, so don’t need to re-invest again at the moment.

Looking into dismantling the Psion 5

First thing’s first. I will need to dismantle the Psion 5 to get at the keyboard and its ribbon cable, which I then need to plug in to the Psion 5 keyboard to USB adapter PCB from Rasmus Backman.

Fortunately, someone has done this already – take a look at this page. And here is a more extensive guide and again in PDF form.

I also found this file – the Psion 5 Service Manual (from November 1997!) which might come in useful.

There are various “teardown” videos on YouTube. For instance:

Just completed the teardown. That was fun. Fiddly, but fun. A few tiny bits of broken plastic, but I’m hoping I can get around that if, indeed, it proves any problem at all.

 

Connecting up the Waveshare DSI screen

This was a pfaff!

It appears, and this is just a guess, that connecting up a USB hub to the Pi AND connecting the DSI screen is a no-no, probably because of power requirements. I’ve had this a bit before, but this took me ages to figure out!

I also had to add the following to /boot/firmware/cmdline.txt in order to keep the screen rotation “sticky”.

fbcon=rotate:2

Firmware for the keyboard converter

Photo courtesy of Rasmus

This was available from Rasmus Backman’s Github: https://github.com/RasmusB/USB-Keyboard-Adapter. Obviously, I needed the Arduino IDE to flash it! Needed to select Arduino Leonardo as the board when it came up.

Connecting up the Pi to the keyboard

This is fiddly, also, as you need to be careful with the keyboard ribbon cable (which is delicate). But I managed it and it worked!

Oh, this is my backup plan if it doesn’t work and I give up. A Bluetooth keyboard with the same screen:

The screen is a bit on the small side in terms of being able to read what’s on it… But, might this help?

A case for the Psion keyboard

What I would love to do is to to keep the same keyboard sliding mechanism from the Psion. I don’t see that happening in terms of using the existing parts, though. The screen doesn’t sit behind the plastic bezel the way I thought it would.

I think I might go for something like Penk’s Penkesu machine clamshell case.

Remembering that my 3D design skills so far have culminated in a case for the PicoPicorder. That was little more than a two-part box which, alas, didn’t have any moving parts like a hinge. I will continue to do my research, but I will settle for a straight clamshell case. I also found this 3D model which is more Jornada than it is Psion, but again I will settle!

3D designing the case

I bit the bullet and paid for a SolidWorks Cloud licence. However, after a frustrating couple of hours not being able to do what I wanted with the thing (despite Brian Corteil’s valiant efforts to provide a little training at Makespace Cambridge!), I resorted to Tinkercad (which I’ve used before).The current case (as of 18th March) looks like this:

As you can see, it’s a clamshell case with two hinges.The keyboard (and battery) will go in the bottom half and the screen/Raspberry Pi in the top half. The green triangles at the top will, when the case is folded, slot into the spaces at the bottom to provide support against the hinges, otherwise it would close at a funny angle.

The following challenges remain from a design perspective:

  1. Currently, the ribbon cables for power and keyboard connection go out through slots beneath the hinges. They will be open to the air and could be snagged or damaged if I’m not careful. I really need a hinge mechanism that allows the ribbon cables to pass between the two halves without being visible/damage-able.
  2. At the moment, the case will unfold, but there’s nothing to stop it from opening flat, or opening too far. Ideally, I want some kind of “stop” so that it opens so far and no further. It could be I just use one or more zip ties between the two halves, thus providing the case with a flexible part and also avoiding the need to design hollow/pass-through hinges (as I can’t find a model I can use to work from!) Something like the Penkesu computer hinge would be ideal – I’ll have to see if I can use his design!
  3. There’s nothing really holding the case closed.I can live with that, but it would be nice if it either clipped together or was “sprung” together.
  4. The 3D printing of this beast is going to take a long time. I either print it myself or pay for someone else to, or ask Brian if he’d mind printing it at Makespace! 🙂