This plugin can be used to flash pre-compiled firmware images to your printer from a file or URL.
Works with boards with Atmel AVR family 8-bit MCUs (Atmega1280, Atmega1284p, and Atmega2560) MCUs, and Atmel SAM family 32-bit MCUs (Arduino DUE).
Install via the bundled Plugin Manager or manually using this URL:
https://github.com/OctoPrint/OctoPrint-FirmwareUpdater/archive/master.zip
The appropriate flashing tool also needs to be installed. For 8-bit MCUs the tools is avrdude, for 32-bit MCUs the tool is bossac.
AVRDUDE needs to be installed on the server where OctoPrint is running.
sudo apt-get update
sudo apt-get install avrdude
Information about the package needed can be found here Ubuntu avrdude package
sudo add-apt-repository ppa:pmjdebruijn/avrdude-release
sudo apt-get update
sudo apt-get install avrdude
Bossac cannot be installed using a package manager as the packaged version is out of date and will not work. Installation from source is straight-forward.
cd ~/
sudo apt-get install libwxgtk3.0-dev libreadline-dev
wget https://github.com/shumatech/BOSSA/archive/1.7.0.zip
unzip 1.7.0.zip
cd BOSSA-1.7.0
./arduino/make_package.sh
sudo cp ~/BOSSA-1.7.0/bin/bossac /usr/local/bin/
In order to be able to flash firmware we need to select and configure a flash method. Once the flash method is selected additional options will be available.
The minimum settings are:
- Path to avrdude
- AVR MCU Type
- AVR Programmer Type
Typical MCU/programmer combinations are:
AVR MCU | Programmer | Example Board |
---|---|---|
Atmega1284p | arduino | Anet A series |
Atmega2560 | wiring | RAMPS, RAMbo, etc. |
Atmega644p | arduino | Sanguinololu, Melzi |
All advanced settings are optional.
The only required setting is the path to the bossac binary.All advanced settings are optional.
You can use the post-flash gcode settings to run gcode commands after a successful firmware flash.
The post-flash code will run more or less immediately if the printer was connected before the flash started (so reconnects automatically when the flash finishes), or whenever the printer is manually reconnected after the firmware is flashed.