close-circle
Close
0%
0%

Psioπ

Resurrecting a Psion Series 5 PDA with modern innards

Similar projects worth following
close
Bringing a Psion Series 5 into this decade by replacing all the important bits.

The completed result will (hopefully) be a portable modern Linux system with all the connectivity options expected in a modern device.

The idea is to make a modern handheld computer fit into the classic Psion Series 5 enclosure. Being a really well-engineered piece of hardware to begin with, this is a real challenge! We'll see where it'll end up :)

  • 1 × Psion Series 5, Series 5mx or Ericsson MC218

  • New keyboard adapters incoming

    RasmusB05/03/2017 at 22:02 0 comments

    If you are on the list to get a keyboard adapter, you'll soon have your chance again!

    The first batch had an issue with the alignment of the stencil, so I ordered new panels and stencils.

    This time the alignment was good, so I'll add some adapters to stock soon.

  • 3D scanning with a camera, part 1

    RasmusB05/02/2017 at 21:06 1 comment

    This time I'm back with an actual update!

    Since space is tight inside the Psion housing, I wanted to create 3D models of the plastic parts. This proved more difficult than I expected since I couldn't easily access all areas of the parts with my calipers. So what to do?

    I had tried photogrammetry a bit before. The idea is to take a lot of pictures of the object from as many different angles as possible, and then let a computer calculate the shape of the object. It's basically magic :)

    However, my previous experiments didn't produce any useful models. For example, mobile apps such as 123dCatch produce 3d models that _look_ very nice, but is seriously lacking in actual resolution of the mesh. This doesn't show much when you apply a texture, but it is not suitable for reverse engineering of detailed parts.

    But today I got a new camera, which inspired me to make a new, more serious attempt :)

    My victim for this experiment was a plastic part that had seen better days. The Psion it came from was in pretty poor shape when I got it - it had been dropped, battery goop had been leaking into it and the plastic was cracked.

    Last time I learned that both shadows and highlights mess up the 3D algorithms. Shadows are taken care of with soft lighting, but highlights require a different approach. The quickest and easiest way for me was to paint the part with matte spray paint. This removed almost all of the highlights! Note that there is special paint for this purpose that can be applied and wiped off, but I opted for the cheap and cheerful route since I couln't care less if this broken part gets ruined.

    But now I just created a different problem. The algorithm works by matching features that are visible in several pictures against each other. If a surface is entirely featureless, the algorithm won't have anything to work with! To combat this, I intentionally ruined my pristine surface by doing the worst spray can job I have ever done in my life. The goal was to cover the gray primer with lots of random black spots.

    This was the final result of my intentionally crappy paint job. This picture is taken in my cheap light box, but it shows a lot of promise! There are no hard shadows, no specular highlights, and it is easy to overexpose the white background. The less crap there is in the intial pictures, the less crap I hope to get in my model as well.

    There are several different open source photogrammetry programs out there. One thing they all have in common is that they are a proper pain to get up and running. Thankfully, I stumbled over a guy who had made binary packages of several different programs. Check out his video:

    I started out with MVE, using the instructions and default values from the wiki just to see if my pictures were good enough to get a nice mesh this time. It does take a few minutes to run through the entire flow, but in the end this was the result:

    ... and since I complained about how textures hides crappy meshes before, here is the same mesh without any texture applied:

    Obviously there is still some strange things going on around the edges - my part seems to have grown a beard! I assume this is from the drop shadow of the part itself. Now that I have a workflow to get from pictures to 3d mesh, I'm thinking of trying the opposite approach - underexposing the pictures against a black background. That might eliminate any problems with the drop shadow. Processing the 32 images I took was maybe 30 minutes of computer time. Taking the pictures was a breeze since I can tether my new camera to the computer and just leave it on the tripod.

    I'll get back with a part 2 pretty soon, these results were honestly a lot better than I had expected from a first attempt! Most of the time was spent wrestling with misbehaving software, so I should be able to pick up the pace dramatically from now on :)

  • Keyboard adapters available!

    RasmusB03/20/2017 at 20:14 3 comments

    Finally you can order your keyboard adapters ready to go from me!

    Order from my Tindie store. With your order you'll receive a keyboard adapter, programmed with the Arduino bootloader and a LED blink sketch (that is how I test the boards).

  • Quick update + keyboard adapter

    RasmusB05/02/2016 at 17:52 16 comments

    Hello all,

    I thought I'd write a quick update since there has been a lot of interest since this project was featured on Hackaday.com (http://hackaday.com/2016/05/01/upgrading-a-20-year-old-pda/)

    I'm really happy about that, having people showing interest in your work is always a boost :)

    Anyway - several people have asked me about making the keyboard adapter available. While everything you need to make one is on Github, I fully appreciate that my design is pretty challenging to put together for people with little or no experience of surface mount soldering.

    So I'd like to hear from you - are you interested in getting a pre-built and tested keyboard adapter? The adapter looks like an Arduino Leonardo to your computer, so think of it as a tiny Arduino board with a connector that fits the Psion keyboard. While I'll make sure it works properly before shipping, I won't be able to provide much support or any warranty. This is mainly meant to help a few more people getting their own projects off the ground.

    Comment below if you are interested!

  • Reverse engineering mechanical parts

    RasmusB01/13/2016 at 19:01 17 comments

    I have been able to spend a few hours on the project, and I thought I could share some of the progress so far.

    I was going crazy trying to figure out a solution to the screen and processor dilemma. I still haven't figured out a perfect solution, but I choose to focus on other parts in the meantime.

    One problem with upgrading a small, handheld device is that there are serious space constraints you have to work around. Finding out how much room (or rather how little room!) I have to work with inside the empty shell is very time consuming, but spending the time now makes things a lot easier later on.

    I have two goals with the mechanical design:

    1. Everything must fit inside the original enclosure
    2. Reuse as many mechanical features as possible (pushbuttons, battery compartment, connectors etc.)

    The easiest route towards these goals is to start out from what I already have, in my case that is a main board from one of my Psions that wouldn't boot. (Bonus points to anyone who can spot the problem, it's actually visible in the photo below)

    For my first attempt, I used my digital calipers to measure the outline of the board. While this worked OK for the most part, i ran into some trouble.

    • I wanted to reuse components like the battery spring, but the spring holder was obscuring how it mounts to the PCB
    • It was very difficult to accurately measure the location of the mounting holes since they are closer to the middle of the PCB, making it too easy to take crooked measurements
    • The most complex shape (the lower right part in the picture) was very difficult to measure accurately, and that is the area with I have the least space to spare.

    So I decided to take a more refined approach. I assaulted the PCB with my hot air soldering tools until only the board itself was left:

    I had planned to harvest some components that I want to reuse for my own PCB from this board anyway. Now that the PCB was flat again, I could use a flatbed scanner to digitize the board.

    At the left is a ruler I included in the scan. This was partly to help keep the PCB horizontal in the scanner, and partly to have a size reference to make sure that I got the scaling correct. This actually came back to bite me in the rear, but we'll get back to that.

    With my scanned image trimmed down to the very edges of the PCB, it was only a matter of importing the image in FreeCAD and drawing the outline on top of the image.

    I also did some fine adjustment of the rotation of the image to get it exactly horizontal. If you want to try this yourself, make sure that you place your reference picture slightly below your sketch plane, or it will be impossible to see the lines you are drawing.

    To verify that I got the outline correct, I printed the outline on my laser printer and laid the PCB on top. To my surprise, it almost, kinda matched. I measured my printout carefully and concluded that printing something in 1:1 scale on my printer actually made it just a tiny bit to small. Once I had figured that out, I could adjust the scale and print it again. But it still looked off! What was going on?

    After spending more than an hour backtracking all my work so far and taking lots of careful reference measurements from the actual PCB and comparing them to my printouts and CAD model, I realized what went wrong - the scanned image has a small difference in scale between the vertical and horizontal axis!

    I thought I was being clever when I included a ruler in my scan, but it turns out the proper thing to do would have been to place another ruler in the horizontal direction as well to verify that the scale was the same in both directions. I also realized that I had been bitten by this behavior from a scanner before, but apparently I didn't get bit hard enough that time since i forgot about it...

    Now that I knew what the problem was, it was easily fixed by adjusting the size of my reference picture in FreeCAD and tweaking my drawing. Now the printout and the PCB matched perfectly!

    Getting the outline into...

    Read more »

  • Arduino compatible keyboard adapter

    RasmusB11/28/2015 at 17:26 9 comments

    I finally got around to assembling the dedicated keyboard adapter I made before. I have had the PCBs and components for a while now, but I haven't had the time to assemble it.

    When I made the board layout I took the opportunity to get some more experience working with 0402 components, and I also wanted to try to make a PCB edge USB connector. In the end I came up with a very compact design where the keyboard connector is the only thing keeping it as big as it is.

    All discrete components are 0402 size, and the MCU is a 7x7 mm QFN package. I also ordered a solder paste stencil from oshstencils.com, which came out very nice as usual. The PCB was ordered from oshpark.com.

    Assembly was relatively painless. I did battle a bit with the solder paste application because my solder paste had gone a bit dry. I tried using solder paste from the bottom of the container since that was less dry, but I still got "lumps" in the solder paste. On the third attempt I got it right, and I could place and reflow the components with my hot air rework station.

    After doing a quick visual inspection with my microscope and checking for shorts, I needed to program the bootloader into the AVR. Then I could program it with my keyboard software through the USB interface. To do this, you need some kind of AVR programmer. I used my AVR Dragon.

    I did mean to build a 1.27mm pitch pogo pin ISP adapter (which would go onto the pads marked "ISP1" on the PCB), but I haven't done that yet. I first attempted to just press a 1.27mm pin header onto the pads to flash the bootloader, but I couldn't get that to work. In the end I just soldered wires to the pads. This worked well enough, after I also realized that I had populated R3 with a capacitor...

    To do the actual programming of the firmware, I did two things:

    Add my AVR Dragon as an ISP programmer in the Arduino IDE

    This is really simple. In the Arduino installation folder, find and open "programmers.txt" and add the following:

    dragon.name=Atmel AVR Dragon in ISP mode
    dragon.communication=usb
    dragon.protocol=dragon_isp

    The next time you start the Arduino IDE, it will show up under the "Tools" menu:

    Program the AVR with the correct bootloader

    I want to use the Arudino Leonardo bootloader, since that has the same MCU and clock speed as my board. It's as simple as setting the Arduino Leonardo as the active board:

    ... and then choose "Burn Bootloader".

    After that, I removed my soldered ISP cables since they are not needed anymore. Now my board looks just like a normal Arduino Leonardo to my computer, and I can upload new firmware through the USB interface.

  • Project update without content

    RasmusB04/25/2015 at 15:25 4 comments

      tl;dr - No progress as of last time. I'm considering another display model, and I'm hoping to assemble the final USB keyboard driver soon.

      No, neither me or my project are dead, but there hasn't been much happening for a while, mainly because of work.

      One setback is that the OLED screen I ordered was cancelled, and then the seller doubled the price when I wanted to re-order it. I'm not eager to spend $100+ on a screen which I'm not sure how to control yet, so I'm looking for other options.

      I want to use an OLED screen for two main reasons:

      1. They are thinner and thus easier to integrate in my build. It may sound stupid when you know that I have around 4.5mm of depth to use in the lid, but you quickly run out of space when considering that I also need to fit a screen carrier, an adapter PCB and all the connectors. Every mm matters!
      2. It can be more power efficient than an LCD when showing dark content. Since I want to use my Psion mainly for text-based work, it will probably make a difference.

      One of the projects I'm following could be a way forward. The latest project log from the DSI display shield project shows that they have gotten another display working. This is very similar to the OLED display I was considering but with higher resolution. This display can be had for around $50 from Asian retailers. The issue remains how to create the high-speed serial interface to drive a modern cellphone screen. The DSI shield project obviously has a working solution (HDMI -> DSI), and I could use that for prototyping. It would consume a lot of power though, and is not suitable for the final design.

      There are adapter IC:s that can handle an 24-bit RGB parallel input signal (for example the Solomon Systech SSD2828), but I'd rather find a way to drive it that doesn't involve adapters to keep cost and power consumption down. The Raspberry Pi has had a DSI interface since the beginning, but for some reason the Raspberry Foundation hasn't made the interface available to users. It has been over a year since they showed a working prototype, but there has been no official updates since. The rumor mill has an official launch slated for Q2 2015... fingers crossed! :)

      I have also done some more thinking about the USB keyboard I made. I haven't assembled the final prototype yet but it will happen eventually, mostly because I want to learn more about the USB-enabled AVR devices. But I did rethink using USB for the final design, because of the power consumption. It is more power efficient to get a dedicated IC to perform the keyboard functions, so I'll look into that after completing my USB prototype.

  • Just for fun

    RasmusB02/18/2015 at 23:15 2 comments

    I couldn't help myself :) The keymap seems to be working now. If you are feeling brave, you can do the same with an Arduino Leonardo and a Psion keyboard.

    Current progress lives in its own branch on GitHub: https://github.com/RasmusB/PsioPi/tree/HW-proto-keyboard

  • Reverse Engineering the Keyboard, Part V

    RasmusB02/18/2015 at 18:44 4 comments

    Hello world!

    Of course, that was the first thing I typed into my new, beautiful keyboard. Now it is working perfectly, even though it looks a bit messy:

    If you have a really good memory, you'll remember that the keyboard connector is on backorder for another five weeks or so. So what do you do if you don't have the correct connector? You fake one!

    I digged around in my parts bins and found a similar connector. It was made for a 0.3mm thick FPC cable, and had the correct 0.5mm pitch. The only difference that mattered was that it had 30 pins instead of 22.

    If you are ever faced with this situation, it is VERY tempting to solder the bigger connector centered on your original footprint, like this:

    This is a terrible idea! If I had soldered the connector like this, I would not have had any control over the horizontal position of the cable in the connector. My 22 pin cable can end up being connected to ANY 22 pins between pin 1-30. Or even worse, somehow ending up in some weird middle position where none of my pins are connected. It's a nightmare, trust me.

    The smarter way is to solder it like this, offset to one side:

    This way, pin 1 on my connector is aligned with pin 1 on the PCB footprint. When I plug my cable in, it will align correctly without effort.

    For this job, I also taped the breakout board down to a scrap PCB. This makes it a lot easier to manipulate the small PCB, and it is less likely to slide around when you are trying to get everything aligned.

    This is what the finished job looks like after adding the pin headers. Note that even though the connector is offset, the cable is aligned correctly with the PCB.

    Now it was time to move on with verifying that everything is working. I fired up my firmware, plugged everything in and... it kind of worked. Some keys worked perfectly, but some others were completely dead. I scratched my head quite a bit trying to figure out what the problem was.

    Paper and pencil are excellent debugging tools.

    When facing madness, you respond with method. I worked my way through all keys, taking note of which ones worked and which ones didn't. It wasn't a pretty picture, only 18 out of 53 keys were working. I double-checked my wiring, but it seemed correct. Did I somehow break my keyboard when I opened it?

    I took apart my "new" MC218 and carefully extracted the Scandinavian keyboard. When I plugged it in, I got the exact same result. So now I knew my problem wasn't in the keyboard.

    Next, I suspected that I had made a mistake when tracing the electrical connections in the keyboard itself. I tried disconnecting the keyboard and measuring directly on the cable. This proved to be an exercise in futility, since it is nigh impossible to measure on two 0.25mm wide traces while pressing a specific key. I couldn't even measure anything on the keys I knew worked.

    Instead, I thought about it for a while, and then decided to hack together a quick Arduino sketch with a different scanning routine. Instead of having a set of Rows and Columns to scan, it just scans all then pins connected to the keyboard, looking for contact between any two pins. For 20 pins, there are a few combinations to test. How many you ask?

    There are 20 pins connected to the keyboard, but since we can't really connect a pin to itself, we have 19 connections for each pin. And since a connection between for example pins 1 and 5, is the same as a connection between 5 and 1, there is one pin less to test for each iteration:

    \color{White} \large \sum_{n=1}^{19}n=1+2+...+19=190That means that for any key I press, the Arduino has to test 190 different combinations of pins to be sure to find the pin combination for that key. Using my keyboard sketch as a starting point, I soon had a sketch that did this. Then it was just a matter of pushing each button in turn and noting which two pins became connected. I filled in a new spreadsheet while I did this.

    There were still a lot of dead keys.

    I had ruled out the keyboard, and now I also had ruled out my software, and...

    Read more »

  • Reverse Engineering the Keyboard, Part IV

    RasmusB02/15/2015 at 15:23 2 comments

      I have made some progress on the keyboard controller since the last log entry.

      As we learned last time, our USB keyboard will need to send a specific scancode for each button pressed. All other logic (interpreting the keypresses) is done on the computer side. So we don't really need to bother with which scancodes we are sending, since we can remap everything on the host side anyway.

      Other people have used that approach. I tried out a Linux port for the Psion called 'Kludged Linux' and dumped the keymap. The author has just used his own scancodes and mapped them to the correct keys in the keymap. This is perfectly fine for that application, since the keybord will always be connected to the same hardware in the same way. In that case, you can use whatever scancodes you like.

      In my case, I'm building an USB keyboard. Even though I'm only planning to use it for this project, it would be nice to keep it as Plug 'n Play as possible. That means that I will use the standard USB scancodes as far as possible, so I can plug it into any computer for testing and prototyping without a custom keymap. I still haven't decided on the main hardware for the project, so an USB keyboard also allows for the most flexibility on that end as well.

      So I made a spreadsheet with the following (from left to right):

      1. USB Scancode
      2. Kepmap keycode in hex and decimal (just for convenience)
      3. Row and Col (keyboard hardware mapping)
      4. What is printed on the keys:
        1. Primary key function (without modifier keys)
        2. Secondary function (Shift key pressed)
        3. Tertiary function (AltGr pressed)
      5. Matching each combination of modifier keys to the keymap names and format (see man keymap)

      Using this, the next step was to write the firmware for my microcontroller. For convenience, I'm using an Arduino-compatible board, Olimexino-32u4. The Arduino IDE had a working example on how to implement a keyboard device and serial port on the same USB connection. (It's really easy)

      I actually started out using just the serial connection to debug my code. If I had made a stupid mistake somewhere, I really din't want my first keyboard to spew weird stuff onto my screen and possibly have something nasty happen (like by mistake sending Ctrl+A, Delete and Ctrl+S or similar...). This allowed me to safely test my matrix scanning code with serial debug messages before implementing the 'real' keyboard code.

      The current version (1.6) of Ardunio IDE doesn't support sending raw scancodes. Instead, it allows you to send printable ASCII characters and modifier keys. This will no doubt be enough for 95% of USB keyboard implementations, but for me it would add unnecessary overhead to my code (keeping track of what counts as a modifier key and not). Instead, I found a patch that introduces proper scancode functionality, and that seems to work very well!

      The code is very straight forward and does not require any additional electronics but the keyboard itself.

      1. First of all, all pins are set to Inputs. This makes them high-impedance.
      2. The internal pull-up resistors are enabled on the column pins. This turns them logic HIGH.
      3. Then, one row at a time is turned to an output and driven low.
      4. Check the status on the column pins. A logic LOW signal means that column is connected to the active row because that key is pressed.
      5. When the matrix is scanned, it is compared to the last known state. Then we send 'pressed' scancodes for the newly pressed keys, and 'released' scancodes for the keys that has been released.
      6. Repeat from step 3.

      After using the serial port to nail down the last typos in my matrix scanning code, I felt confident enough to try it out! Since I haven't got my adapter for the real Psion keyboard yet, I had to improvise (sorry for the crappy shot):

      As you can see, no other hardware than the buttons themselves are used. I did have to cut a few bridges on the Olimex board to get decent voltage levels since the internal pull-ups are very weak, but that...

    Read more »

