fabPlane Team Project · Retro

PS1 Super Control

Every external port on an original PlayStation, driven over Wi-Fi. Upload and run code through the rear serial port, stream game data into RAM, press buttons from a browser through the controller port, and swap memory cards without touching the console.

Serial streaming and controller input working on real hardware · boards in design

Console
Original Sony PlayStation, tested on an SCPH-5500
Ports
Rear serial I/O, controller port, memory-card slot, composite video
Radios
ESP32 and ESP32-S3 over Wi-Fi; RP2040 for memory-card timing
Serial link
Up to 2,073,600 baud, framed and CRC-checked
Host side
Python tools (standard library only) and a browser controller
Render of the PlayBridge v2 board with ESP32 module and two harness connectors
PlayBridge v2.0.0 — 56.3 × 62 mm, four layers. J1 carries the controller and memory-card bus; J2 is reserved for the rear serial port.
PlayStation on a bench with a controller cable wired to an ESP32 on a breadboard
22 September 2026 — the bench rig driving a real PS1 menu over Wi-Fi.

What we are building

The PlayStation has four ways in from the outside: the rear serial port, the controller ports, the memory-card slots and its video output. PS1 Super Control is our set of boards and tools that puts each of them on the network, so a PC can load code, feed game data, play and capture a real console as if it were a development kit.

Rear serial: code and game data over Wi-Fi

ps1-serial-stream bridges Wi-Fi to the console's rear Serial I/O port with a classic ESP32 on 3.3 V logic. TCP port 3333 is a raw pipe to the console; UDP 3334 retunes the link from 115,200 up to 2,073,600 baud. The first program goes in through Unirom, then a small MIPS receiver on the PlayStation requests assets in CRC-checked frames of up to 4,032 bytes and validates each one before it touches game RAM.

At full speed the link moves about 207 KB/s, against 307 KB/s for a 2× CD-ROM — close enough to try real games. On an SCPH-5500, Harvest Moon plays, changes scenes and saves, including from files on an SD card attached to the PC. Tekken 3 reaches its menus and a match after a startup fix, with movies and CD audio skipped. It is a research toolkit, not a drive emulator, and it ships no game data or BIOS.

Controller port: a pad in the browser

PlayBridge puts an ESP32 on controller port 1 and answers the console as a digital pad (ID 0x41), with the byte-level responder adapted from BlueRetro. The ESP32 serves a controller page over Wi-Fi; on 22 September every button produced the right action in the PS1 system menu across 17,913 complete polls. Analog sticks and rumble come later.

Hardware v2 replaces v1's PCB-mounted pin array with a harness made from a genuine PS1 plug, carried over two Molex 48393 connectors (USB 3 hardware, not USB signals). It uses an ESP32-WROOM-32E, a CH340C for programming over USB-C, a TPS2113A power mux and open-collector transistor drivers on DATA and ACK. Its second harness port is reserved for the rear serial link — the one board that will eventually do both.

The devkit: memory card and video

A two-board Wi-Fi devkit takes the idea further. A rear gateway with an ESP32-S3 handles serial (through an open-drain stage, so it can never back-power a switched-off console) and captures composite video through an ADV7180 decoder, streaming 352 × 240 MJPEG while passing the signal on to the TV. A front card plugs into the memory-card slot: an RP2040 emulates the card with 24 switchable slots, and an ESP32 handles Bluetooth pads and an HTTP API for scripted input. A virtual devkit runs the same APIs against an emulator, so tools can be written before the boards exist.

PieceState
Serial streamingWorking on real hardware
Wi-Fi controllerWorking on the bench; v2 board release candidate
Devkit boardsDesigned, DRC clean and quoted; not yet built
USB memory cardRouted and DRC clean; not yet built
Serial + controller on one boardNext: firmware for PlayBridge's second port