Matt Callow’s CPC_PICOROM turns a Raspberry Pi Pico into a ROM board for a real Amstrad CPC, emulating the machine’s lower ROM and multiple upper ROM slots. It is hardware for a CPC—not a PC software emulator—and combines firmware, passive components and a USB drive interface for transferring ROM files. The project’s current README says it can handle up to 12 upper ROMs, while an earlier report describes eight; those figures reflect different source accounts and should not be treated as interchangeable.
What the CPC_PICOROM does
The project replaces or supplements the ROMs available to an Amstrad CPC by using a Pico to serve ROM data to the computer. The repository describes a small build based on the Pico and passive components, with project files and firmware available in Matt Callow’s CPC_PICOROM repository. It is intended for a physical CPC, rather than for running CPC software on a modern computer.
At startup, ROM images are loaded into RAM arrays. According to the README, one Pico core handles ROM access while another manages the ROM latch and CPC-side commands, with a PIO state machine also involved. The Pico exposes its flash through a USB mass-storage interface, allowing ROM files to be copied from a computer. The README says the firmware accepts plain ROM images and images with a 128-byte header, removing an AMSDOS header when it detects one.
ROM capacity and configuration
Capacity depends on which project description you consult. The repository’s present README says the emulator supports the lower ROM and up to 12 upper ROMs, limited by Pico RAM; its configuration instructions use upper-slot numbers 0–13. An earlier Hackster report, based on Callow’s description of the design at that time, says it emulates a lower ROM plus eight upper ROMs, stored in the Pico’s 2 MB flash, and reports a 225 MHz overclock. These are source- and version-specific accounts, not a single confirmed capacity specification: the eight-ROM account should not be silently combined with the later README’s “up to 12” statement. See the Hackster.io report for the earlier description.
#1 Best Overall
- The Raspberry Pi Pico is a beginner-friendly microcontroller board that uses MicroPython to give you a taste of the Internet of Things and microcontrollers. The RP2040 is a well-designed microprocessor that can be utilized in almost any Internet of Things project. It has enough power to complete the task quickly.
- 【Raspberry Pi RP2040 Microcontroller】Raspberry Pi Pico features Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz. With 264KB of SRAM, and 2MB of on-board Flash memory.Supports up to 16 MB of off chip flash memory via a dedicated QSPI bus
- 【Multiple Software Support】Pico has rich and complete software support, it comes with a complete Rasberry Pi official C/C++ SDK, Micropython SDK.The programming and burning of Pico need to be carried out on the computer. Supported operating systems and computers include:Raspberry Pie with Raspberry Pi OS,Other platforms equipped with Debian based Linux system Computer with MacOS, Computers with Windows, etc.
- 【Rich Hardware Interface】Raspberry Pi Pico has 30 GPIO pins, 4 pins for analog signal input and 26 × multi-function GPIO pins, 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels.USB 1.1 supported by host and device, The installation mode can be flexibly selected by users to facilitate welding with other development boards.
- 【Build Project in Tiny Size】Only 2.1cm*5.1cm ( as small as your thumb). Pico has been designed to use either soldered 0.1" pin-headers or can be used as a surface-mountable 'module'.
Startup files
The README identifies OS_6128.ROM and BASIC_1.1.ROM as the minimum system ROM files. It recommends adding picorom.rom, a companion CPC ROM that provides commands for managing the emulator. A DEFAULT.CFG file can map ROM filenames to slots at startup.
CPC-side ROM management
The companion ROM’s documented commands let users list available ROM files, inspect which ROMs are loaded in slots, load or remove a ROM, switch configurations, and enter USB-drive mode. In USB-drive mode, the CPC stops operating as a computer while the Pico presents itself as a drive. This is a file-transfer mode, not simultaneous CPC use.
Rank #2
- RPi Pico 2 W Microcontroller Board (pre-soldered header (color-coded)), Based on Official RP2350 Chip, Dual-core & Dual-architecture Design. Upgraded hardware from Pico 2 with wireless communication, onboard antenna, features 2.4GHz 802.11n WIFI and Bluetooth 5.2.
- Adopts unique dual-core and dual-architecture design: dual-core Arm Cortex-M33 processor and dual-core Hazard3 RISC-V processor, flexible clock running up to 150 MHz.
- Onboard Infineon CYW43439 wireless chip, supports WIFI 4 wireless and Bluetooth 5.2.
- 520KB of SRAM, and 4MB of on-board Flash memory.
- Castellated module allows soldering direct to carrier boards. USB 1.1 with device and host support. Low-power sleep and dormant modes. Drag-and-drop programming using mass storage over USB.
Build components and wiring cautions
The repository includes a Pico-to-CPC signal map covering address and data buses and control signals. It describes powering the Pico from the CPC’s 5 V supply through a 1N4148 diode to VSYS. The documented passive components include 1N4148 or similar diodes and a 2.2 kΩ pulldown resistor; the build also requires a suitable CPC edge connector. The repository provides PCB design files, so fabrication is an option for builders who do not want to assemble the wiring on a prototype board.
Check the board notes carefully before assembling a PCB: the repository warns that D2 is reversed on both the schematic and PCB silkscreen, and says its cathode stripe belongs at the bottom. Rev1 boards lack the pulldown resistor, which the repository says can be added as shown in its instructions.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Rank #3
- RPi Pico 2 microcontroller board (with yellow Pre-Soldered Header) is powered by Official RP2350 microcontroller chip, with unique dual-core and dual-architecture design, running up to 150 MHz, embedded 520KB of SRAM and 4MB of on-board Flash memory, as well as 26x multi-function GPIO pins
- Adopts unique dual-core and dual-architecture design: dual-core Arm Cortex-M33 processor and dual-core Hazard3 RISC-V processor, flexible clock running up to 150 MHz
- 520KB of SRAM, and 4MB of on-board Flash memory
- 26 × multi-function GPIO pins. 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 24 × controllable PWM channels
- Castellated module allows soldering direct to carrier boards. USB 1.1 with device and host support. Low-power sleep and dormant modes.
Uncertified 5 V input concern
The most important electrical qualification is the absence of level shifters. In Gareth Halfacree’s Hackster report, Callow is quoted saying, “The Pico IO pads are not rated for 5V, and this circuit contains no level shifters.” He also notes that although he had seen comments suggesting the inputs might tolerate 5 V, they were not certified to do so, and his own build had not shown issues. That maker experience does not establish that connecting the circuit is electrically safe or guaranteed; the report quotes his warning, “Use at you own risk.”
Optional USB interface and build reports
The repository characterizes the optional USB interface as only partially Albireo-compatible, supporting USB drive use. In a June 14, 2023 project log, Callow reported that his assembled optional interface worked with Albireo DOS or UniDOS. That is a dated report of one build, not a blanket compatibility guarantee. The same Hackaday.io project log records a CPC reset problem with one PCB build, even though Callow’s original prototype worked. Builders should treat that as a reported issue to account for, not evidence that every board will fail.
Rank #4
- Dual Arm Cortex-M33 or dual RISC-V Hazard3 processors @ 150MHz CPU
- 520 KB on-chip SRAM; 4 MB on-board QSPI flash
- 2 × UART, 2 × SPI controllers, 2 × I2C controllers, 24 × PWM channels, 1 × USB 1.1 controller and PHY, with host and device support, 12 × PIO state machines
- 26 multi-purpose GPIO pins, including 4 that can be used for ADC
- 21 mm × 51 mm
Who should consider building it?
CPC owners who are comfortable working with vintage-computer bus signals, checking board revisions and accepting an explicit electrical risk may find CPC_PICOROM a compact way to load and manage ROM images on their machine. It is less suitable for anyone seeking a plug-and-play product or a project with certified 5 V protection. Before building, review the repository’s current wiring and PCB notes, confirm the edge connector fits the specific CPC hardware, and decide whether the stated electrical caveat is acceptable.
Quick Recap
Best Value
- with pre-soldered header Raspberry Pi Pico. RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
- Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz. 264KB of SRAM, and 2MB of on-board Flash memory.
- Castellated module allows soldering direct to carrier boards. USB 1.1 with device and host support. Low-power sleep and dormant modes. Drag-and-drop programming using mass storage over USB. 26 × multi-function GPIO pins.
- 2 × SPI, 2 × I2C, 2 × UART, 3 × 12-bit ADC, 16 × controllable PWM channels.Accurate clock and timer on-chip.Temperature sensor.
- Accelerated floating-point libraries on-chip.8 × Programmable I/O (PIO) state machines for custom peripheral support
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




