Close
0%
0%

Psioπ

Resurrecting a Psion Series 5 PDA with modern innards

Similar projects worth following
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 :)

PCB Original Outline.dxf

Outline drawing of the original PCB

AutoCAD DXF - 16.61 kB - 04/06/2019 at 11:22

Download

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

  • Tindie Stock Clearance

    RasmusB12/14/2017 at 09:44 2 comments

    I'm moving and need to clear out my stock a bit.

    33% off on my keyboard adapter!

    https://www.tindie.com/products/RasmusB/usb-keyboard-adapter-for-psion-series-5-keyboards/

  • The future is here

    RasmusB12/04/2017 at 08:48 2 comments

    https://jmcomms.com/2017/11/29/gemini-pda-20-years-on-meet-the-all-new-psion-series-5/

    I really hope this makes it to market! This will of course be a much more polished product than I could ever hope to produce in my home lab. While I don't think this will lead to a renaissance of the palmtop computer, I'll definitely be getting one if they become available.

  • Black Friday and Cyber Monday sale

    RasmusB11/22/2017 at 09:51 1 comment

    If you have been holding off getting one of my keyboard adapters, now is your chance!

    There will be a sale starting the night before black friday, all through cyber monday. Keep an eye on my Tindie product page:

    https://www.tindie.com/products/RasmusB/usb-keyboard-adapter-for-psion-series-5-keyboards/

  • Keyboard adapter production - lessons learned

    RasmusB10/09/2017 at 05:17 1 comment

    This project has had a side effect I did not expect when I started this project - I actually started selling hardware on Tindie! While I really appreciate that other people around the world are genuinely interested in what I am doing, I realized that it does not make sense to spend my time doing small batch production in my home office.

    First of all, I seriously underestimated how much time it would take to build the adapters. I had built several similar designs by hand before, and I thought that I had a good process going. Basically, I just stencil printed the solder paste and placed all the components with tweezers. Also, I expected to be able to pick up the pace when building several boards at once. But I have to admit that I find it exhausting to place 0402 components by hand. One or two boards are fine, but after that my speed starts to drop seriously. In practice, the time spent on each board did not get any shorter when building 10 boards compared to building a single board at a time.

    Secondly, the yield was terrible. For my last batch, less then half of the boards I built worked correctly right after soldering! I had two main issues:

    1. Handling errors - the PCB panels I designed did not have sufficient handling clearance and I ended up accidentally shifting components and smearing solder paste on my boards. I should have added a handling frame to avoid this.
    2. Solder bridges - I did expect to see some solder bridges on the QFN package or the fine-pitch FFC connector, but that actually hasn't happened. But I did get short circuits below some 0402 components. This proved to be extremely time consuming to fix, especially since it mostly happened on the decoupling caps. I could not see the issue under my microscope, so I had to resort to desolder one component at a time, checking if the short disappeared, and then replacing the removed parts. Rinse and repeat. I'm not sure whythis happened. The amount of solder paste present was good, but I suspect that I accidentally spread / squished the solder paste when placing the components and trying to align them.

    I had to find a better solution. I looked into modifying the design to add electrical testing to help me troubleshoot bad boards, but I realized that was just a time consuming way of treating the symptoms instead of actually fixing the disease. Also, it would be an entire project in its own right to create a reliable test setup. I looked into building some kind of rig to help with component placing (kind of a manual pick and place machine), but that would also become its own project.

    Instead, I started looking into having the boards built for me. This was the easiest way forward, since I already had everything that was needed - a proved working layout and a BOM. I sent those to iTead, Seeed Studio and Elecrow for quotes. Elecrow came out on top of this comparison, since they had by far the lowest setup cost - in practice just a $20 component sourcing fee.

    When I started selling the adapters, I made a spreadsheet listing all the production costs for the hardware. When I updated the spreadsheet using the quote from Elecrow, I was surprised to see that my cost didn't increase. This is partly due to me being able to order a larger batch of PCBs and components, but also that Elecrow did a good job of picking components. Included in their quote, I got a list of requested vs. quoted components. The only part I was concerned about was the FFC connector, but they quickly provided the datasheet when I asked, and I could confirm that it would indeed work for me. I could also have requested that they used the exact component specified in my BOM if necessary, increasing the cost slightly.

    So where are we now? I just got a picture sent to me of the finished boards, to verify that they look as expected before shipping.

    I am a little amused by the "QC Pass" sticker - I have not provided any information on how to test the boards, so at best they have checked for misaligned and/or rotated components....

    Read more »

  • 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 4 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 KiCad

    The next step is to...

    Read more »

  • Arduino compatible keyboard adapter

    RasmusB11/28/2015 at 17:26 15 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.

View all 20 project logs

Enjoy this project?

Share

Discussions

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

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

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