Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Firestarter EPROM Programmer


Firestarter

PyPI version License: MIT ko-fi


Command-line tool for the Firestarter EPROM programmer — an Arduino with a Relatively-Universal-ROM-Programmer (RURP) shield. It reads, writes, erases and verifies EPROM, EEPROM, Flash and SRAM chips, from a database of 746 parts across 59 manufacturers.

New here? Start at firestarter — what Firestarter is, what hardware you need, and how to read your first chip.

Firestarter is an application for the Relatively-Universal-ROM-Programmer RURP Arduino shield (get one here).

Firestarter in action: watch the video.

Anders S Nielsen, creator of the Relatively-Universal-ROM-Programmer, talks about Firestarter: watch the video.

Support and discussion forum on Discord.

Table of contents

Installation

pip install firestarter

Then flash the matching firmware to your board and check it answers:

firestarter fw -i
firestarter hw

Flashing needs avrdude on your PATH.

Pre-release channel

pip install --pre firestarter
firestarter fw -i --pre

--pre opts into pre-release versions on PyPI; plain pip install firestarter only ever installs the latest stable release.

Upgrade the CLI first, then the firmware. From 3.1.0b1, not every mismatched CLI and firmware pairing is refused — some mixed pairs keep working while others fail quietly. See Breaking Changes for which pairings work.

firestarter fw refuses to install firmware newer than the CLI, so the CLI is never left unable to talk to the board it just flashed. --allow-newer-firmware installs anyway; that pairing is not tested.

Usage

firestarter [OPTIONS] COMMAND [ARGS]

Global options: -v/--verbose, -p/--port to override the saved serial port, --version.

Find your chip, then read it:

firestarter search 27C256
firestarter info AM27C256
firestarter read AM27C256 dump.bin

Commands

Command What it does
read Read a chip to a file
write Write a binary file to a chip
verify Verify a chip against a file
blank Check whether a chip is blank
erase Erase a chip, where the family supports it
id Read the chip's manufacturer and device ID
info Show what the database knows about a chip
list List every chip in the database
search Search the database
fw Firmware version; -i installs
hw Shield hardware revision
vpp / vpe Read the programming rail voltages
config Read and set configuration values
dev Development and diagnostic commands, including dev test

Every command takes --help.

Configuration

Settings live in ~/.firestarter/config.json, managed with firestarter config.

You can add or override chips with your own ~/.firestarter/database.json; entries there take precedence over the shipped database. The field reference is Chip Database Fields.

Documentation

Everything else is on the Firestarter wiki — supported chips and protocols, pin maps and adapters, shield revisions, and how to test a chip against real hardware. Chips with an open problem are on Known Issues.

Per-version changes are in CHANGELOG.md.

Contributing

See the Contributing wiki page for where to report a problem and where to open a pull request.

License

MIT

Support me

Support me on ko-fi to keep me motivated to continue to develop Firestarter.

Buy Me a Coffee at ko-fi.com

Metadata

Release files for firestarter 3.1.0b6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firestarter 3.1.0b6
File Size Uploaded Provenance Actions
firestarter-3.1.0b6.tar.gz 958.1 kB Without provenance Details for firestarter-3.1.0b6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for firestarter 3.1.0b6
File Interpreter ABI Platform Actions
firestarter-3.1.0b6-py3-none-any.whl Python 3 none any Details for firestarter-3.1.0b6-py3-none-any.whl

Total release size: 1.3 MB

Release files / firestarter-3.1.0b6.tar.gz

Download URL firestarter-3.1.0b6.tar.gz
Size 958.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7538245c5c9dc7fcf38b6f733a22461de06ef35bf9c119cea68af5ba0ca83526
BLAKE2b-256 checksum
How to use checksums
8ba61d26bc4c4dffdea73f569c1be132141752df87e4f8a124d616fdb22ffe07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / firestarter-3.1.0b6-py3-none-any.whl

Download URL firestarter-3.1.0b6-py3-none-any.whl
Size 371.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5c53ed0a00b7df9156a9602dc41aaeae672460f8f3ecc7634624a73c00e86dfa
BLAKE2b-256 checksum
How to use checksums
7faeb9cd9e717b191ba61532d34957a2bde4417928d3649e4d503a02d40b2a3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for firestarter 3.1.0b6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page