Skip to content

Install

Henrik Olsson edited this page Sep 28, 2026 · 6 revisions

Firestarter EPROM Programmer

Install

This page installs the stable release, 3.1.0, of the firestarter CLI and its firmware. For pre-release versions, refer to Beta Channel.

What you need

  • An Arduino Uno, an Arduino Leonardo, or an Uno-shaped board with an ATmega328PB.
  • An RURP shield. Refer to Shield Revisions.
  • Python 3.11 or later.
  • avrdude. The CLI uses avrdude to write the firmware to the Arduino.

Get avrdude

Install avrdude with the package manager of your system:

sudo apt install avrdude    # Debian and Ubuntu
brew install avrdude        # macOS

The Arduino IDE and PlatformIO also include avrdude. The CLI looks for avrdude on your PATH. If avrdude is in a different directory, give it with --avrdude-path. With an avrdude older than 7.0, the CLI also needs avrdude.conf. By default it looks in the avrdude directory. Give a different location with -c (--avrdude-config-path).

Find your board flag

The CLI installs one firmware image for each type of board. Look at the main chip of your board:

Your board Board flag Chip marking
Arduino Uno -b uno ATMEGA328P
Arduino Leonardo -b leonardo ATMEGA32U4
Uno-shaped board with a 328PB -b uno328pb ATMEGA328PB, with a B at the end

A 328PB board looks the same as an Uno. Only the chip marking is different. If avrdude stops with a signature error, you used the wrong board flag.

Install the CLI and the firmware

  1. Install the CLI:

    pip install firestarter

    pipx install firestarter also works. It puts the CLI in its own environment.

  2. Make sure that the CLI version is correct:

    firestarter --version

    The output must show 3.1.0 or a later stable version.

  3. Connect the Arduino to the computer with a USB cable.

  4. Install the firmware. Use your board flag:

    firestarter fw -i -b uno
  5. Make sure that the board answers:

    firestarter fw
    firestarter hw

    fw shows the firmware version, the board and the port. hw shows the shield revision. These commands do not operate the chip socket.

When both commands answer, you can read a chip. Refer to Reading Chips.

Install a firmware file by hand

The CLI installs the firmware for you. To install a file by hand, download firestarter_<board>.hex from the firmware releases and write it to the Arduino with avrdude. Use a release with the same first two version numbers as your CLI.

If you have a chip database override in ~/.firestarter/database.json, write it again with the 3.x field names. Refer to Chip Database Fields.

If something goes wrong

Do these checks first:

  1. Make sure that firestarter --version and firestarter fw show the same first two numbers.
  2. Connect only one programmer to the computer. Or give the port with -p, for example firestarter -p /dev/ttyACM0 fw.
  3. If the firmware install fails, make sure that you used the correct board flag.
  4. Run the failed command again with -v for more output, for example firestarter -v fw -i -b uno.

If the problem continues, open an issue. Refer to Contributing for what to include.

Clone this wiki locally