View all 16 project logs

Enjoy this project?

Share

Discussions

Torben Gundtofte-Bruun wrote 4 days ago point

The Series 5 was my most favorite gadget *EVER* and has been my trusty companion for well over a decade. I was very sad to let it go to a new home eventually but I wanted Internet connectivity on the go and smartphones finally got good enough. Seeing THIS project deeply warms my heart, and it would be magnificent to see it completed. Lacking Rasmus' skills, I must be content to follow and admire your work. I am cheering for you!

  Are you sure? yes | no

Bartosz wrote 08/27/2017 at 08:55 point

i need a good terminal and good keyboard (with PgUp Down, home etc NO Fn modificators)

long using battery

  Are you sure? yes | no

eugene wrote 08/22/2017 at 00:24 point

I picked up an HP200LX with failing display thinking I'd do a similar project.  I'm having a hard time locating a 5" x 2" display to use though, anyone have good sources for odd sizes?

  Are you sure? yes | no

RasmusB wrote 08/22/2017 at 07:56 point

This is very difficult. Try searching for a "bar type LCD" and you'll probably find something that comes close. The hardest part is actually buying them in small quantities.

  Are you sure? yes | no

Biktor wrote 07/24/2017 at 04:58 point

Hey, have been looking at this a bit more in depth lately (I'm almost there to pull the trigger and get myself one of these), I thought I would share some ideas in case they help you a bit with the project :)

My idea would be to use the Raspberry Pi compute module with a Psion, this is the info I gathered so far, maybe you've dismissed some of it, or maybe not, it would be great to know your hardware choices ;)

- Power: Have you looked at using 14500 / AA type 3.6v li-ion batteries? They don't have the biggest density, but they would fit in the original socket, and with a little rewiring, you could get 3.6v / 4400mAh for it. Adafruit sells the Powerboost 1000C, which is both a battery charger and a 5V booster. Maybe it's not too efficient to use a booster from 3.6/4.2v to 5v to put it back down to 3.3 / 2.5 / 1.8v, but having a stable output for all the needed power rails would make it a bit easier to manage maybe. Compute Module dev board's datasheet uses a PAM2306A to take the voltage down to 3.3v from 5v and an AP7115 to take it further down to 1.8v. To control poweron/off, I would use another microcontroller emulating some standard APC USB powersupply, and feed it to the Pi so it knows it has a battery connected and can make a safe shutdown without having to write kernel modules or scripts. The only downside is that your keyboard module has all the pins used, otherwise you could still use the soft ON/OFF key for it...


- Touchscreen: Are you sacrificing the original touchscreen? I don't really know how tight it is there. If you're not, it's a standard one, and by the looks of it (I can only see the photos), those buttons are just discarded coordinates in Epoc, but they are just some more XY points in the touchscreen. If connected to another controller, they would make great F1-FX buttons + mouse (it's a resistive touchscreen anyway), or at least, some nice key combos

