> For the complete documentation index, see [llms.txt](https://docs.racemap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.racemap.com/gps-devices/config/firmware.md).

# Update firmware

* Add the GPS devices to Tracker Management

{% content-ref url="/pages/9zKei47tnVUSkRlJC5Bv" %}
[Add GPS trackers](/tracker-management/add-devices.md)
{% endcontent-ref %}

* Turn devices on
* Wait for devices have connected with RACEMAP
* Send message "Start Firmware Update", the command triggers four times to update the hosted firmware.

{% content-ref url="/pages/WEc6rUIhSCe1qyxMD4Sa" %}
[Send messages](/tracker-management/messages.md)
{% endcontent-ref %}

<figure><img src="/files/FjVDS1x1oNxcklabDpRp" alt="" width="545"><figcaption></figcaption></figure>

{% hint style="info" %}

#### Hints for a smooth firmware update

* The firmware file must be hosted on HTTP. HTTPS is not supported — the tracker cannot download from HTTPS URLs.
* Reboot the GPS tracker before sending the "Update firmware" message.
* The device must hold a stable server connection for the entire duration of the update. Any interruption will cause it to fail.
  * Avoid basements and enclosed rooms — poor signal is the most common reason updates fail.
  * Before starting, configure the device for stability: disable non-movement detection and set a high-frequency report interval (e.g., 10 sec / 10 sec).
  * Use the SIG column in [tracker management](/tracker-management.md) to verify signal strength before triggering the update.\
    ![](/files/H7INwra15E0aKQAmtG1e)
    {% endhint %}

{% tabs %}
{% tab title="GL320M" %}
hosted FW: R01A13V03\_R10A02V03

```
AT+GTUPD=gl320m,0,3,10,0,,,http://static-cdn.racemap.com/trackers/firmwares/gl320m/latest.enc,,0,,,0001$
```

Important: Devices running older firmware must first be updated to R01A12V09, which is the required bridge firmware, before applying the latest version. This is the URL for FW: R01A12V09 <http://static-cdn.racemap.com/trackers/firmwares/gl320m/R01A12V09/GL320M_B7K1_R01A12V09.enc>
{% endtab %}

{% tab title="GL310M" %}
hosted FW: R01A11V05

```
AT+GTUPD=gl310m,0,3,10,0,,,http://static-cdn.racemap.com/trackers/firmwares/gl310m/latest.enc,,0,,,0001$
```

{% endtab %}

{% tab title="GL300M" %}
hosted FW: R20A14V02

```
AT+GTUPD=gl300m,0,3,10,0,,,http://static-cdn.racemap.com/trackers/firmwares/gl300m/latest.enc,,0,,,0001$
```

{% endtab %}
{% endtabs %}

* Updating the firmware does not reset the previous configuration.
* Updating the firmware can be done while charging devices.
* If the battery level is too low the device aborts the update process.
* You might send the custom command `AT+GTUPD` multiple times as devices might fail to complete downloading the firmware.
* Devices automatically reboot after installing the new firmware, which you observe by flashing LEDs. GL320M and GL310M flash with blue LED, GL300M does not noticeably flash with blue LED.
* Devices remain turned on and will try to reconnect with the tracker management.
* The firmware version in the tracker management is automatically updated. Verify the tracker info.

<figure><img src="/files/jkUY27W2sFpp2daRhOHX" alt="" width="375"><figcaption><p>Current fw version of devices is automatically requested</p></figcaption></figure>


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.racemap.com/gps-devices/config/firmware.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
