Innovation
RepRapFirmware was the first open-source firmware to implement significant advances in 3D printing, including:
- Support for mixing extruders (July 2014)
- Precise timing of step pulses, even during acceleration (December 2014)
- Accurate extruder pressure advance, including retraction before the end of a move when needed (December 2014)
- Segmentation-free delta motion (January 2015)
- Least-squares auto calibration of delta printers (April 2015)
- Support for SPI-controlled stepper drivers (August 2016)
- Heater power compensated for changes in supply voltage (November 2017)
Kinematics supported
RepRapFirmware supports the following machine kinematics:
- Cartesian
- Delta
- CoreXY
- CoreXYUV
- SCARA
- Hangprinter
- Polar
- Multiple independent axes - Sometimes called IDEX
Checking firmware versions
To check the firmware versions, go to the Settings page of Duet Web Control and select the General tab. You should see a box listing the versions of the three firmware files, like this:
For production Duet 2 WiFi and Ethernet boards, the minimum recommended version of RepRapFirmware, DuetWifiServer (on the Duet 2 Wifi) and DuetWebControl are:
- Firmware Version (file Duet2CombinedFirmware.bin): 1.21
- WiFi Server Version (file DuetWiFiServer.bin): 1.21
- Web Interface Version (file DuetWebControl.zip): 1.21
Duet 2 boards are shipped with RepRapFirmware installed however are advised check the version installed and if required to upgrade to the latest stable version. To upgrade firmware see the Installing and Updating Firmware page.
Checking versions when not on the network yet
If you cannot get onto DuetWebControl yet because the network is not setup then connect using YAT or another terminal program and use M115 to get a print out of the versions.
Where to get firmware, software and drivers
Duet Generation 3
Duet 3 boards run RepRapFirmware 3 , RRF 2 is not compatible with them. If you are running a Duet 3 Mainboard or Mini using an attached Single Board Computer (SBC) then the firmware update process is part of updating the Duet Software Framework on the SBC. Please see here for more details: Getting Started With Duet 3 MB6HC
If you are running a Duet 3 Mainboard or Mini in stand alone mode (booting of an SD card and using the attached network) then the process is similar to Duet 2. It is highly recommended to read all the notes on the version of firmware you are looking to upgrade to.
For RRF 3 see : https://github.com/Duet3D/RepRapFirmware...
Duet 3 Mainboard 6HC
- It is recommended that in most cases the Duet2and3Firmware-3.x.x.zip is downloaded and then uploaded via DWC. this will ensure that all the firmware, DWC etc is updates at the same time to compatible versions.
- The main firmware file is Duet3Firmware_MB6HC.bin
- The firmware update loader file stored in /sys on the internal SD card is called Duet3_SDiap_MB6HC.bin.
Duet 3 Mini5+ Wifi or Ethernet
Note that the Duet 3 Mini 5+ requires RRF 3.2b3 or later
- It is recommended that in most cases the Duet2and3Firmware-3.x.x.zip is downloaded and then uploaded via DWC. this will ensure that all the firmware, DWC etc is updates at the same time to compatible versions.
- The main firmware file is Duet3Firmware_Mini5plus.uf2
- The firmware update loader file stored in /sys on the internal SD card is called Duet3_SDiap_Mini5plus.bin.
Duet Generation 2
It is highly recommended to read all the notes on the version of firmware you are looking to upgrade to.
For RRF 3 see : https://github.com/Duet3D/RepRapFirmware...
for RRF 2.0 see : Whats New
Stable releases of the dc42 build of main firmware and wifi firmware can be found at
You will also find the appropriate versions of DuetWebControl there (copied from chrishamm's github repository). The files to download depend on which Duet you have.
Duet 2 WiFi
- It is recommended that in most cases the Duet2and3Firmware-3.x.x.zip is downloaded and then uploaded via DWC. this will ensure that all the firmware, DWC etc is updates at the same time to compatible versions.
- The main firmware file is Duet2CombinedFirmware for version 1.21 and later ( DuetWiFiFirmware.bin up to version 1.20)
- The WiFi module firmware is DuetWiFiServer.bin
- The firmware update loader file stored in /sys on the internal SD card is called Duet2CombinedIAP.bin.
- With firmware 1.19 and later, the Duet Web Control files are stored on the SD card in the /www directory
- With firmware version 1.18.2 and earlier, the Duet Web Control files were not stored on the internal SD card. Instead they were uploaded to the WiFi module from file DuetWebControl.bin
Duet 2 Ethernet
- It is recommended that in most cases the Duet2and3Firmware-3.x.x.zip is downloaded and then uploaded via DWC. this will ensure that all the firmware, DWC etc is updates at the same time to compatible versions.
- The main firmware file is Duet2CombinedFirmware for version 1.21 and later ( DuetEthernetFirmware.bin up to version 1.20)
- The web interface is DuetWebControl.zip
- The firmware update loader file stored in /sys on the internal SD card is called Duet3_SDiap_MB6HC.bin.
Duet 2 Maestro
- The main firmware is DuetMaestroFirmware.bin
- The web interface is DuetWebControl.zip
- The firmware update loader file stored in /sys on the internal SD card is called DuetMaestroIAP.bin.
Duet Generation 1 (Duet 06 and Duet 085)
Firmware files for older boards are currently also at https://github.com/dc42/RepRapFirmware/r....
- The main firmware is RepRapFirmware.bin
- The web interface is DuetWebControl.zip
Drivers & helper files
- The firmware update helper file (iap4e.bin for Duet 2 WiFi/Ethernet, iap4s.bin for Duet 2 Maestro, and iap.bin for Generation 1 Duets) is available alongside the main firmware release files in https://github.com/dc42/RepRapFirmware/r....
- The two Windows device driver files which may be required if you want to communicate with the Duet over USB from your PC are here:
- If you need to re-install the main firmware via USB, you will need Atmel's SAM-BA version 2.17 from:
- Alternatively you can install main firmware via USB using Bossa 1.8 from:
Other versions
If you are looking for a version of DuetWebControl that is not associated with a particular release, look in chrishamm's repository at https://github.com/chrishamm/DuetWebCont....
Chrishamm also maintains a fork of RepRapFirmware, his releases are at https://github.com/chrishamm/RepRapFirmw....
Installing and Updating Firmware
See the wiki page on Installing and Updating Firmware
SD card structure
Duet3, Duet 2 Ethernet, Duet 2 WiFi with 1.19 or later firmware, Duet 0.6 and 0.8.5
These Duets use the following folder structure:
Folder /gcodes is used to hold g-code files for printing. You can use subfolders of /gcodes to organize these files. G-code files can also be located on an external SD card if one is connected.
Folder /macros is used to hold used-defined macro files. The names of these files appear as menu entries in DuetWebControl and on PanelDue. You can use subfolders of /macros to organize these files. See Macros for examples of useful user macros.
Folder /sys is used to hold system files and to hold firmware update files ready for installation. It should contain at least the following files:
- config.g holds the firmware configuration script, which is executed at startup.
- config-override.g holds the configuration parameters that were saved when you last ran M500. Your config.g file should normally include command M501 near the end, to load these saved values at startup and override any similar commands earlier in config.g.
- homex.g, homey.g, homez.g and homeall.g are the homing scripts for a Cartesian or CoreXY printer. For a delta printer there is homedelta.g instead.
- bed.g holds the script for probing the bed and calculating bed compensation on a Cartesian or CoreXY printer, or doing delta calibration on a delta printer.
- pause.g is run when you pause a print.
- resume.g is run when you resume a print.
- cancel.g is optional, but if present is run when you cancel a paused print.
- start.g is optional, but if present is run whenever you start a job from the SD card
- stop.g is optional, but if present is run when a SD card print finishes normally with a M0 command at the end of the print job.
- iap4e.bin (Duet WiFi/Ethernet) or iap4s.bin (Duet Maestro) is a helper file used to install new main firmware. In RepRapFirmware 3.x, file Duet2CombinedIAP.bin or DuetMaestroIAP.bin is used instead.
- trigger2.g, trigger3.g, ... are optional files that can be configured to run when particular endstop pins are triggered, for example by an emergency-stop button.
- If your Z probe needs to be deployed and retracted, the script files deployprobe.g and retractprobe.g are used. They are invoked automatically and by the M401 and M402 commands.
Folder /menu. This holds the files that define the menu layouts for 128x64 pixel monochrome displays. Compatible with Duet 3 mini 5+ and Duet 2 Maestro
NOTE: the folders /gcodes, /macros, /sys and /menu must be named exactly as shown. Often the distribution of configuration for a specific printer platform will come with the folder named /sys-<printer_type> the -<printer_type> must be removed.
The config tool can be used to setup these files for your printer type:
https://configtool.reprapfirmware.org/St...
The /www folder and its subfolders hold the files served by the web server. If you are setting up a new SD card, populate the /www folder by extracting the contents of the DuetWebControl.zip file to it.
More information on where to get the firmware files and Duet Web Control files is explained lower down on this in the where to get firmware, software and drivers section.
Duet 2 WiFi with firmware 1.18.2 or earlier
The Duet 2 WiFi with pre-1.19 firmware requires the following folders on the internal SD card:
These folders have the same function as described earlier on this page. The web server files are stored in file DuetWebControl.bin which is uploaded to the WiFi module.
We recommend updating to the latest stable version of the firmware as each stable version includes more functionality and bug fixes.
Changes to config gcodes and firmware behaviour between Duet 2 and Duet 0.8.5 / 0.6
This is how the Duet 2 WiFi and Duet 2 Ethernet firmware differs from the Duet 0.8.5 and 0.6.
- Networking is disabled at startup by default. Use M552 S1 in config.g to enable it at startup. A M552 S1 command in config.g will only take effect after the rest of config.g has been fully processed.
- On the Duet 2 WiFi, setting the IP address using M552 has no effect. The IP address will be allocated by your WiFi router using DHCP. Likewise, the M553 and M554 commands to set the netmask and gateway have no effect. With firmware 1.19 and later you can set these parameters individually for each access point you connect to, using the M587 command.
- On the Duet 2 WiFi, the M540 command (set MAC address) has no effect.
- The M350 command to change microstepping is supported . For example, M350 X128 I0 will set the X drive to 128x microstepping without interpolation. The steps/mm will be adjusted automatically when you change microstepping. We suggest that in your config.g file you set microstepping before you set the steps/mm. Microstepping defaults to 16x with interpolation.
- The thermistor series resistance defaults to 4700 instead of 1000 (R parameter in M305 command).
- The bed thermistor resistance defaults to 100000 instead of 10000 (T parameter in M305 command). If you are using the DuetWiFi to control an Ormerod printer, you will need to use T10000 in the M305 P0 command.
- The hot end thermistor B value defaults to 4388 (M305 command). This is the correct value for the Semitec 104GT-2 thermistor used in the popular E3D hot ends, to give accurate readings around 220C. For the Honeywell 135-104QAD-J01 thermistor used in RepRapPro hot ends, use 4138.
- The M305 H and L parameters are still supported for the moment, but they should not be needed because the ADC is calibrated automatically. Please let us know if you find that you still need them.
- By default, the X and Y axes are homed using endstop switches and the Z axis is homed using the Z probe. This is different from RepRapFirmware for the Duet 0.6 and 0.8.5, which use the Z probe to home the X axis by default as well.
- On the Duet 2 WiFi, the M997 command has additional options controlled by the S parameter, to update the WiFi firmware.
Firmware differences from Marlin, Repetier etc
See The firmware differences between RepRapFirmware and Marlin, Repetier etc page
Known firmware issues and limitations
Version 1.19 firmware used with DuetWebControl 1. 19 had the following known issues and limitations:
- Connecting to the Duet 2 WiFi by name only works if your client device supports mDNS protocol (e.g. Apple Bonjour service). Otherwise you have to connect to it by IP address.
- The Duet 2 Ethernet and Duet 2 Maestro do not yet support mDNS, please connect to the IP address.
- You cannot change microstepping on the fly during a print, because you must re-home the printer after changing microstepping.
- The diagnostic LED is not currently used. In future it will be used to indicate progress of firmware updates, and for other purposes.
Printing over USB connection (Octoprint, Cura, Simplify3D, Etc.)
The Duet control board supports printing your gcode files over a USB connection streamed by a gcode sender software like those mentioned in the title. However, there are limitations, including, but not limited to:
- Print statistics, such as remaining time estimation, current layer etc, not showing.
- Pause print will have to be handled by the GCode sender, and will take longer because all queued moves will have to complete before the pause takes place.
- Filament sensors will not function.
- Resume after power fail will not function.
- Print speed may be limited because many GCode senders can't supply data fast enough over USB, so print time may be extended.
It is strongly recommended that you use the Duet Web Control for machine control and the internal SD card for gcode printing, however, if your application requires printing over USB, such as using the Mosaic Palette, it will work as expected, with the above limitations.
5 Comments
link is broken for sd card foler structure
Brian Carroll - Reply
Hello,
Do you know if a Duet board is installed in the printer AlfaWise U20 One and if yes which model is it?
Sorry if it’s the not good place for this question…
Regards,
Dominique MALIGNE - Reply
Can I please just have somewhere so I can download firmware every link I go on it just gives a link for release notes of latest version.
There is no point in being redirected from latest version to what's new to what's changed unless I can actually download the firmware at least with marlin it easy to get the firmware
Peter jarvie - Reply
Peter the link above to RepRapFirmware Releases (https://github.com/dc42/RepRapFirmware/r...) takes you to the latest firmware.
Tony -
The SD card structure should now also contain a directory /filaments. If that folder is not present on the SD card when you try to add a filament, an error is thrown.
Joep - Reply