> For the complete documentation index, see [llms.txt](https://docs.revrobotics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.revrobotics.com/duo-control/managing-the-control-system/updating-firmware.md).

# Updating Firmware

## Updating the Expansion Hub Firmware

There are two boards within the Control Hub: an Expansion Hub and an Android controller. The Expansion Hub board built into the Control Hub, facilitates a line of communication between the built-in Robot Controller and the motors, servos, and sensors. In order to improve the quality of the Hubs, REV Robotics will release firmware updates for the Expansion Hub. When a firmware release occurs, both Control Hub and Expansion Hub users will need to update their Expansion Hub firmware to the newest version. &#x20;

There are two ways to update the Expansion Hub Firmware. It is recommended to use the REV Hardware Client 2, as it will automatically notify the user if the Hub's firmware is out of date, download the latest firmware, and install on the device. The second set of steps utilizes the FIRST Robot Controller Console.&#x20;

To use the FIRST Robot Controller Console, the *Manage* interface is needed to upload the firmware file to the Control Hub. You can then use a Driver Station that is connected to the Control Hub to initiate the firmware update. You can download the latest firmware below.

## Using the REV Hardware Client 2

### Control Hub

| Steps                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Power on the Control Hub, by plugging the 12V Slim Battery ([REV-31-1302](https://www.revrobotics.com/rev-31-1302/)) into the XT30 connector labeled “BATTERY” on the Control Hub.                                                                                                                                                              | ![C:\Users\Rachel\AppData\Local\Microsoft\Windows\INetCache\Content.Word\g20714.png](https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2Fftc-control-system%2F-M8MwLCHioGUmBeHgdmq%2F-M8N18gHM0EmnJzRcHEz%2F48.png?generation=1590614867898772\&alt=media)                                                                |
| <p>The Control Hub is ready to connect with a PC when the LED turns green. </p><p></p><p><strong>Note:</strong> With Robot Controller Application versions 5.5 and below the light will blink blue every \~5 seconds. Please<a href="/duo-control/managing-the-control-system/updating-robot-controller-application.md"> update </a>to 9.0.</p> | ![C:\Users\Rachel\AppData\Local\Microsoft\Windows\INetCache\Content.Word\rect22073.png](https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4_pJHI8HTuZFQTNfcy%2F-MIye5_C5oSoi2e84W9b%2F-MIym3ENg0UyQJ60AUhH%2FControl%20Hub%20with%205%20second%20blink%202.svg?alt=media\&token=3b8fa3ab-3810-42a1-b48d-78a3125e14ea) |
| Plug the Control Hub into the PC using a USB-A to USB-C Cable ([REV-11-1232](https://www.revrobotics.com/rev-11-1232/))                                                                                                                                                                                                                         |                                                                                                                                                                                                                                                                                                                                                        |

Start up the REV Hardware Client 2. Once the Control Hub is fully connected, it will show up on the front page of the UI under the Hardware Tab. Select the **Control Hub**.&#x20;

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FQiwqcJfh361lVXJfX8D0%2Fimage.png?alt=media&amp;token=9b218891-2ad8-44c0-89cb-dd42ebcce519" alt=""><figcaption></figcaption></figure>

After selecting the connected device, the Navigation Tab will pop up. Select the **Update Tab** on the right, highlighted by the orange box.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2F1z3zNadMX40dvkZgrITs%2Fimage.png?alt=media&amp;token=25ade9c6-196e-4c13-ba23-ad5bd6d65bbe" alt=""><figcaption></figcaption></figure>

Once in the Update Menu, select the **Expansion/ Control Hub Firmware Tab**. After confirming the desired firmware version, click the **Download & Install Button** below.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FSbv20hFKWNUIRSKg4ljL%2Fimage.png?alt=media&amp;token=e97ccd7f-4523-457f-967b-2ddd28622770" alt=""><figcaption></figcaption></figure>

When the firmware update has completed, the message "Update Complete - Please power cycle your device for changes to take effect" will pop up; press OK.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FD5jqThLXO2i9O6wx8Tfr%2Fimage.png?alt=media&amp;token=f716d006-5081-465c-bd02-65e03c014507" alt=""><figcaption></figcaption></figure>

You should see the status for the current hub firmware change from a yellow exclamation point to a green checkmark.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FIxCghjvsQK2AHa9JoYMx%2Fimage.png?alt=media&amp;token=326eddaf-c16a-4019-990f-0d4febe88c9c" alt=""><figcaption></figcaption></figure>

### Expansion Hub&#x20;

Plug the Expansion Hub into a PC using a USB-A to Mini USB Cable.&#x20;

Start up the REV Hardware Client 2. Once the hub is fully connected, it will show up on the front page of the UI under the Hardware Tab. Select the **Expansion Hub**.&#x20;

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2Fj8uyyALrFs7ULVurWzuS%2Fimage.png?alt=media&amp;token=3a665c0f-4017-493b-99b2-fb0bcd396bb6" alt=""><figcaption></figcaption></figure>

After selecting the connected device, the Update Menu will pop up. Confirm the desired firmware, then click the **Install** button below.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FzskFb3jCuL0xWYX8eMwF%2Fimage.png?alt=media&amp;token=b56d286a-80b8-4e94-b860-c2e11dfd7301" alt=""><figcaption></figcaption></figure>

When the firmware update has completed, the message "Update Complete - Please power cycle your device for changes to take effect" will pop up, press OK.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FcEtUbXokteHUGlYpEJiO%2Fimage.png?alt=media&amp;token=0f41d0ef-9a4e-4f04-bf74-01d5a06a263c" alt=""><figcaption></figcaption></figure>

You should see the status for the current hub firmware change from a yellow exclamation point to a green checkmark.

<figure><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FNNnb7444u5VbeCSRt4N8%2Fimage.png?alt=media&amp;token=a7722fee-5585-4268-a0a5-50b3baecf39b" alt=""><figcaption></figcaption></figure>

## Using the Robot Controller Console

### Control Hub

<p align="center"><a href="https://www.revrobotics.com/content/sw/REVHubFirmware_1_08_02.bin" class="button primary" data-icon="download">Download the Latest REV Hub Firmware - Version 1.8.2</a></p>

| <p>1. Download the latest firmware from the above link then <a href="/duo-control/menu/control-hub-gs/connect-to-the-control-hub-robot-control-console.md#web-browser">connect the computer via Wi-Fi </a>to the Control Hub or RC phone. Follow the instructions to open the Robot Controller Console in your web browser.<br></p>                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>2. Click on the Manage tab, scroll down to Update REV Hub Firmware.<br><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FsS38axPxePATuAvaFOU8%2Fimage.png?alt=media&amp;token=edfc7493-a21b-4336-b9cd-92fc56705963" alt=""></p><p>See if the grey box (see green arrow, above) offers the latest firmware version, included or bundled with the RC app.</p>                                                         |
| <p>3. If not, click the “Select Firmware…” box. Navigate to the desired firmware file stored on the computer, and select it.</p><p></p><p>As part of the update process, that selected firmware file will be stored on the Control Hub or RC phone, in a subfolder called FIRST/updates/Expansion Hub Firmware.</p><p>Current and older firmware files can be found on the <a href="/duo-control/managing-the-control-system/updating-firmware/firmware-changelog.md">Firmware Changelog page</a>.</p> |
| <p>4. Now click the box called “Update to…” or “Update using…” (see green arrow).</p><p><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2Fo4jPTP9eJfAUH9UswvcM%2Fimage.png?alt=media&amp;token=c8961ee8-2a84-428d-bd30-a9b08dd6ae67" alt="" data-size="original"></p><p></p>                                                                                                                                           |
| 5. At the confirmation prompt, click the blue box “Update Hub Firmware”. Wait for the process to finish; do not unplug the Hub or restart the robot.                                                                                                                                                                                                                                                                                                                                                   |

### Expansion Hub&#x20;

{% hint style="info" %}
To update an Expansion Hub with the Robot Controller Console, you will follow the same steps as the Control Hub, but you will need to connect the Expansion Hub to the Control Hub via a USB-A to USB Mini cable. Connecting over an RS485 cable will not allow the Expansion Hub to update. &#x20;
{% endhint %}

<p align="center"><a href="https://www.revrobotics.com/content/sw/REVHubFirmware_1_08_02.bin" class="button primary" data-icon="download">Download the Latest REV Hub Firmware - Version 1.8.2</a></p>

| 1. Connect the Expansion Hub to the Control Hub via a USB-A to USB Mini cable, making sure to disconnect the RS485 cable. You should never have a Control Hub and Expansion Hub connected via USB and RS485 at the same time.                                                                                                                                                                                                                                                                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2. Download the latest firmware from the above link then [connect the computer via Wi-Fi](/duo-control/menu/control-hub-gs/connect-to-the-control-hub-robot-control-console.md#web-browser) to the Control Hub or RC phone. Follow the instructions to open the Robot Controller Console in your web browser                                                                                                                                                                                                          |
| <p>3. Click on the Manage tab, scroll down to Update REV Hub Firmware.<br><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FsS38axPxePATuAvaFOU8%2Fimage.png?alt=media&amp;token=edfc7493-a21b-4336-b9cd-92fc56705963" alt=""></p><p>See if the grey box (see green arrow, above) offers the latest firmware version, included or bundled with the RC app.</p>                                                                        |
| <p>4. If not, click the “Select Firmware…” box. Navigate to the desired firmware file stored on the computer, and select it.</p><p></p><p>As part of the update process, that selected firmware file will be stored on the Control Hub or RC phone, in a subfolder called FIRST/updates/Expansion Hub Firmware.</p><p>Current and older firmware files can be found on the <a href="/duo-control/managing-the-control-system/updating-firmware/firmware-changelog.md">Firmware Changelog</a> page.</p>                |
| <p>5. You can confirm that both the Control Hub and the Expansion Hub will be updated to the firmware version you selected. (see orange box)<br><br>Now click the box called “Update to…” or “Update using…” (see green arrow).</p><p></p><p><img src="https://1359443677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUOOiQ4S2QcMWmVoSmeQ8%2Fuploads%2FuNh1unTa8tjbwP3arBKl%2FExpansion%20Hub%20Update%20over%20RCC.png?alt=media&amp;token=f8675bce-caee-4c41-aa3a-b7ede8bebcd3" alt=""></p> |
| 6. At the confirmation prompt, click the blue box “Update Hub Firmware”. Wait for the process to finish; do not unplug the Hub or restart the robot.                                                                                                                                                                                                                                                                                                                                                                  |
