# 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!**

## Identify 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/-LH1Zes5nqDELE-hbOwd)

## Upgrade: Via the Web Control

Download the desired firmware version from DC42's github page.&#x20;

* *DuetMaestroFirmware.bin*
* *iap4s.bin*

{% hint style="info" %}
iap4s.bin is not readily part of new.
{% endhint %}

Go to the settings tab of the Duet Web Console and find the *Upload File(s)* button.&#x20;

{% hint style="warning" %}
This is not for uploading prints.
{% endhint %}

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/-LH1ZesBO7WdL-F1AEMl)

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.

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;

If you prefer, you can now delete the *iap4s.bin* and *DuetMaestroFirmware.bin* files from the *sys/* directory.

## Upgrade: Via the USB cable

{% hint style="info" %}
You need an additional jumper.&#x20;
{% endhint %}

#### We are first going to erase the Duet board's firmware.

***Turn Off*** the Power Switch

Install the jumper into ERASE.

![The ERASE jumper.](/files/-LQ-d8LgGVW8HFkUTjAF)

***Turn*** ***On*** the Power Switch.&#x20;

Wait 3 seconds. Press the Reset button.

![The Reset Button](/files/-LQ-dSSdLeLn2VM7uH5Q)

Wait 3 seconds. Turn Off the Power Switch.

Remove the ERASE jumper.

#### The firmware is now erased. Let's install the new firmware.

Connect your USB cable to the Duet Board & your computer.

![The Micro-USB ](/files/-LQ-dwIW7NiJv7MQwXSA)

Open the BOSSA program.&#x20;

{% hint style="info" %}
If not installed, [download](https://github.com/shumatech/BOSSA/releases) here. Use version BOSSA 1.8.
{% endhint %}

![BOSSA Window](/files/-LQ-gpTmuoRpA11fx9z0)

Choose the correct COM port.

![COM Port Location](/files/-LQ-hAlO00YcwZXpCKMd)

Check and/or Uncheck these boxes.

![Match The Check (and Unchecked) Boxes](/files/-LQ-gDz0kxphcVg2gynX)

Link to the firmware.

{% hint style="info" %}
The firmware file is probably in the ***Download*** folder.
{% endhint %}

![Link to Firmware](/files/-LQ-gZu6AqzDZ9Dzad0-)

Press Write.

![](/files/-LQ-hCk-wUGLZ9fumqgn)

Done.

## 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: 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://promega.printm3d.com/documentation/software-firmware/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.