- LCD: Have you decided which one to use? There's nothing on 5.6" with an 8:3 aspect, curious what's your final approach on this. My best candidate would be something like Adafruit's 5.0" 16:9 display with DPI input, and wire Pi's bank0 dpi ports directly to it. With a compute module, you get another SPI, I2C port in another bank so it's not that much of a loss, given that the other choices tend to involve energy hungry hdmi converters or poor resolution i2c displays.

-USB Hub: The CF bay looks like the perfect spot to hide 2 USB ports for any storage needs. I haven't figured out how this could coexist with the embedded eMMC of the compute module, since you need USB slave mode to program it and it would need some way to fully disconnect it before flashing something in there

- Wireless: Compute module has a second SD port, SDIO compatible. That's how the Pi Zero W has wifi connection available, though, if using an internal USB hub, you could get the cheapest usb wifi module and solder it directly to the mainboard

Just my two cents ;)

  Are you sure? yes | no

RasmusB wrote 07/24/2017 at 11:35 point

Hey Biktor,

thanks for your interest in my project! Always fun to see that other poeple also find this idea interesting :)

First of all - yes, the compute module was my first candidate for this project. (That's where the project name came from originally). There are a few issues that bothers me though. Most of those issues boil down to missing support for DSI interfaces. There are no drivers available for anything else than the official 7" screen from the RPi Foundation. New (open source) drivers are being developed, but there are not guarantees and no timeline. Another problem is the lack of power management features. Basically, the hardware support in the Linux kernel is not as well developed as I would like. Broadcom has not provided any official documentation for the community, everything is locket away behind NDAs which goes against the open source nature of my project :(

So right now I have switched my focus to the BeagleBone Black instead. The newest variants uses a SoC which can be routed on a 4-layer PCB and soldered in my home workshop. The upstream linux support is a lot better, all parts can be sourced from i.e. Mouser, and all documentation is easily available for all included components - including the power managment features.

The only downside for me is that it doesn't have a DSI interface either, but since I can't use the one on the RPi anyway, that isn't a dealbreaker.

The DSI issue leads us into the screen problem - as you know, there are no direct replacement screens available. The best (and cheapest) option is to use a smartphone screen, and they almost exclusively comes with an DSI interface only. An DPI interface could work in theory, but they have fallen out of use for portable devices due to power consumption and space limitations. Space is an issue as well - I'm not sure I could fit the 40-pin connector from the adafruit screen through the existing hinge design. If possible, I would also like to have a bit higher resolution, but nothing is set in stone. :) The current plan is to find a suitable 5" smartphone screen and build my own adapter for it. See for example the Kickstarter for the MangaScreen 2 for a similar solution.

The original TS will be scrapped, since it requires a pen to use efficiently (I might use the empty pen slot for a headphone jack instead). Since I won't fit my replacement screen anyway, I'll rather have some extra room for the screen. If my replacement screen has a touchscreen I'll implement that of course.

The power supply has given me a lot of headache to be honest :) Here's where I'm at currently:

