> For the complete documentation index, see [llms.txt](https://quadfusion.printm3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quadfusion.printm3d.com/getting-started/updating-firmware.md).

# Updating Firmware

Updating your firmware can be important to obtain the latest features and bug fixes. The Duet Maestro board uses a fork of RepRap firmware to control a 3D printer. The latest firmware can be found on DC42's [GitHub Page](https://github.com/dc42/RepRapFirmware/releases). There you can download the *.bin* firmware files and, most importantly, read the change log. Note that some firmware releases are experimental and will be classified as an early-release. This means there is a higher risk of unintended bugs in the firmware version.

**Warning: Updating your firmware can cause unintended consequences. Be aware that upgrading or downgrading to unstable firmware versions can cause unexpected bugs and issues. Use caution!**

## Identifying Firmware Version

In order to find out if you want to update the firmware on the Duet Maestro you need to find your current version. You can view the RepRap firmware version in the Duet Web Console Settings Tab. Alternatively, you can use `M122`, command `M122` is the diagnose/debug command for RepRap firmware. If you send command `M122` the board will display a lot of debug statistics. In the first few lines the board will print out what firmware version it is running. Based on your firmware version, you might be able to identify if you are encountering a specific bug. Check DC42's github page regularly in order to read the latest firmware changes and see if any would be useful to you.

![Checking the RepRap Firmware Version](/files/-LIIGtZ4Gn_qFx58qQCD)

## Upgrading System Firmware via the Duet Web Console

1. Download the desired firmware version from DC42's github page. This will be a *.bin* or binary file called *DuetMaestroFirmware.bin*.
2. Download the *iap4s.bin* file, this is necessary in order to update the firmware.
3. Go to the settings tab of the Duet Web Console and find the *Upload File(s)* button. Note: this is not for uploading prints. Files uploaded here will be stored in the *sys/* directory of the microSD card. Upload the *iap4s.bin* and *DuetMaestroFirmware.bin* files.

   ![aosmza6ID0m8KJ7A-uploadsysfiles.png](/files/-LIIGtZ7ku16xCCvP6tL)
4. Once both files are uploaded successfully, go to the *G-code Console*. Send the command `M997 S0`. This will begin the process of upgrading Duet firmware.
5. When the firmware upgrade is completed, you can visit the *Settings* tab in order to ensure that the *Firmware Version* has been updated to the preferred version.&#x20;
6. If you prefer, you can now delete the *iap4s.bin* and *DuetMaestroFirmware.bin* files from the *sys/* directory.

## Other Resources

1. [Duet 3D Wiki: Updating and Installing Firmware](https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware)
2. [Duet3D Forum](https://forum.duet3d.com/): For firmware and Duet specific questions
3. [Duet Fork of RepRap Firmware](https://github.com/dc42/RepRapFirmware)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://quadfusion.printm3d.com/getting-started/updating-firmware.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
