Close
0%
0%

PSION II Datapak and Rampak Reader/Writer

File transfer between a PC and a Psion Organiser II using an Arduino

Similar projects worth following
I used an Arduino to read and write to Psion II Datapaks or Rampaks, these packs contain a memory chip, two counters and some logic. The packs require a 5 V supply, so are well suited to an Arduino Nano which also uses 5 V, powered from USB. An 18 V supply allows Datapak writes.

- Uses linear or paged addressing, larger segmented packs are not supported, maximum OPK file size is 64 kB.
- Rampaks can be read from or written to (bits changed from 1 to 0, or 0 to 1).
- Datapaks can be read from or written to, but not erased (bits from 1 to 0 only, because these packs contain EPROMs which require UV light to erase them).
- Pack image files for read/write use the standard OPK format of the Psion Developer software.

I wrote software for the Arduino and PC. The PC software (in Python) allows pack images to be transferred between the PC and the Datapak/Rampak, via the Arduino.

The software and further description is at my Github page, follow the link to source code.

The Psion Organiser II is a handheld 8-bit micro from the 1980s, it was sold to the public as a personal digital assistant (PDA) and was widely used in industry, over half a million were made. The PDA models have a diary, can store information and can be programmed to perform calculations and manipulate data, there are even some simple games for it. Its PDA functions have since been replaced by the smartphone, so alot of these Psions eventually found their way into the back of a drawer somewhere. However, these devices are as tough as a brick, so if you find one and put a fresh 9 V battery in, it's very likely to work. The same cannot be said of many devices that followed it. The Psion II was a ground-breaking device in its time, and it still has an active following of dedicated users. Lots of info can be found on the site by Jaap Scherphuis:

https://www.jaapsch.net/psion/index.htm

I created this project as I wanted to transfer files to the Psion, and I don't have the Comms Link. The Comms Link is a serial adapter which plugs into the top of the Psion and provides a serial RS232 interface. These are becoming a bit rare and frequently sell for more than the cost of a second hand Psion.

There is a modern remake of the Comms Link with a USB interface, made by Olivier Gossuin, I recommend this for anyone who does not want to spend hours messing about with circuits and software. The Comms Link contains it's own software ROM which adds a lot of useful functions.

https://www.gossuin.be/index.php/shop#PSION

https://www.gossuin.be/index.php/psion-organiser-ii-comms-link-usb

The Psion II has 2 slots in the back for datapaks/rampaks which are for data/software storage, these typically range in size between 8k and 128k, although larger pack are available. There are also Flash packs which need extra software to access or format them. The Comms Link plugs into a third slot in the top on the Psion. This slot shares the 8-bit data bus (and most of the control lines) with the other two slots and only one slot can be selected at a time. The slot connectors are simple 2x8 pin 0.1 inch pitch headers.

Another Hackaday project showed that an Arduino could be used to read/write to Datapaks, with the aim of using a Psion II as a bluetooth controller:

https://hackaday.io/project/168408-psion-ii-remote-control

I started my project from scratch using info from Jaap and Olivier's web sites. Olivier's circuit diagrams of the Datapak and Rampak were very useful:

https://www.gossuin.be/index.php/psion-organiser-datapack

Psion's technical reference manual was essential:

https://www.jaapsch.net/psion/tech.htm

I also took inspiration from this youtube video by Ben Eater:

Build an Arduino EEPROM Programmer

  • 1 × Arduino Nano or similar
  • 3 × Header pins 0.1 inch (2.54 mm) pitch: one of 2x8 and two of 1x8 used for datapak connector
  • 1 × Psion organiser II Datapak or Rampak Datapak for read or Rampak for read/write
  • 1 × Psion Organiser II You could do this project without one, but why?
  • 1 × Breadboard Electronic Components / Misc. Electronic Components

View all 7 components

  • Making use of it

    martin06/28/2021 at 07:41 0 comments

    Since getting this going I've been working my way through the back catalogue of software for the Psion, mostly from Jaap's website. My favourite game is Boulder (written by Jaap for the Psion Organizer II LZ, with the 4-line screen), which is inspired by the classic Boulderdash: you have to find the key, then exit via the window whilst collecting diamonds on the way and without being crushed or trapped by boulders. I've completed the first set of levels and downloaded the extended set. Thanks Jaap for such a great game!

View project log

  • 1
    Build a datapak connector for the breadboard

    Make a datapak connector for the breadboard, it just widens the pin spacing to fit over the centre gap of the breadboard.

    The lower pins were pushed through the plastic to make them longer for soldering and the plastic was removed afterwards. If you use stripboard, be sure to cut the tracks on the centre line to prevent a short:

  • 2
    Wire up the connector to the Arduino

    Insert the Arduino Nano into a breadboard and connect to the datapak connector as shown in this schematic:

    Add the optional VPP supply & control if you want to write data to a Datapak (not required for Rampaks). R1 limits the current load of the Arduino digital output (D19), Q1 (NPN) pulls the base of Q2 (PNP) low when the Arduino output goes high. R3 limits the current from Q2 emitter-base to Q1 collector-emitter. R2 is a pullup to keep Q2 in the off state until Q1 pulls low. The supply is 2x 9 V PP3 batteries. A zener diode reference in the datapak reduces VPP to the correct voltage for the EPROM, typically about 13 V.

  • 3
    Install the software

    Upload software to the Arduino, and run the Python software on the PC. The Python software requires 4 libraries: serial, keyboard, time and os, you may need to install these first using pip (or conda if using the Anaconda disribution of Python).

    The software can be found at my Github page: Github Psion2 pack reader-writer

View all 5 instructions

Enjoy this project?

Share

Discussions

dearuserhron wrote 06/12/2021 at 13:18 point

Old hardware does not die. (it is my favorite catch-phrase. I do remember that guy from Nirvana movie who is constantly soldering old hardware and never give up to revive the old tech, it's his catch-phrase)

  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