With by current BBBW design, the only time 5V is actually needed is if I want to use the USB host features. I like the idea of being able to use either two 14500s in parallell, or two AA alkaline batteries in series, just like the original. I have an idea on how to make that work, but I'll need to test it out. I won't have an USB hub in my design, mostly to keep the average power consumption down but also lower the peak power needed. (For each USB port I make available to the end user, I need to be able to provide an additional 500mA@5V...) This also means that there is a redesigned keyboard adapter coming up using HID over I2C, which is what I'm currently hacking away on :)

I hope you'll keep following my progress, and thank you again for your input, really appriciate it! :)

  Are you sure? yes | no

František Šindelář wrote 03/17/2017 at 07:09 point

Thanks for the stuff on github! It saved me a lot of time! Although the schematic in Keyboard part 1 caused me a lot of head scratching :) Schematic on github seems to more or less work for me - some keys are swapped, but that might be problem on my side... 

  Are you sure? yes | no

RasmusB wrote 03/17/2017 at 15:00 point

Thank you! Yeah, the schematic in the project log is wrong... but I didn't realize until I got to the first proper prototype :) I think the schematic on github should be correct (at least row/column assigment). Shouldn't matter for the actual hardware, but it makes the software a lot easier to understand :) You can always double check the function with the scanning sketch (also on github).

  Are you sure? yes | no

