This is a simple project for reading 28-pin ROMs, and for reading or writing 28-pin EEPROMs. It works with the pinout of ROMs and EEPROMs like 28c64, 28c128, 28c256, and so on.
These ROM types are commonly used in 8-bit computers; old computers (like the BBC Micro and Spectrum), old arcade machines, and homemade computer projects.
This project started out as a blog post that explained (by demonstration) how parallel ROMs work and how to read data from them. This would be of interest to anyone who tinkers with old computers or arcade machines – I originally wrote about it as part of building my homemade 6502 computer.
I followed this up with an article on how to write to EEPROMs, and have also provided Windows utilities to help.
Want to buy the kit?
As part of these investigations I built my own mini shield for sitting on top of an Arduino Mega 2560. I’ve had a number of messages over the last year or two from readers who had some trouble with their own experiments, or wanted to buy a pre-designed PCB … so this shield is now available to buy as an easily-assembled kit from Tindie. Click on the Tindie badge on the right to go to my store.
Be nice … it’s my first attempt at selling DIY kits. 🙂
- Schematic (very simple, but useful reference): Here
- Sketch for Arduino Mega: GitHub page, or just download latest version 0.02
- Command-line utility for Windows, to read/write EEPROMs: EEPROMmer v5.zip (v5, 10th Dec 2017)
- Source-code for above command-line utility for Windows: here on Github
- Windows app to read/write EEPROMs: eewriter.zip (Early version – treat with care!)
- Chris Baird’s Python script (an alternative controller for non-Windows users). Chris classes it as something he “knocked up in a hurry” so it should be treated with care … but if you’re a Python programmer, it might be a very useful starter for you. megaprogrammer28.py (5KB)
Original blog posts:
- February 2014 – Reading a Parallel ROM with an Arduino
- January 2016 – DIY EEPROM programmer
- November 2017 – New Windows utility for EEPROM Writer
- December 2017 – “Write-protect” support for Atmel EEPROMs
- January 2018 – Six weeks later …
- July 2018 – A teeny-tiny bugfix-ette
- December 2020 – new PCB update
- October 2021 – Communicating with the Arduino sketch without the utilities