# Programming Your Radio At Home

{% hint style="info" %}
When at an official FIRST event, the Vivid-Hosting Radio Kiosk will be available for teams to easily program their radios with a GUI interface.&#x20;
{% endhint %}

## Overview

This page will discuss how to program your VH-109 Robot Radio at home. When at an official FIRST event, you will use the Vivid-Hosting Radio Kiosk to program your radio.

## Instructions

{% stepper %}
{% 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 Radio Configuration Page

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

<table data-header-hidden><thead><tr><th width="334"></th><th></th></tr></thead><tbody><tr><td>Wired</td><td><code>http://192.168.69.1/</code></td></tr><tr><td>Wireless (DHCP) Factory Default</td><td><code>http://10.0.1.1/</code></td></tr><tr><td>Wireless (DHCP) Team Number Previously Set</td><td><code>http://10.XX.YY.1/</code></td></tr></tbody></table>

{% 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 %}

### Configure The Radio

<figure><img src="/files/5e5BWqms2sQGFUz9N7uC" alt=""><figcaption></figcaption></figure>

| Field                               | Description                                                                                                                             |
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Robot Radio Mode**                | This means the device will act like a robot radio (Client/STA Mode)                                                                     |
| **Access Point Mode**               | This means the device will [act like an access point](/access-points/setting-vh-109-to-access-point-mode.md) for a radio to connect to. |
| **Enable 2.4 GHz Wi-Fi**            | This this enables the 2.4 GHz radio for diagnostic/limited driver station connection                                                    |
| **Enable QoS BW Limit**             | This enables the 7 Mbps limit on the radio. This also also applies to the 2.4 GHz radio interface                                       |
| **Enable SystemCore Mode**          | This changes the default DHCP reservation for roboRIO-XXYY-FRC to robot.local                                                           |
| **Team Number**                     | Your team's FRC team number                                                                                                             |
| **SSID Suffix**                     | A suffix that is appended to the end of the SSID. Ex: "1538-coolbot"                                                                    |
| **WPA Key For 6GHz Connection**     | The key for 6GHz connection                                                                                                             |
| **WPA Key For 2.4GHz Access Point** | The key for 2.4GHz connection ([See Note](#dip-switch-3-enabled))                                                                       |

{% hint style="info" %}
When DIP switch #3 is in the ON position AND a valid connection to an 6GHz 802.11ax Wi-Fi access point is not present, the radio will simultaneously broadcast as a 2.4GHz 802.11ax Wi-Fi access point with the SSID of "FRC-XXYY" where XXYY is the programmed team number. If a suffix is provided, the SSID will be "FRC-XXYY-SUFFIX" where SUFFIX is the programmed suffix identifier.

Once the radio successfully connects to a 6GHz 802.11ax Wi-Fi access point, the 2.4Ghz 802.11ax Wi-Fi access point will shut down until the device is power cycled.

Please keep in mind that when using the Access Point feature enabled by DIP switch #3, radio performance can be severely affected in highly congested 2.4 GHz wireless environments. It is recommended that teams use a SECOND radio and configure it in "Team Access Point Mode".
{% endhint %}
{% endstep %}

{% step %}

### Click Configure

Once you've configured the device, click configure to save it to the radio.
{% 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/programming-your-radio-at-home.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.
