PsiDock provides a Docker Container which enables sftp access to your Psion device’s drives.

If you own a Psion Series 3 device (or another EPOC device for that matter), it’s been possible to connect to your Psion device to your Mac via the right kind of serial to USB cable and plptools.

However, compiling plptools on a Mac is somewhat troublesome. To mitigate that hassle, this docker container aims to allow you to connect to your Psion with a single command.

This guide will show you how to connect your Psion Organiser to your Mac using Docker.

Note that I’ve only tested this with a Psion 3c, and this guide is geared towards that. But, it should in theory work with all Psions, and even other EPOC devices.

Required Hardware

  1. A Psion ;)
  2. A 3 Link serial cable
  3. A serial to USB cable

Note that the correct kind of USB to serial cable is essential; It seems they’re not all created equal. I would recommend the Plugable USB to RS-232 DB9 Serial Adapter.

If you have these three items, you’re good to go!

Required Software

You’ll need to install both VirtualBox, and Docker for Mac.

  1. Download and Install VirtualBox.

  2. The next step is to install Docker for Mac (don’t worry about installing toolbox).

Install the Serial to USB Mac Drivers

Install the Mac drivers for your USB to serial cable. If you went with my cable recommendation, you’ll find them here.

Create a specialised Docker Machine

For this next part, you’ll need to create a specific Docker Machine for your Psion, and then do some manual configuration on it.

  1. Open your Terminal application and run the following command:

     docker-machine create psion --driver virtualbox
  2. Open VirtualBox and look for the Docker Machine you just created. You’ll need to open up its settings and enable your Mac’s USB port:

    Locate your Docker Machine and click “settings”
    Enable the USB to serial driver

Start your specialised Docker Machine

  1. Run the following command to start your Docker Machine:

     docker-machine start psion

    You should see something similar to the following:

     $ docker-machine start psion
     Starting "psion"...
     (psion) Check network to re-create if needed...
     (psion) Waiting for an IP...
     Machine "psion" was started.
     Waiting for SSH to be available...
     Detecting the provisioner...
     Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
  2. Once you’ve successfully started it, you’ll need to switch your environment to use this machine rather than the default one, so run the following:

     eval $(docker-machine env psion)

Plug in your Psion

  1. Connect your chain of cables so that the Psion is connected to the USB port on your Mac.

  2. Enable serial connectivity on the Psion.

Start the Container

A pre-built image is already present on DockerHub.

  1. Pull the image down with:

     docker pull heliomass/psidock
  2. Run the image with:

     docker run \
         -p 52022:22 \
         -t --privileged=true \
         heliomass/psion-link:v1.0 \

If all went according to plan, you should expect to see output like this:

$ docker run -p 52022:22 -it --privileged=true heliomass/psidock:v1.0 /root/start-link
* Restarting OpenBSD Secure Shell server sshd                                                                                                         [ OK ]
ncpd[34]: daemon started. Listening at using device /dev/ttyUSB0

Link active. Press ctrl-c to end.

SFTP into Your Psion

There are two ways to do this, but first of all you’ll need to know the IP address of your Docker Machine:

docker-machine ip psion

And you’ll get back an IP address, for example mine is:

Now you know the IP, you can either connect from your Mac’s command line, or use an SFTP client of your choice.

For example:

sftp -v -P 52022 psion@$(docker-machine ip psion)

←  Back to Scratchbook