Pico PlayStation MemCard | The MagPi #120

Failing hardware and pricey memory cartridges led one maker to use Raspberry Pi Pico to revive his old Sony PlayStation, as Rosie Hattersley discovers in the latest issue of The MagPi, out now.

Software engineer Daniele Giuliani missed playing some of the games on his original PlayStation, but quickly discovered that boxed and unused PS memory cards are hard to find and far more expensive than they used to retail for. 

pico playstation memcard
Pico makes use of the PlayStation’s 3.3 V memory card connection. Since Pico draws very little power, it needs no additional power source

With no guarantee that used official cards – or counterfeit Chinese ones – will perform well, Daniele decided to put his coding skills to good use and create an alternative to Sony memory cards so he could continue playing his old PlayStation games. Having tinkered with Raspberry Pi devices since his high-school days, and subsequently studied computer science at university, Dan realised the platform would be ideal for his MemCard project. 

Daniele chose a Raspberry Pi Pico because it’s much faster than his beloved Raspberry Pi 1B+, which he still has. A fast GPIO connection was essential for this project. He was also delighted to discover Pico’s ‘novel’ PIO (Programmable Input/Output) interface which he had never seen any board offer. “With PIO you can program, using specific assembly instructions, a set of ‘state machines’ to control the GPIO directly, leaving the main processor free to do other work,” he enthuses. “PIO allows the creation of very powerful bus sniffers. I used it to program the low-level interaction, the basic signals that must be toggled on and off with very specific timings in order to convince the PlayStation into believing an original memory card is present.”

pico playstation memcard
The PlayStation recognises the Pico memory card and can save game data to it

Bonus features

Choosing Raspberry Pi for the build brought added benefits: the range of connectivity options improved on what could be done with original memory cards.” In particular, since Raspberry Pi can be connected to a PC, it allows [the player] to easily import/export the save files from/to the PlayStation. This is useful to back up old saves and continue playing on emulators,” explains Daniele. “PlayStation uses discs to load games. Old discs are full of scratches and can sometimes result in a game freezing in specific parts of the game, preventing the user from progressing.” With Daniele’s Pico MemCard setup, a player can transfer the save file to an emulator, progress through the problematic area (using an intact backup image of the game), then transfer back the new save file and continue playing on the console.

pico playstation memcard
The Scoppy oscilloscope app checks for signals between Pico and PlayStation

The goal of this project was to provide a solid alternative at a very low price, says Daniele. “Raspberry Pi Pico understands the protocol used to communicate with memory cards and convinces the PlayStation into believing an original memory card is plugged in. Development boards, such as these ones, were particularly interesting because they were quite powerful yet very cheap, and allowed me to set up my personal server to test all sorts of applications.”

Smart tools

Although Daniele enjoys the freedom of working on his own projects, lack of equipment was a challenge. A smartphone app called Scoppy proved invaluable: he was able to use a second Pico (plugged into a smartphone) as an oscilloscope to observe the electric signals being exchanged between the PlayStation and the memory card/Raspberry Pi Pico. Details that Daniele found online, of how a PlayStation works, helped him with some of the communication protocols. Prior to finding these details, he’d been trying to read the data between a PlayStation controller and console.

pico playstation memcard
PlayStation game saves from an emulator can be loaded from the Pico MemCard, enabling players to bypass bad sectors on game discs

After a month or so of development for his MemCard for PlayStation, Daniele is already planning its next iteration: an enclosure for it, a microSD card version to expand the storage, and support for PS2. He’s delighted with the amount of interest that others have shown in his project, and is proud of having found a practical way of reviving a classic, but otherwise unused, games console, potentially keeping them out of landfill.

Memory card maker

pico playstation memcard

01.

The substitute memory card provides a physical interface between the Pico and the PlayStation. Access the electronic board by removing the two screws on the bottom, and take off the plastic shell. Cut a hole in the case for the wires to connect your Pico. 

pico playstation memcard

02.

Use a Stanley/utility knife to cut a groove right under the pins and disconnect the original circuitry. Use jumper wires to connect your Pico, scraping off their plastic covering, and directly soldering to the copper pins for the PlayStation. 

pico playstation memcard

03.

Carefully solder your Pico to the PCB, download the latest version of PicoMemcard, plug your device into the computer via USB, and upload the save file. 

The MagPi #120 out NOW!

You can grab the brand-new issue right now from Tesco, Sainsbury’s, Asda, WHSmith, and other newsagents, including the Raspberry Pi Store in Cambridge. You can also get it via our app on Android or iOS. And there’s a free PDF you can download too.

magpi 120

You can also subscribe to the print version of The MagPi. Not only do we deliver it globally, but people who sign up to the twelve-month print subscription get a FREE Raspberry Pi Zero Pico W!

2 comments
Jump to the comment form

Avatar

My Playstation, my memcard is my love.

Reply to GBLink

Avatar

We have two options for programming the Raspberry Pi Pico W board: the serial wire debug port or the special USB mass storage device mode. According to https://robu.in/ using a special USB mode because it is the simplest way to program. For programming, you can use the following steps
1)Deactivate the Pico W Board/
2)Press and hold BOOTSEL and then power the Raspberry Pi Pico W Board.
3)When you connect the board to your PC, it will appear as a USB mass storage device.
4)Then, drag and drop a special “uf2” file onto that USB mass storage device.
5)After that, the disc will write the file to flash and restart the Raspberry Pi Pico W board.

Reply to robu

Replying to GBLink
Cancel reply?