Joao wrote 03/04/2017 at 18:57 point

hi Rasmus, any updates? Very anxious to hear how it's going!

  Are you sure? yes | no

Koen van Vliet wrote 03/04/2017 at 14:02 point

I used to have one of these, but unfortunately it died. It was a great little portable serial terminal! Nice to see you're upgrading these!

  Are you sure? yes | no

Joao wrote 02/28/2017 at 21:28 point

Joined hackaday just for this project, so thank you for posting it! I'm pretty anxious to find out how it's going, any updates? :)

  Are you sure? yes | no

RasmusB wrote 03/04/2017 at 14:09 point

Hello!

It's moving along, but slowly :) I had a lot of interest in the keyboard adapter, so I'll start selling those soon on Tindie. I'm currently waiting for the final prototype for that.

  Are you sure? yes | no

Koen van Vliet wrote 03/04/2017 at 14:19 point

I still have my keyboard. Where can we find you on tindie?

  Are you sure? yes | no

RasmusB wrote 03/04/2017 at 16:25 point

I'll post a link as soon as I get the product listing finalized. I have to build the final prototypes and take proper product photos as per the Tindie guidelines.

  Are you sure? yes | no

Adam Hammerton wrote 03/09/2017 at 23:27 point

Really glad to hear that the keyboard adapter isn't too far away.

Have you seen the Gemini PDA campaign on Indiegogo? Not that I think it should discourage your project (where's the fun in just buying something that anyone can get!) but they seem to have sourced an 18:9 screen that looks like it could fit your project quite well.

  Are you sure? yes | no

Paul wrote 05/29/2016 at 01:01 point
Add your commentfeeling a bit silly now, a month ago I had a big cleanup of old tech and threw out my WinCE2 PDA that I had been saving. Eventually realizing that it was too underpowered for practically anything , out it went. If only I had seen this inspirational project before .Touchscreen too.

  Are you sure? yes | no

mclien wrote 05/03/2016 at 12:48 point

Hi RasmusB, interesting thing is, I thought about quite the same, but using the old Palm III. But the main reason for my post is, that there might be a nice shortcut and synergy project to consider:

https://pyra-handheld.com/boards/pages/pyra/

The project is at the corner from prototype to serial production and is completely open (hardware design source will be released with first production run). the modular design of the Pyra will give you a designed ready CPU board with all information of the design and a very vivid community. i have quite a short connection to the head of the project and he completely liked the idea of having the same CPU board running in one of those old PDAs by just designing a new carrierboard for that.

  Are you sure? yes | no

RasmusB wrote 05/03/2016 at 13:04 point

That is a really interesting suggestion! I've been looking at the BeagleCore which also provides a modular CPU board. Do you think you could get me some preliminary data on the CPU module? I'm especially interested in what interface they are using for the LCD.

  Are you sure? yes | no

mclien wrote 05/03/2016 at 14:18 point

As the first information it's an OMAP5432 CPU and it is yet to decide, if it will get 4 or 2GB of RAM or if both modules will be available. but I'll ask for some more information (there was some special hardware to get the portrait LCD displaying landscape, but that's quite not my knowledge). Maybe I'll hint you to the important threads in the forum. Or you can use the forum yourself, too. It's english anyway.

EDIT:

I opened a thread the interface questions:

https://pyra-handheld.com/boards/threads/lcd-interface-communitation-which-is-delivered-by-the-cpu-board-directly.77354/#post-1376512

"MIDI DSI and HDMI are available, most probably one of each" was the first reply. feel free to join.

  Are you sure? yes | no

Daniel Roseman wrote 05/02/2016 at 20:45 point

If contrast was your only concern, you could always opt for epaper. I am not sure if anything on the market matches the size requirements you are looking for but it fits all of your requirements. Low power, high contrast, low refresh speed. Some are even capable of low frame rate video. Just a thought.

  Are you sure? yes | no

Cedric wrote 04/25/2016 at 22:36 point

Hey RasmusB, I just found this screen on eBay. might be interesting :) http://www.ebay.ca/itm/160742277976?_trksid=p2060353.m1438.l2648&ssPageName=STRK:MEBIDX:IT

By the way, I read that you are looking for a screen. you think keeping the original one could be an option? I found the pinout on a old forum and I wonder if that could be a good way to keep the power consumption to a minimum...

  Are you sure? yes | no

RasmusB wrote 04/26/2016 at 06:49 point

Hi Cedric, and thanks for the tip! :) I've seen those before, unfortunately they are a bit too thick for the lid :(

Keeping the old screen would be very easy from a engineering perspective, and like you say it would help with power consumption. The problem is that the original screen is kind of horrible when compared to modern alternatives. There's just not enough contrast :( 

That said, I'm strongly leaning towards building the first version with the old screen just to get the project moving in the correct direction. There are still a lot of challenges to solve beside the screen :)

  Are you sure? yes | no

GekkePrutser wrote 05/02/2017 at 21:48 point

Even in those days the screen was really horrible :) The Psion series 3 had a beautiful screen full of contrast. Of course the 5 had the touch layer which made it worse. But not THAT much worse. It was just not as good a screen.

I've never understood why they didn't fix this when they brought out the 5mx.

Great project by the way. I still have a 5MX (upgraded with bluetooth ;) ) and will be following this. 

  Are you sure? yes | no

RasmusB wrote 05/02/2017 at 22:01 point

Bluetooth upgrade? Show us your pictures, I would love to see that! :D

  Are you sure? yes | no

GekkePrutser wrote 05/02/2017 at 23:12 point

Yeah nothing special really :) Just got one of those castellated board bluetooth modules, and soldered it to the serial lines on board (the bluetooth board was 3.3v so I soldered it to the input to the rs232 level converter chip). The bluetooth board supports AT commands so I could uplink through my Sony phone (at the time using the Dialup profile). This was in 2008 or so.

Unfortunately, with modern smartphones this doesn't work anymore, they only support bluetooth PAN. I was actually thinking of replacing it with an ESP8266 in its native serial-to-wifi mode instead. But by now my Psion has fallen into disuse due to lack of encryption and other modern protocols.

I still have the Psion and I meant to open it again to replace the failing display cable (I got one of those from psion flexi) so I'll see if I can get around to doing that soon and will post a picture.. But it's nothing special like I said. Just a bog standard bluetooth to serial board and some kynar wires to hook it up.

  Are you sure? yes | no

David Labenz wrote 04/22/2016 at 13:49 point

It must be hard to bring back something as old as that!

  Are you sure? yes | no

RasmusB wrote 04/26/2016 at 06:50 point

