Close
0%
0%

PicoRAM Ultimate

SRAM Emulator and SD Card Interface for Vintage Single Board Computers (such as the Heathkit ET-3400, Lab-Volt 6502, and Microprofessor)

Similar projects worth following
PicoRAM Ultimate is the ultimate storage solution for single board computers (SBCs) / CPU trainers from the 70s and 80s.

It emulates:
- up to 4 2112 SRAM chips: it replaces the 512 bytes of stock SRAM in the Heathkit ET-3400; alternatively,
- a 2 KB memory expansion for the Heathkit ET-3400 (with expansion header installed),
- a single 6116 2 KB SRAM (e.g., for the Multitech Microprofessor MPF-1 / 1B / 1P),
- up to 4 2114 SRAM chips (e.g., for the Lab-Volt 6502 and Philips MasterLab MC6400 CPU trainers).

Using the built-in SD card interface, PicoRAM Ultimate allows you to save and load full memory dumps (including programs and data) to and from SD card, hence, rendering the cassette interfaces of these SBCs obsolete (if they even came with one; i.e., the ET-3400 required an extra memory expansion + IO box for the cassette interface, and the Lab-Volt 6502 doesn't come with one either).

Supported 

Supported machines (as of June 2025):

  • Multitech Microprofessor MPF-1, -1B, -1P (Z80) 
  • Heathkit ET-3400 (MC6800) 
  • Lab-Volt 6502 Trainer (6502) 
  • Philips MasterLab MC6400 (SC/MP III = INS8070) 
  • Busch Microtronic (well, kind of - this is really a bigger beast, see PicoRAM 2090)

2112 Emulation for the stock, unexpanded Heathkit ET-3400 (4x 2112 SRAMs = 512 bytes): 


Heathkit ET-3400 Memory Expansion Mode (2 KBs of 2112 memory; requires extra GAL 16V8 as an address decoder): 


6116 Emulation (Microprofessor MPF-1B with 2 KBs of 6116 SRAMs; also see PicoRAM 6116): 


2114 Emulation (Lab-Volt 6502 CPU Trainer with 2x 2114 SRAMs, 1 KB): 


Last supported machine - the Philips MasterLab MC6400 (2x 2114 SRAM, 1 KB), a SC/MP III (INS8070) trainer from ~1985:



About

PicoRAM Ultimate replaces some (or all) of the RAM chips of these systems by emulating 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. The utilized FAT file system facilitates data / file exchange with the PC or Mac.

PicoRAM Heathkit

Currently supported SBCs / host machines are:

  • Stock Heathkit ET-3400 (not ET-3400a): MC6800 CPU, either 2x 2112 (512 Bytes) or 4x 2112 (1 KB)
  • Heathkit ET-3400 memory expansion mode: MC6800 CPU, 2 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

The development logs are on Hackaday.

This project is a follow-up to PicoRAM 2090 for the Busch Microtronic Computer System and PicoRAM 6116 for the Microprofessor MPF-1.

Overview

PicoRAM Ultimate is powered directly from the host machine; i.e., via the 5V and GND SRAM socket power pins.

To emulate SRAM, PicoRAM needs memory addresses, the 8bit data bus, as well as chip select and write enable signals. These are provided from either the 2112 sockets, the 2114 sockets, the 6116 socket, or the Heathkit expansion header.

The pinouts of these vintage SRAM chips can be found here:

2112 Chip

2114 Chip

6116 Pinout

The specs of these vintage SRAM chips are:

  • 2112: 256 x 4 bits
  • 2114: 1024 x 4 bits
  • 6116: 2048 x 8 bits

Whereas the primary mode of operation is to simply use ribbon cables connecting PicoRAM to the host machine's SRAM sockets, there is also an extension header option on the PicoRAM PCB that allows to neatly and directly connect PicoRAM to the Heathkit ET-3400. In this case, the address and data bus as well as the control signals are not supplied via the SRAM chip sockets, but over the expansion header. A dedicated address decoder is used in this case (GAL16V8).

PicoRAM generates a READY/BUSY/HALT signal for the CPU in order to suspend CPU operation while it cannot serve the RAM content (i.e., during file or UI operations). Power (VCC = 5V and GND) is fed in from the sockets and connectors as well (i.e., whatever socket / connector is being used to connect to the host machine supplies power to PicoRAM).

PicoRAM has a convenient OLED-based UI. The hexadecimal ASCII-based file representation of the memory content and FAT32 file system facilitates editing and exchange of memory dumps (programs and data) with a PC or Mac.

PicoRAM also offers an auto-load function - programs can be loaded automatically into the host machine when it powers up (as if these were EPROM-based programs).

A number of jumpers must be set to match the host machine. These jumper settings can be found on the PCB as well:

Jumper Settings

Features

  • Supports multiple host machines: ET-3400, Lab-Volt 6502, Microprofessor MPF-1 series, and Philips MasterLab MC6400.

  • Convenient PicoRAM configuration: PicoRAM has one universal...

Read more »

View all 12 project logs

Enjoy this project?

Share

Discussions

dmilholen wrote 2 days ago point

Jetzt sprichst du meine Sprache!

I love these old 8bit microprocessors and all the modern integration that can be done. I have been working with electronics and computers since 1980. I have degrees in industrial automation and tons of certs for telecom and networking but this is one of my favorite hobbies working in the shop repairing 80's arcade PCBs watching them come to life. I learned how to write machine code on the ET3400 back in the 90's :) I joined this just to be able to post and let you know how impressive you did on this project. When I get the time I want to build this and give it a try on my trainer. I also want to expand on this further using arduino and nucleo products. 

Dave

  Are you sure? yes | no

Michael Wessel wrote 2 days ago point

Thanks Dave, that means a lot to me from someone like you who worked in the field since its infancy! Happy to collaborate on any further developments on that  - let me know how it goes when you get to it. Until then, cheers, Michael 

  Are you sure? yes | no

Does this project spark your interest?

Become a member to follow this project and never miss any updates