December Adventure 2025

    While I didn’t manage to continue for the full month, I really enjoyed last year’s December Adventure1. It provided me with a clear focus and, far more importantly, gave me permission to spend my time creating, and writing about those creations. With December 2025 fast approaching, I’ve decided to indulge myself again.

    Just like last year, I’m planning a Psion-themed adventure, with room for a few (probably retro) side-quests as-and-when the mood (or need) takes me. I anticipate things might be a little more piecemeal this year as I’ve a number of smaller ideas to try out. I also intend to shift pace a little on the weekends to ensure I don’t burn myself out on what’s meant to be a fun little excursion.

    Here’s a few of my initial ideas of things to explore:

    • Psion webring

      I’ve really enjoyed seeing webrings reappear in some online communities (e.g., https://webring.xxiivv.com/) and I’d love to have something like that in the Psion space.

    • Psion community website improvements

      There’ll always be an endless list of things we could do with the new (and currently fairly minimal) Psion Community website, and I’d like to take a little time to focus on making it a richer resource for folks discovering the world of Psion for the first time. While the Software Index attempts to catalogue EPOC16 and EPOC32 programs, there are many secondary resources (desktop software, manuals, etc) that exist on the Internet Archive, but aren’t centrally indexed. It’d be great to follow the example of Jaap Scherphuis' wonderful Organiser II pages and collect together useful links for MC devices and beyond.

    • Organiser explorations

      I’ve just acquired a Psion Organiser II LZ64, and I’m excited to take some time to discover this ‘new’ machine.

      • I anticipate very quickly wanting to connect it to my Mac so I’ll need to see what options are available and, potentially, add support to Reconnect. Unlike the later Series 3 and Series 5 devices, Organisers aren’t supported by plptools which provides the connectivity in Reconnect, so I’d need to get my hands dirty with the Psion Link Protocol.

      • Using Alex’s LZ64 during the recent Retro Computer Festival at the Center for Computing History, I was struck by both how good the screen is, and how impractical the A-Z keyboard is if you’re used to QWERTY layouts. With that in mind, I wondered about seeing if I could create a little hardware dongle to let me use a regular USB keyboard (assuming one doesn’t already exist2) and turn it into some form of minimal writer deck.

    • Psion emulation

      There’s been some amazing progress in the field of Psion emulation in the past few years, with MAME becoming the go-to solution for all things Psion. I’d love to figure out how to showcase all the options, either with a simple blog post, or perhaps something a little more invovled—I dream of using Emscripten to embed the emulators in a dedicated website akin to absolutely wonderful Frame of preference interctive showcase of Mac settings dialogs.

    • Wrapping up the PsiBoard

      I spent much of October working on the PsiBoard, my Psion Bluetooth keyboard, to ensure it was complete for my father’s 80th birthday in November. Now that deadline has passed, I’d like to take the time to finish writing up the project, address a few firmware and design issues, and make it available so others can make their own. PCBWay kindly offered to pay for prototype parts going forwards (I guess this makes me an influencer 🤷) which will take the edge off the last few hardware bug fixes and iterations.

    • Shipping OpoLua 2.0

      Over the past few months, Tomsci has been working hard to create a Qt version of OpoLua, our modern OPL runtime, for Windows, Linux and macOS. This is now all-but ready to go, but we need to revisit the licensing and set up CI for the Qt builds before we’re ready to ship it. There’s also a whole host of improvements and bug fixes to ship in the iOS app (thanks to Fabrice for keeping us on our toes by trying out seemingly every OPL program ever published), along with an integrated Software Index which should make it significantly easier for folks to discover the wealth of OPL programs out there.

    And a few weekend side-quest ideas:

    • Psion Series 3a hinge reinforcement

      I’ve a Psion Series 3a in need of JB Weld hinge reinforcement that I’d love to document to help other who need to do the same.

    • Toshiba Libretto 50CT battery removal

      The BIOS backup batteries on Toshiba Librettos are, like many batteries from that era, well known for leaking. I’ve a couple of Libretto 50CTs which desperately need their batteries removing. I’d love to take the time to do it, and perhaps print some of polymatt’s replacement parts in the process to stop their cases degrading further. Maybe I could even try a Psion-style JB Weld preventative treatment.

    • Something ZX Spectrum related

      I picked up my ZX Spectrum3 when visiting my folks in the UK and I’m excited to tinker around with it. While I’ve enjoyed playing with the Spectrum core on the MiSTer, it’s not a machine I know at all well, and it’d be great to find a little project to help me really get to know the hardware and software.

    • Software Index spelunking

      Thanks to the great archival work of community members, the Psion Software Index contains a wealth of programs for EPOC16 and EPOC32. I’m keen to dig into the library and start documenting and screenshotting the various programs; perhaps something to do over a morning coffee.

    Writing this list, I realize there’s a huge wealth of possibilities! Let’s see what December brings…


    If you’re looking for other folks to follow in the December, I highly recommend Colin Hoad, who’s reprising his Advent of Beeb.


    1. You can find out a little more about the idea of a ‘December Adventure’ over at Oatmeal. (I’m glad I reread this when looking out the link as it reminded me that it’s meant to be ‘low key’.) 

    2. The Organiser devices are entirely new to me and I’ve a lot of research to do. 

    3. Acquired for the princely sum of £5 at a car boot sale in the 90s. 

    Psion Screen Saver

    Revisiting the Psion Bluetooth Keyboard

    My take on a Psion bluetooth keyboard has been in the works since 2018. It’s one of my first hardware projects and, if I’m honest with myself, was a litte beyond my abilities at the time. There were just too many new things all at once: microcontrollers, 3D printing, and PCB design.

    The PsiBoard, while working, has never felt complete

    Now that I’ve a little more experience behind me, I’m going to have a go at finishing it—I receive a constant trickle of emails from folks intereted in building their own, and I’d love to be able to offer a complete set of parts and instructions.

    Shifting Sands and a New Direction

    The world of custom keyboards has moved on significantly since 2018, with devices like the Pro Micro and it’s cousin the nice!nano becoming the go-to microcontrolers, supported by a wide range of off-the-shelf customizable firmware.

    Moving forwards, I’m going to use ZMK and a nice!nano. This is a combination I’ve experience with from my work on the Little Luggable, and it should allow me to foucs on the electronics and the industrial design, rather than spending my days working around already-solved firmware issues.

    Electronics

    The Psion Series 5/5mx keyboard connects using a 20-pin ribbon cable

    When I last worked on the PsiBoard, my understanding of the keyboard matrix was as follows (ribbon cable pin numbering given in parentheses):

    Col 01 (15) Col 02 (11) Col 03 (10) Col 04 (9) Col 05 (8) Col 06 (7) Col 07 (6) Col 08 (5) Col 09 (4) Col 10 (3) Col 11 (2) Col 12 (1)
    Row 01 (20) Space Up . / Left Right Left Shift
    Row 02 (19) Z X C V B N Right Shift
    Row 03 (18) H J K M . ? Down Fn
    Row 04 (17) Tab A S D F G Left Control
    Row 05 (16) 1 2 3 4 5 6
    Row 06 (14) U I O P L Enter Menu
    Row 07 (13) Q W E R T Y Esc
    Row 08 (12) 7 8 9 0 Del ‘ -

    This has 12 columns, and 8 rows, requiring 20 I/O pins—too many for most microcontrollers (the nice!nano has only 18). Previously, to work around this, I tied the modifier keys to a single column, leading to issues identifying multiple modifier keys1.

    With the benefit of experience, I’ve realized that these modifier keys are intentionally broken-out to allow diodes to be introduced on each of the modifer lines to avoid exactly this problem—Psion skipped putting diodes on the flexible PCB itself, but made it possible to add them where it really matters.

    Taking this into account, here’s my updated understanding of what the Series 5 keyboard matrix should look really look like:

    Col 0 (20) Col 1 (19) Col 2 (18) Col 3 (17) Col 4 (16) Col 5 (14) Col 6 (13) Col 7 (12)
    Row 0 (15) Z H Tab 1 U Q 7
    Row 1 (11) Space X J A 2 I W 8
    Row 2 (10) Up C K S 3 O E 9
    Row 3 (9) , / V M D 4 P R 0
    Row 4 (8) Left B . ? F 5 L T Del
    Row 5 (7) Right N Down G 6 Enter Y ‘ ~
    Row 6 (6,5,4,3,2,1) Left Shift Right Shift Fn Left Control Menu Esc

    Our new row 6 is created by tying pins 1-6 from the ribbon cable to a single pin, by means of a diode on each wire. This prevents loops in the keyboard matrix by ensuring current can only flow in a single direction through the circuit. Happily, this also only requires 15 I/O pins, leaving 3 spare pins on the nice!nano.

    Using a breadboard to test the new modifier row and diodes

    Returning to a breadboard for prototyping, I was able to confirm this all works correctly and give myself a testbed for my customized ZMK firmware.

    Next Steps

    With the wiring in place, the next step is to convince myself I can get all the functionality I want with the ZMK firmware, especially around power management.


    1. Pressing more than one modifier key at once would lead to loops in the circuit; an issue known as key rollover