A Raspberry Pi Pico (RP2040)-based (S)RAM / ROM Emulator, and SD Card Interface for vintage Single Board Computers (SBCs) - Revision 2.
About
PicoRAM Ultimate Rev. 2 replaces some (or all) of the (S)RAM or ROM chips of these systems and emulates them in software with a Raspberry Pi Pico (RP2040) microcontroller, slightly overclocked at 250 MHz. PicoRAM is equipped with an SD card to store and load whole memory dumps to and from SD card. These memory dump .RAM files are similar to Intel HEX ASCII format and can be edited easily by hand on the PC or Mac; the utilized FAT file system facilitates data / file exchange.
Currently supported SBCs / host machines are:
- Stock Heathkit ET-3400: MC6800 CPU, either 2x 2112 (256 Bytes) or 4x 2112 (512 Bytes)
- Stock Heathkit ET-3400A: MC6808 CPU, 2x 2114 (512 Bytes only!)
- Heathkit ET-3400 memory expansion mode: MC6800 CPU, 4 KBs via expansion header and additional GAL16V8 address decoder
- Heathkit ET-3400A memory expansion mode: MC6808 (or MC6802) CPU, 4 KBs via expansion header and additional GAL16V8 address decoder
- Multitech Microprofessor MPF-1, MPF-1B and MPF-1P: Z80 CPU, 1x 6116, 2 KBs
- Lab-Volt 6502: 6502 CPU, 2x 2114, 1 KB
- Philips MC6400 MasterLab: INS8070 SC/MP III CPU, 2x 2114, 1 KB
- Heathkit ET-3400 & ET-3400A ROM emulation: either 2 or 4 KBs of emulated ROM, and it is possible to replace the monitor (EP|P)ROM (i.e., with your custom ROM monitor program).
The development logs are on Hackaday.
This project is a follow-up to PicoRAM 2090 for the Busch Microtronic Computer System, PicoRAM 6116 for the Microprofessor MPF-1, and PicoRAM Ultimate Rev. 1. PicoRAM Rev. 1 users, please refer to the Rev. 1 documentation.
In the following, PicoRAM Ultimate refers to the hardware Rev. 2. Please note that this repository contains files for both revisions (rev1, rev2). The current firmware Version 2 works with both hardware Rev. 1 and Rev. 2; however, the 4 KB configurations (machine settings) are only supported with Rev. 2 hardware. Some pictures still show the old Rev. 1 - note that the Rev. 1 vs. Rev. 2 differences only matter with regard to the Heathkit ET-3400 machines (and only if PicoRAM is used over the extension header).
Video
This YouTube video (of the Rev. 1 board) shows most currently suported machines (with the exception of the MPF-1P):
Here is a YouTube Video of the Rev. 2 board, showing both the Heathkit ET-3400 and the ET-3400A.
Latest News
February 2026
Firmware version 2.1 adds some experimental IO capabilities to PicoRAM for the ET-3400 (not A currently); namely, text and graphics commands.
To use this experimental mode, the 0x1000 to 0x1fff address decoder is required, and the 4x 2112 SRAM chips for 512 Bytes of SRAM memory are retained. In this mode, PicoRAM acts as a ROM emulator for now, so writes to the memory from 0x1000 to 0x1fff are protected, with the exception of address 0x1800 (for now) which acts as a "one byte serial" communication channel from the ET-3400 to PicoRAM for driving the text and graphics display (i.e., for sending IO commands). There are a number of demo programs in this folder. that demonstrate how to utilize the provided text and graphics commands. Note that the machine identifier is 3400IO for this mode; also see the supplied ULTIMATE.INI and the three demo programs which are supplied in .A68 assembly format. Large portions were written by CoPilot, especially for the visual / graphical Towers of Hanoi program HANOIG.RAM.
It should be noted that this mode is still experimental and not fully stable yet; but have a look at this, this, and this YT video to get an impression. Overall, it already works pretty well. In particular, it is necessary to not send IO bytes to address 0x1800 too fast; processing speed also...
Michael Wessel













fjkraan
6502Nerd
Erik Piehl
wilco2009
My issue is time I dont have.. I still have a day job. This is still my passion though and love to work in my shop every chance I get. I have a really awesome project I am working on involving both arduino atmega 2560 and the NUCLEO-H723ZG for an In Circuit Tester for 8 bit arcade pcbs to help diagnose and repair more quickly. It has been in my list of to-do for a very long time but each time I get started on it some better technology comes along to make it better and add more features.