Repository navigation
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.
- 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.
Install avrdude with the package manager of your system:
sudo apt install avrdude # Debian and Ubuntu
brew install avrdude # macOSThe 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).
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:
pip install firestarter
pipx install firestarteralso works. It puts the CLI in its own environment. -
Make sure that the CLI version is correct:
firestarter --version
The output must show
3.1.0or a later stable version. -
Connect the Arduino to the computer with a USB cable.
-
Install the firmware. Use your board flag:
firestarter fw -i -b uno
-
Make sure that the board answers:
firestarter fw firestarter hw
fwshows the firmware version, the board and the port.hwshows the shield revision. These commands do not operate the chip socket.
When both commands answer, you can read a chip. Refer to Reading Chips.
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.
Do these checks first:
- Make sure that
firestarter --versionandfirestarter fwshow the same first two numbers. - Connect only one programmer to the computer. Or give the port with
-p, for examplefirestarter -p /dev/ttyACM0 fw. - If the firmware install fails, make sure that you used the correct board flag.
- Run the failed command again with
-vfor more output, for examplefirestarter -v fw -i -b uno.
If the problem continues, open an issue. Refer to Contributing for what to include.
Getting started
Using Firestarter
Reference
Project