This release is a pre-release and may not be stable for production use.
Firestarter
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_prom — what Firestarter is, what hardware you need, and how to read your first chip.
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.
The CLI and the firmware are upgraded together. A mismatched pair fails with a timeout or a decode error — see Breaking Changes.
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.
Contributing
See the Contributing wiki page for where to report a problem and where to open a pull request.
License
Support me
Support me on ko-fi to keep me motivated to continue to develop Firestarter.
Release files for firestarter 3.0.0b37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| firestarter-3.0.0b37.tar.gz | 876.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| firestarter-3.0.0b37-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / firestarter-3.0.0b37.tar.gz
| Download URL | firestarter-3.0.0b37.tar.gz |
|---|---|
| Size | 876.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec8ed78e2de1c771b6ee3cb97a2615e1440df3a6495ed3413d652ef153a17d68
|
|
BLAKE2b-256 checksum How to use checksums |
4abc584e8c3a651bebcf3f0385d48d909dd95cb2ea548e1ecb1d23641b974568
|
| 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.0.0b37-py3-none-any.whl
| Download URL | firestarter-3.0.0b37-py3-none-any.whl |
|---|---|
| Size | 281.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f01c5acbc68ee250189b48ddbc17a96a1c8b06bdb58fd0a9580871b0e6eb7d4
|
|
BLAKE2b-256 checksum How to use checksums |
e72ace3e9dc7892fb16a86df4b179d55f23fc13898f21f508c95c12aab784f84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|