// the find
piersfinlayson/one-rom
The most flexible ROM replacement for retro systems - using a sub-$2 Raspberry Pi RP2350 or STM32 microcontroller.
One ROM is a firmware + PCB project that turns a $2 RP2350 (or STM32F4) into a drop-in ROM replacement for vintage computers — Commodore 64, Amiga A500, Atari, BBC Micro, Apple II, and a lot more. You get KiCad files, gerbers, and Rust firmware all in one repo, so you can order PCBs from JLCPCB and flash them from a browser. Aimed at retro hardware enthusiasts who are tired of hunting down dead 2716s.
The pin-count coverage is genuinely wide — 24, 28, 32, and 40-pin variants with software-configurable chip select lines means one hardware design handles the weird mask-ROM variants that tripped up earlier projects. Storing up to 16 ROM images with jumper-selectable switching is practical: you can keep kernel, BASIC, and character ROMs on a single 24-pin board and swap at boot. The build system uses a Docker container so the Rust + RP2350 toolchain setup is reproducible rather than 'works on my machine'. Full KiCad source for every PCB revision is checked in, which is rare — most similar projects ship gerbers only.
The repo is heavily documentation-forward but light on the firmware internals being navigable: there's no high-level code walkthrough and the old docs directory implies the architecture has shifted enough that some of the technical detail is now stale or contradicted. The 40-pin (Amiga 27C400 / 16-bit) support is present but not all variants are verified — the fire-40 lives under 'verified' but the fire-32-b2 is still unverified, and that asymmetry is easy to miss before ordering a batch. The STM32 path is clearly secondary to RP2350 at this point; the STM32 PCBs have fewer revisions and the README doesn't explicitly say whether new features land on STM32 or RP2350 first. Runtime modifiability over USB is advertised as a key feature but there's no offline CLI binary in the repo — you're pointed to a separate site, which is a friction point if that site goes down.