Yeah, it is a challenge all right :) We'll see how far I'll get.

  Are you sure? yes | no

Cedric wrote 04/21/2016 at 21:54 point

Subscribe to follow this project! I got a 5MX and I'll probably try to puy a zero in it. Are you still working on it? 

  Are you sure? yes | no

RasmusB wrote 04/21/2016 at 22:03 point

Nice! Make sure to start a project log, I'm really interested in seeing your approach :) I haven't abandoned the project, but work has been intense and I haven't had the time and energy. I hope I'll get back on it soon :)

  Are you sure? yes | no

Cedric wrote 04/21/2016 at 22:09 point

Thanks for the reply :) I'll certainly do a log.

If you ever decide to make few more usb's to sale, please, put me on the list!

  Are you sure? yes | no

Biktor wrote 01/13/2016 at 21:27 point

Registered just to comment... Loved these things when they were out. Thought of building one of these myself. Maybe I didn't see it, but what are your ideas for the mainboard? Looks like the SODIMM version of the raspberry pi could be a nice fit with a little adapter board, and would allow you to use a zif+flex for the usb keyboard module making everything smaller.. Just my two cents :)

  Are you sure? yes | no

RasmusB wrote 01/14/2016 at 08:00 point

Yes, I did actually started thinking about this project when I saw the compute module :) The earlier version of the Psion 5 (not the mx model) actually used this design. 

So that accproach is still an option. What I don't really like about that idea is that the available interfaces on the RPi is a mess still. I would have liked to use the MIPI-DSI port to drive a cell phone screen, and I had high hopes that it would become accessible when the foundation released their official touchscreen. That didn't happen - the interface only works with that exact screen, no option to use it for other screens. Since there isn't a proper parallel LCD interface either, that leaves me with the HDMI output only. And then my only option would be to convert HDMI -> parallel -> DSI. 

I would rather not go that route, but we'll see where it ends up :) There are some interesting Allwinner chips out there, but they lack a lot of upstream linux support.

  Are you sure? yes | no

Biktor wrote 01/17/2016 at 19:39 point

I looked into the kernel source, but couldn't find the dsi driver kernel module. I guess it will be buried inside some proprietary blob... So much for "open hardware" :( As you say, there are a lot of boards out there, just be careful with all those mali gpus with closed sourced binaries that only work with some specific versions of user libraries... Qualcomm is a bit better at that but they're still pretty closed too.

Anyway, just in case you end up trying to make the original display work, there was some ancient linux port for the original Psion 5. It used a 2.4 kernel, so it would need a lot of refactoring to actually use it in anything modern, but it can be useful to know how the original display worked...

http://www.woodall.me.uk/psion/psion.html

Have fun!

  Are you sure? yes | no

RasmusB wrote 01/17/2016 at 20:53 point

Yep, that's seems to be the situation. The RPi has never been very much about open hardware unfortunately. At least the general trend with Linux SBC:s seems to be moving in the right direction, I'm sure something useful will pop up sooner or later :)

Thank you! The old LCD is actually fairly well documented. It's just a standard parallel interface with HSYNC/VSYNC, so that is actually trivial to use: http://gamesrant.com/psionresurrection/wordpress/?p=3

The only problem is that the display is abysmal by today's standards. Poor resolution and pretty terrible contrast. I'm surprised at how bad it is, I had remembered it as being a lot better. I guess I have become spoiled over time. :)

  Are you sure? yes | no

Giles Burgess wrote 05/02/2016 at 07:32 point

The Pi does have up to a 24bit parallel LCD interface (RGB DPI Mode), with PCLK, DEN, HSYNC, VSYNC.. that works with the current kernel without much work involved.. there are many screens that can be put into RGB DPI mode, have you considered those?

  Are you sure? yes | no

RasmusB wrote 05/02/2016 at 08:35 point

I wasn't aware that was an option with the RPi! I had only looked into the HDMI and DSI interfaces. Thank you, I'll definitely look into that.

  Are you sure? yes | no

pdrift86 wrote 01/05/2016 at 08:14 point

Nice project! I'm currently working on a mini laptop with a pi2 5" lcd and a keyboard from a HP Jornada. Currently waiting on some parts from china. I was actually thinking of using this keyboard instead but already ordered the Jornada one.

  Are you sure? yes | no

RasmusB wrote 01/05/2016 at 12:37 point

That sounds really exciting! What are you using for housing your laptop?

  Are you sure? yes | no

pdrift86 wrote 01/05/2016 at 18:25 point

As of now, its made of thin sheet of mdf hot glued together (I cut up a clipboard). It doesn't sound like much but it is pretty rigid. I'm thinking of starting my own project on here to post pictures. I thought of getting a whole jornada and gutting it to update the electronics kind of like what your doing with the series 5. I wouldn't do it to a working one though lol. I think I can piece togethter a housing from replacment parts off eBay. Might still do it don't know yet because i kind of like the mdf look. It looks more diy to me lol.

  Are you sure? yes | no

RasmusB wrote 01/05/2016 at 18:43 point

Awesome! I really think you should create a project log for that, I'd really like to follow your progress :)

  Are you sure? yes | no

Adam Hammerton wrote 04/18/2015 at 22:05 point

Another new sign up specifically for this project. I've thought about it for years but I just don't have the knowledge/experience to make a real start.

I stumbled across this whilst researching turning an old Oregan Scientific Osaris into a bluetooth keyboard so thank you very much for posting the key mapping, I might have a chance now.

  Are you sure? yes | no

RasmusB wrote 04/20/2015 at 08:08 point

Glad to help! :) I have to say that I have gotten far more response on this project than I had expected. Apparently there are a lot of Psion fans out there. 

Good luck with your project! Let me know if you create a project log for it. :)

  Are you sure? yes | no

Andy wrote 02/16/2015 at 18:55 point

I specifically signed up to Hackaday.io for your project. I myself have been playing with the idea of upgrading the Psion 5 as well (due to the keyboard as well). So far I have procured a semi-defect Psion and taken it apart. I am currently looking through the boards to use to interface with the keyboard. 

I also ran into the issues of which screen to use, so I am very interested to see how this project will pan out. I was considering on using the Odroid C1 instead of the Raspberry Pi though, mainly because I'd like to pack a little more punch. One thing I am still concerned about is power; I am not sure what type of battery to use and where to place it. I was thinking of using those external USB power blocks, but they are generally really bulky and do not fit within the bottom half of the Psion.

  Are you sure? yes | no

RasmusB wrote 02/16/2015 at 20:15 point

Thank you, that's really encouraging! :) I just got my keyboard adapter PCBs, so I'll publish something useful soon.

