# Firmware Update

## Upgrading FW via OTA (Preferred)

Once powered on, the Module will act as a WiFi Access Point. Connect to the RID\_xxxxxxxxxxx WiFi network, and the default password is *ArduRemoteID*

After connecting to this WiFi network, point your browser to <http://192.168.4.1>\
At the bottom of the page, you can upload and flash the new firmware.

Download the ***ArduRemoteID\_Holybro\_RemoteID\_OTA.bin*** file from the latest release from this page: <https://github.com/ArduPilot/ArduRemoteID/releases>

Use this file for uploading the new firmware. Press the update button to update the firmware.

<figure><img src="https://2367252986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLIgtGDAvVGkCKGOJb1bR%2Fuploads%2F0F1HALxcE2htol4g19Gb%2Fimage.png?alt=media&#x26;token=918ecf41-296f-4797-939e-aa24435374fd" alt=""><figcaption></figcaption></figure>

## Flashing FW via Serial interface

{% hint style="info" %}
It is recommended to use the OTA firmware upgrade method instead
{% endhint %}

You can also use the serial interface to flash new firmware, but the existing firmware will be completely overwritten with the new firmware. If you flash the wrong file, the module will not boot. In such a case, you can use this same method to flash the correct FW.

Use a [USB-UART board](https://holybro.com/products/uart-to-usb-converter) to connect to the REMOTEID UART port with a 6PIN GH Cable

<div align="left"><figure><img src="https://2367252986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLIgtGDAvVGkCKGOJb1bR%2Fuploads%2FdEBnrbGYqDRjrTRr5Kx3%2FRemoteID%20UART-USB.jpg?alt=media&#x26;token=b86e2536-ff72-4bd5-9017-046a80ac40cf" alt="" width="375"><figcaption></figcaption></figure></div>

### For Windows users

* You need to install the Flash Download Tools from this page: <https://www.espressif.com/en/support/download/other-tools>
* Hold down the Boot button while you power the module.

&#x20;![](https://2367252986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLIgtGDAvVGkCKGOJb1bR%2Fuploads%2FkKMZg3Z6BYJacba1TZmb%2FRemoteID%20Boot%20Button.jpg?alt=media\&token=d51aeed7-4282-4a6f-9cfc-605f1b73eaa7)

* Download the latest firmware (*ArduRemoteID\_Holybro\_RemoteID.bin*) from this link: <https://github.com/ArduPilot/ArduRemoteID/releases>
* Select the ChipType: ESP32-C3 and press OK.&#x20;

<div align="left"><figure><img src="https://2367252986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLIgtGDAvVGkCKGOJb1bR%2Fuploads%2FFTYGVCjmAqHYS0Z9JX4y%2FRemoteID%20ESP32-C3.png?alt=media&#x26;token=59833027-0350-4201-9f2d-6309a88e8a13" alt="" width="137"><figcaption></figcaption></figure></div>

* Select the firmware, enter 0x0000, ensure the serial com port number baud rate is correct, and click START to start the flash process.

<div align="left"><figure><img src="https://2367252986-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLIgtGDAvVGkCKGOJb1bR%2Fuploads%2Fth6ShoCZT2uSAGXKRUlw%2FRemoteID%20ESP32-C3%20Flash.png?alt=media&#x26;token=1730e894-5a51-4d1e-844b-1b6a94fac71e" alt="" width="263"><figcaption></figcaption></figure></div>

&#x20;Reference: <https://github.com/ArduPilot/ArduRemoteID#flashing>

### &#x20;For Linux/macOS

For Linux operating systems, please install the ESP-IDF environment. This is described on this page:

<https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html>

Note:

* In Step 3. Set up the tools using this command: `./install.sh esp32c3`
* `/dev/ttyUSB0` indicates the port of the USB-to-UART converter; change if your converter
* `./ArduRemoteID-Holybro_RemoteID.bin` is the location of the firmware file.

Use the following command to flash the firmware (one line):

`esptool.py --chip esp32c3 --port=/dev/ttyUSB0 --baud=921600 --before=no_reset --after=no_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x0 ./ArduRemoteID-Holybro_RemoteID.bin`

&#x20;After the command has successfully flashed the firmware, disconnect the USB cable and connect it to the controller again. This will exit download mode and return to normal booting of the firmware.


---

# 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://docs.holybro.com/radio/remote-id/firmware-update.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.
