Duet Firmware Update

From RepRap
Jump to: navigation, search

Get the firmware file

You shall first get the firmware version file needed for the firmware update. There are multiple forks, so have a look here. click "view raw" to get the original file and save it on your hard-drive. You shall also check that you still have the file of the actual firmware version in case you need to revert to it. You may also have a look at release notes.

Only DC42 (and Chrishamm) forks manage Delta and CoreXY printers. These two forks are the only being still in development and there are exchanges between them.

File name structure is : RepRapFirmware-XXX-DD-MM-YYYY.bin, where XXX is the version, and DD-MM-YYYY is the date of the firmware.

Github downloading can be confusing and you may accidentally download the html page instead of the binary file. Check the size which shall be approximately 270 kB.

In application update

From versions 1.09v of Chrishamm fork and 1.09x of DC42 fork, it is now possible to make the update without connecting via USB, with the M997 command or directly with an upload via web interface.

If you upload a firmware file via web interface "settings" "General", button "load file(s)", at the end of uploading, the interface will tell you that you have uploaded a firmware file and ask if you want to update immediately. Clicking "yes" will starts the update and one minute later, it is done. You may need to reload the interface in your browser after the update to get proper connection to the board.

For this to work, you shall have first updated the firmware to a version above the one listed, which shall be done via traditional USB method (see further paragraph). Also, you shall have in the /sys directory the file iap.bin .

The iap.bin file could be uploaded via the web interface, with same command as above ("settings" "General", button "load file(s)").

iap.bin could be found on Chrishamm github or DC42 github (modified version).

Alternatively, you could set the files on the SD card directly or via FTP on /sys directory:

  • iap.bin - this is needed for in application firmware update and will stay permanently, so shall be done only once.
  • RepRapFirmware.bin - with this exact name, no version descriptive characters

Web interface upload will modify the firmware file name automatically and remove the version reference, so you can upload the firmware file with its native name.

While files are on SD card, to update, simply execute the command M997 without any parameter. The file "RepRapFirmware.bin" will be erased from the SD card after the firmware update.

Update via USB link

How it works

To update the Duet Firmware, you need to connect the Duet to your PC via an USB cable. During the update, the transmission speed is low (1200 bauds), so you can use a relatively long USB cable, if needed.

The firmware is transferred to the board via a program named Bossac, as found on an old version of Arduino development environment (IDE), the version of IDE to get it is the 1.5.5. (in C:\Arduino-1.5.5\hardware\tools\bossac.exe ) Note that there is a GUI Bossa program which does not work on the Duet. Use only the command line program version 1.3a.

Plug the USB cable

Plug the USB cable. The 5V supplied by USB may be sufficient to power the board if there is no accessories attached to the 5V supply. You may also power normally the board if there are others 5V consumers (e.g. fans) or if the 5V of your computer is weak (portable computers).

Erase existing firmware

Prior updating, the board firmware shall be erased and the board re-initialized.

Duet 0.6 Reset and Erase buttons
  • On the Duet 0.6, the erase and reset buttons are on the face of the board, the erase button between Ethernet connector and SD card slot, the reset button aside the USB connector.
Duet 0.8.5 Reset and Erase buttons
  • On the Duet 0.8.5, these two buttons are on the side of the board beside the connectors, so there is no need to open the printer or board cover.

Press the erase button, wait at least 5 seconds then press the reset button and wait 15 seconds for the board to restart.

Erasing the firmware place the board in a special communication mode and it became a serial peripheral visible by the computer under name 'BOSSA Program port'.


On Windows

Check proper communication with PC

Check first that the board is in communication with the computer and is ready for update by checking in the Windows Device Manager paragraph [Ports (COM and LPT)] that the board is shown as a COM port (e.g. COM5) under the name 'Bossa'. If it is shown as an Arduino Due, the erase had not worked and shall be redone.

  • W7:[Windows][type in search box: Device manager]
  • W10:[Windows + X][Device manager]

Install the bossac.exe program and the firmware file in a temporary directory (e.g. c:\mytmp) Then open a command prompt window and go to the temporary directory (e.g. type: cd c:\mytmp) Then type :

 bossac.exe -e -w -v -b RepRapFirmware-XXX-DD-MM-YYYY.bin

with the '.bin' file corresponding to your firmware update version file. There are messages during the update, which is checked after the upload.


see this post on think3dprint3d blog:

On Linux

Check update is properly done

To check the version, you have to unpower/repower (or reset) the board, and you can check the version on the web interface, in the tab 'settings'. Beware the board does not start instantly, neither the web interface communication and you may wait a few seconds to see the version.

Update configuration and image

Sometimes, firmware update may require modifications of the config file and update of macros files on the SD card (SD “image”).

Check the release notes of the uploaded version and ALL the release notes of the intermediate versions between your former and actual version.

You shall NOT make a complete update of an existing SD image already adapted to your configuration, as it most probably will break your configuration. A close look and comparison of new or modified macros will help you judge the pertinence of modifications.

In particular, in addition to config.g, you shall preserve the macros in /sys directory, as they often target specific positions in a given machine.

Firmware update may also need an update of the Web Control image to work properly, which could be found on Chrishamm github /www/js/model.js and /www/js/viewmodel.js may need to be preserved if they have been modified, or the new files shall be updated with same modifications as existing ones.

Use FTP to transfer new files on the SD card

The simplest way to transfer files between your computer and the Duet is to use an FTP file transfer program (e.g. file management program 'Total Commander' which incorporate a FTP module). This needs an Ethernet connection to the Duet.

To connect in FTP to the board, use any login you want (e.g. 'admin') and the password as it is recorded in your config file (e.g. 'M551 Pmypassword') The first 'P' define following letters as a parameter and is not part of the password. Default password is 'reprap'. Password is case sensitive.

The password is also defined in the web interface file 'www\js\interface.js' or 'www\js\model.js' in recent Duet Web Control versions. This file shall be modified accordingly for a new password.

See also

External links

In addition to site licence GFDL1.2, this page is also released under license CC BY-SA 4.0