Yeah, selecting a screen and a processor is not an easy task. There aren't really any easy answers as you no doubt have found out during your own research. I'm almost entirely commited to getting a cellphone replacement screen. Only problem is that the ones that have "good enough" resolution uses a pretty sophisticated serial interface (MIPI DSI). Even the Raspberry Pi supports that with dedicated hardware, but the software support is still not there :( We'll see what I decide to do, that is a question for later.

Do you keep a project log of your progress? If not, I can recommend starting one here :)

  Are you sure? yes | no

Andy wrote 02/16/2015 at 20:35 point

Thanks for the reply! Regarding the screen, I was eyeing the 4.3 inch mangascreen on Kickstarter (https://www.kickstarter.com/projects/1924187374/manga-screen-multi-touch-43-lcd), as it would solve the issue of not having a mouse (or a nub to move around). The only issue is that I don't know the exact dimensions of the screen (especially the depth could become quite an issue, the Psion screen is about 5 mm thick). 

As you rightfully mentioned in your previous post, the screen will not fill the entire space inside the case, but that is something I have accepted. Instead, you could even fit a WiFi/Bluetooth adapter in that area, or like you mentioned, a secondary screen. How do you actually plan to fit the motherboard inside the Psion? I suspect you are aiming at a Raspberry Pi or something like that, which would imply removing (or relocating) the IO pins, Ethernet port and USB ports if you were to stick it in the lower half of the Psion. I was personally thinking of doing that to the Odroid and moving the Ethernet port to the speaker, while one of the USB ports could be located to where the IR receiver is. I was initially thinking of stuffing some USB ports in the CF card slot, but it would make the device slightly unwieldy for plugging devices in, not to mention the fact that you would need to shave off part of the case. Alternatively, you could reroute the IO pins to the CF slot. 

For power, I was initially considering those cylindrical shaped external battery which I hoped to stuff in the place of the original batteries, but when I actually got my hands on a broken one, I realized soon enough that it would not fit. I am now considering one of those flat battery packs as they usually start at 3300 mAh (at regular usage that would be approx 3 hours?), which I hope to stuff in the bottom half of the Psion. However this would leave me with very little space for the Odroid/Keyboard controller boards. Or, you could stick it underneath the Psion, but that wouldn't be very sleek/elegant.

I was thinking about setting up a project log, but honestly, this is my first project in modding and I have no idea where to start. My idea was to get all the stuff/material and start building and documenting in similar vein as an Instructables tutorial.

EDIT: I just remembered there was this other guy who did something similar to the Psion keyboard:

http://gamesrant.com/psionresurrection/wordpress/?p=11

The only issue is that the project appears to be dead. 

EDIT 2: Another good board for this project is the Odroid W, which lacks all the IO, USB and Ethernet headers already (saving you the trouble of desoldering). The only issue is that the boards are not being produced at the moment due to some licensing issues(?): http://www.hardkernel.com/main/products/prdt_info.php?g_code=G140610189490

I got the idea from this guy who built a Gameboy SP with an Odroid W:

http://hackaday.com/2014/11/19/a-raspberry-pi-in-a-game-boy-advance-sp/

  Are you sure? yes | no

RasmusB wrote 02/16/2015 at 21:36 point

I hadn't seen that kickstarter, thanks! I'll keep an eye on what comes out of it. :) Keeping the antennas in the lid is a good idea, I'll remember that! Thanks :)

Regarding fitting everything ... Well, I'm planning to make life miserable and full of pain for myself, so I'm going to make a completely new main PCB, and add a computer module to it :) Think of it like a motherboard for a PC, which basically connects everything together and then you add a CPU.

My first idea was to use the Raspberry Pi Compute Module ( http://www.raspberrypi.org/products/compute-module/ ), which basically is a raspberry pi without any connectors or power supply. Those would be provided on my own "motherboard". But even that seems to be a tight fit with everything else that needs to fit. I also considered the ACME boards ( http://www.acmesystems.it/ ), but now I'm eying the Gumstix DuoVero. It's a lot more expensive but a solid linux computer in a really tiny package! 

About power... It would be really fun if I would make it run from 2xAA, just like the original. A standard alkaline cell can deliver 3.9Wh at low loads. The battery life wouldn't be breaking any records, but I could award myself extra points for using the original battery compartment :) Another option is to use two 14500 LiPo cells which are the same size as AA batteries. They store less energy (<3Wh) than alkaline cells, but on the other hand they can deliver a lot more current. Also, they would give me 7.4V to work with instead of only 3V, which will make it easier to design an efficient power supply.

I think you should go ahead and start a project log! I often find myself more intrigued by the stories that contain all the problems, learning and victories that are part of a large project! And if you decide to make an Instructable when you are done, you have everything documented already - you just have to compile the parts that worked :)

  Are you sure? yes | no

Andy wrote 02/17/2015 at 20:27 point

I am very curious as well to see how that project will pan out. In any case, I suspect that the screen will be slightly too thick judging by that capacitor on the controller board. Perhaps it could be relocated, but I am not too sure how that will influence the capacitance (this is seriously the first project I am serious about, I have no practical experience in electronics/modding as of yet). 

That sounds really cool actually, designing your own board. I think for this project, I will keep it to an Odroid since it makes life slightly easier on my side. I just had a look at the Gumstix DuoVero and that looks very promising as well, especially with regards to its size. How would you fix the board to the case? Will you simply hotglue away, or will you get some standoffs to mount the board on?

Ah, I see, that sounds logical. I will keep my eyes peeled to see if I find any small power supply that could fit inside the Psion. 

Yeah, I will definitely do so, currently I am tangled up with something else, but that is almost finished. Once that is done, I hope to be a bit more serious about this project. I also plan to learn how to use CAD software for modeling as well as try and understand your keyboard debugging more indepth for my project. Thanks for the suggestions anyway!

  Are you sure? yes | no

RasmusB wrote 02/18/2015 at 08:50 point

The capacitor should not be a problem. You can usually find a smaller and more expensive variant that does the same job. :)

On the bottom of the Gumstix boards, there are two mezzanine (stacking) connectors. I would have to install matching connectors on my motherboard. The motherboard will be shaped like the original board, using the existing plastic standoffs inside the case. No hotglue anywhere! :) The only thing I need to investigate is the maximum thickness of the board. It's a lot harder than I thought to measure that accurately, and it varies across the board. Right now I'm thinking of stuffing the case with modelling polymer clay and measure the clay shape... might make it easier.

CAD skills are always useful! I use FreeCAD for mechanical CAD and KiCAD for the electronics.

I actually got the keyboard working yesterday evening! I'll do a write-up of that as soon as I can, I hope you find it helpful. And of course you can always ask questions in the comments section of the project logs.

  Are you sure? yes | no

Andy wrote 02/19/2015 at 10:21 point

Great job on getting the keyboard to work! Regarding the capacitor, that indeed sounds like a good idea. 

