To go with siboimg, there’s now sibodump! This is a tool of two parts: first an Arduino sketch which talks to the SSD using SIBO-SP, and a C app that controls the sketch over serial and dumps the image to a file. The app runs on Win32 and Win64, Linux and macOS. It should run on *BSD, but I haven’t tested it yet. You’ll also find some binaries for Win32, Win64 and macOS in the repository.
Posts for: #Sibo
siboimg - The Psion Flash Image Extractor
A month ago I had never typed a line of C. Concepts like pointers, structs and treating variables as actual blocks of memory rather than abstract values were alien to me. But I really wanted to get into C; I knew that knowing the language would be vital for this project and there was only so long that I could put off learning it. I needed a target.

Karl had already written a Windows app in C# that would extract files from an image of an SSD. The Flash format had been well documented by the fantastic Clive D W Feather in his invaluable collection of SIBO documentation known as The Psionics Files. So I decided to follow in Karl’s footsteps and write an SSD file extractor in C. Something that would be more portable than his C# app, that I could compile on Linux, *BSD, macOS and Windows. And so, armed with a copy of the second edition of K&R and a few pre-ripped SSD images, my journey began.
Device IDs via SIBO-SP
Ever since the start of this project, the SIBO Serial Protocol (SIBO-SP) has loomed large as Something We Need To Know About. It’s a protocol using 12-bit packets, a LSB-first data payload, and a series of reset and select control commands, all done on one data wire and one clock wire. As you’ll see in previous logs, we’ve managed to decode a large amount of it and I’ve published my Sigrok decoder on my GitHub page.
Updates
I can’t believe it’s been two months since I last posted here. Much has happened on this project and, although I don’t have time to write in detail about these things now, I wanted to give you a brief overview. Warning: Expect Exclamation Marks.
A Co-Conspirator Has Been Found!
Karl happened to be working on a Psion SSD project at the same time as me and asked me if I wanted to collaborate. I was apprehensive at first - us techies can be quite possessive of our projects at times - but it’s been working brilliantly. We’re approaching the SSD challenge from two different angles, which has actually helped in analysing the SIBO platform. So if I refer to “we” rather than “I”, you know I’m talking about Karl and me.
Further Logic Analysis, plus SSD Destruction
It’s been a relatively fruitful month with this project. After struggling to work out why I was getting some weird signals being measured by my logic analyser (word to the wise: don’t forget to connect GND), I managed to get some relatively meaningful waveforms, meaning I could properly start to write a sigrok decoder.
Writing a decoder was a slight challenge as I had never touched Python before, but I was able to get something working in about 24 hours!