# Upgrading Firmware

## Overview

This page will discuss how to upgrade the firmware on your robot radio.

## Instructions

{% stepper %}
{% step %}

### Download The Latest Firmware

Before you begin, download a copy of the[ latest firmware](/overview/firmware-releases.md) to your computer.&#x20;
{% endstep %}

{% step %}

### Configure Your Computer

There are two options to configure your computer:

{% tabs %}
{% tab title="DHCP" %}
If the configuring computer has it's network interface configured to obtain an IP address via DHCP, the computer will be able to reach the VH-109 device at `10.XX.YY.1` (Client/STA mode) or `10.XX.YY.4` (AP mode).&#x20;

VH-109's programmed at the factory are configured to team #1 in Client/STA mode, setting the IP address to `10.0.1.1`.
{% endtab %}

{% tab title="Network Assistant Tool" %}
The [Network Assistant Tool](/overview/programming-your-radio-at-home/network-assistant-tool.md) is a custom tool developed by Vivid-Hosting to configure your computer to connect to your VH-109 radio.&#x20;

Use the instructions on the Network Assistant Tool page to set a static IP address on your computer, then proceed to Step 2.
{% endtab %}

{% tab title="Manually Assign Static IP" %}
The VH-109 device is also pre-programmed with a failsafe/management IP address in the `192.168.69.0/24` subnet to reach the management IP of the VH-109 radio.\
\
For example, the network interface on your driver station laptop can be temporarily configured to:

| IP Address    | `192.168.69.2`                |
| ------------- | ----------------------------- |
| Subnet Mask   | `255.255.255.0`               |
| Gateway       | `Leave Blank`                 |
| DNS           | `192.168.69.1 or Leave Blank` |
| {% endtab %}  |                               |
| {% endtabs %} |                               |
| {% endstep %} |                               |

{% step %}

### Connect To Your Radio

Create a wired or wireless connection between the computer and the radio.
{% endstep %}

{% step %}

### Navigate To The Radio's Configuration Page

Depending on the type of connection, this can be reached one of three ways:

| Wired                                      | `http://192.168.69.1/` |
| ------------------------------------------ | ---------------------- |
| Wireless (DHCP) Factory Default            | `http://10.0.1.1/`     |
| Wireless (DHCP) Team Number Previously Set | `http://10.XX.YY.1/`   |

{% hint style="info" %}
Radios running firmware >1.1.0 (released 02/04/2024) include an mDNS responder. The radio can also be reached at `http://radio.local/`
{% endhint %}
{% endstep %}

{% step %}

### Select Firmware File

<figure><img src="/files/3IPsgqJFW8rdfxrnmbdb" alt=""><figcaption></figcaption></figure>

Select the firmware file from your computer.&#x20;
{% endstep %}

{% step %}

### Enter Checksum

Enter the checksum located on the [firmware release](/overview/firmware-releases.md) page for the corresponding version you're upgrading to.&#x20;
{% endstep %}

{% step %}

### Click Upload

When you're ready to start the upgrade process, click upload.
{% endstep %}

{% step %}

### Wait Until Finished

The upgrade process should take about 2-3 minutes to complete. **DO NOT power cycle the radio while it's upgrading.**

Wait for the upgrade process to finish. You can tell the upgrade is complete when the **PWR light** is solid and the **SYS light** is slowly blinking at 1 Hz.

<figure><img src="/files/5iws8hugUlAVfC130mXN" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


---

# 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://frc-radio.vivid-hosting.net/overview/upgrading-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.