I suppose indeed that using clay or something might help. I have been scouring around those modding fora where they build N64 handhelds, and they seem to use Bondo. However, I am not really sure how appropriate that would be for this project as I am not too sure if it would be too brittle. 

Yes! For sure, I will definitely have a look at FreeCAD and KiCAD for designing boards, if you don't mind, I will try and get some keyboard interface boards using your designs to interface with my Psion keyboard. 

Yesterday I was thinking about the heat production of such computing boards, I suspect that if you were to do the basics, it wouldn't be too much of an issue, however if you want to watch HD movies or whatever it might get a bit warm. If so, how would you deal with heat dissipation? I can imagine you can simply stick a piece of copper on the processor and route it to the outside for passive cooling. Alternatively, you get a thin fan (like the ones they use in the MacBook Air) and use that for active cooling. I suspect that active cooling would use a bit of energy and space though, which is already quite the limiting factor.

  Are you sure? yes | no

RasmusB wrote 02/19/2015 at 12:03 point

Thanks! :)

I have seen some polymer clay that is easy to work with and hardens at room temperature. I'll cover the inside of the case with saran wrap to make sure that nothing sticks to the plastic while hardening. Then I'll make a cardboard cutout representing the PCB, and sandwich in in between clay blobs. That way, I'll get a fairly accurate model. In theory at least. I haven't gone clay shopping yet... :)

I put in the order for the keyboard prototype module yesterday evening. I can probably build one extra and ship to you for the cost of the PCB and components if you are interested?

Heat might be an issue, but I'm not too worried about it yet. I aim to have a fanless design, and that will of course limit my options. For example, on the Raspberry Pi the biggest energy hog (and heat generator) is not the processor, but the USB- and Ethernet interface chip... so you can save a lot of heat and energy by removing them. That would of course make interfacing with other hardware more difficult, but not impossible. Have a look at Ben Heck's youtube challenge, he makes a very nice handheld RasPi game console.

  Are you sure? yes | no

Andy wrote 02/19/2015 at 20:49 point

What do you actually intend to use the clay for? Just as filler to ensure that the board sits properly on the existing ABS? As for the prototype PCB, do you mean the one you got from OSHPark? If so, I'd love to get one as well, do you use PayPal? I think I will use part of your approach and try and incorporate the Odroid into a larger board that actually fits the existing standoffs of the Psion. I have yet to figure out how to do that, but I suppose that by removing all the components I would be able to get a bit more space. On top of that, I could reroute the ethernet port and the others to more suitable locations. I'll probably make a good ol' scaled drawing sometime to see how it works out. For now I will probably order the Odroid and see how big everything is. 

Yeah, I thought so. There was this guy who modded an eee pc and simply just stuck some copper boards to his processor. I suppose you could do something similar, though I am not too sure where to reroute it to. The Psion does appear to have some vents near the hinge of the CF card slot, but I suspect that was where the microphone was left. This brings me to my next point: I saw Ben Heck's RasPi gaming console, that looked really good actually, but he did not have any internal speakers, do you plan to add any internal speakers, or just a jack will do? If you do build an internal speaker, I suppose you'd need to build a micro amplifier as well etc.

  Are you sure? yes | no

RasmusB wrote 02/19/2015 at 21:11 point

The clay is just to make it easier to get an accurate measurement of the space available on the inside, to make sure I don't use any components that are too tall to fit inside. I have tried making accurate measurements with a pair of digital calipers, but it is harder than I thought. The different case parts are angeled with respect to the PCB, and there are lots of nooks, crannies, cutouts and stuff that make things even more difficult. and But if i carefully fill the case with clay, put it back together, and take the clay out when it has hardened, I'll have a fairly good representation of the "air" I have to fit all the stuff into. The PCB:s I have removed from the unit are very thin - about 4.5mm thick, components included. But there is still some space left inside, I just need to know how much.

The prototype board I'm talking about is the full keyboard controller. Just plug in the keyboard and USB, and you have a working keyboard :) I expect the PCBs to show up in about three weeks. Then I'll solder them and program them with the arduino bootloader and my firmware. After that we can discuss paypal :)

There is an internal, single-channel speaker in the back of the psion. I'm planning to keep it, it's actually not bad at all. Speech and notifications are very clear and loud. But yes, I will need to incorporate some kind of small amplifier. I would really like a headphone jack, but I haven't come up with a good spot for it yet.

  Are you sure? yes | no

Andy wrote 02/20/2015 at 22:14 point

I see, that sounds like a smart move indeed. I was simply guesstimating based on the size of the display, which is about 5 mm thick. Based on this, I believe the tip is about 5 mm thick, while the rear end is closer to 8 mm. To this end, I sought to keep everything below a thickness of 5 mm. My method is very rough and most likely doesn't encompass the entire board, I wouldn't have come up with the method you would use, but now that I think about it, it is a very smart way of figuring out the size. 

That is cool, I look forward to your writeup about that, I mean, it's handy to get the whole controller in one go, but I would like to understand how designed the PCB and the load the bootloader etc. (I'm a huge noob in this area at this moment). 

I see, that sounds reasonable, I think for my project I will remove it and place the Ethernet jack over there. I might look for some small laptop speakers and build a small amplifier for it. I am not too sure where to place it yet, but I might either move it to the upper case part, or to the microphone grill. As for the headphone jack, if I were to continue with the external battery part, I will probably move the jack to the DC port.

  Are you sure? yes | no

RasmusB wrote 02/21/2015 at 09:34 point

5mm should be OK. It will be a lot easier to fit everything if you decide to mount your boards differently that the original PCB. The original board is suspended in the middle of the space, which means that the maximum component height is height/2 - pcb thickness/2.

I'll do a quck writeup of how to flash the bootloader when I have assembled the boards. I did a writeup for another project on how to mount surface-mount components with a solder stencil and hot air https://hackaday.io/project/346-canpi/log/712-canpi-v11 . About learning how to design your own PCBs, I'd say the best way to learn is to start building something :) Try out a few KiCAD tutorials, design a few boards (just to get familiar with the concepts). Start simple, and when you feel ready you can order physical boards online for basically pocket change. It does take a while to get a hang of all the nuances (I still learn new stuff with every design I make), so get a head start before you attempt to make the main parts of your Psion project. :)

  Are you sure? yes | no

andyhull wrote 01/31/2015 at 13:00 point

I have very fond memories of these little guys, I used one for many years as a portable VT100 terminal in my work it was exellent for fring on to the console port of routers, switches and PBx's to reconfigure them without having to drag them out of the rack.

There really has been nothing similar in this form factor since. A brilliant iconic piece of engineering in the same way as the Mac classic, et al. so far as I am concerned.

  Are you sure? yes | no

RasmusB wrote 01/31/2015 at 13:47 point

Couldn't agree more! There hasn't really been anything like it, regarding the keyboard and the outstanding battery life.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates