Skip to content
Henrik Olsson edited this page Sep 1, 2026 · 13 revisions

Firestarter EPROM Programmer


Firestarter

Firestarter is an EPROM programmer. It reads, writes, erases and verifies EPROM, EEPROM, Flash and SRAM chips using an Arduino board and an RURP shield.

It has two halves: firmware that runs on the Arduino, and a firestarter command you run on your own computer.

Getting started

You need an Arduino (Uno, Leonardo, or a 328PB-Uno), an RURP shield, and avrdude — the tool that writes firmware onto the Arduino. On Debian/Ubuntu sudo apt install avrdude, on macOS brew install avrdude; it also ships inside the Arduino IDE and PlatformIO.

1. Install the command

pip install firestarter

2. Plug the board in over USB and flash the firmware

firestarter fw -i

3. Check that it worked

firestarter fw     # the firmware version, and which board answered
firestarter hw     # the shield's hardware revision

Neither of those touches a chip in the socket. If both answer, you are ready to read and write chips.

Reference

  • Programming-Protocols — how each protocol works and which chips it is for
  • Chip-Database-Fields — what every field in the chip database means
  • Pin-Maps — pin maps for every chip family, and the DIP24 adapter
  • Lockable-PROMs — which flash families can report whether they are write-protected
  • Shield-Revisions — telling the RURP shield revisions apart
  • Breaking-Changes — what changed between versions, and what to do about it
  • Shell-Completion — turning on tab completion for firestarter in your shell
  • Contributing — where to report a problem, where to open a pull request, and how cross-repository changes work

Newer chip support lands in the beta first. If you want to run it — and help check chips against real hardware — see Install Beta.

Clone this wiki locally