Imaging your Romi

The Romi has 2 microprocessor boards:

  1. A Raspberry Pi that handles high-level communication with the robot program running on the desktop and

  2. A Romi 32U4 Control Board that handles low-level motor and sensor operation.

Both boards need to have firmware installed so that the robot operates properly.

Raspberry Pi


The Raspberry Pi firmware is based on WPILibPi (formerly FRCVision) and must be downloaded and written to the Raspberry Pi micro SD card. Click on Assets at the bottom of the description to see the available image files:

Romi WPILibPi

Be sure to download the Romi version and not the standard release of WPILibPi. The Romi version is suffixed with -Romi. See the below image for an example.

GitHub Romi Release


The procedure for installing the image is described here: WPILibPi Installation.

Wireless Network Setup

Perform the following steps to get your Raspberry Pi ready to use with the Romi:

  1. Turn the Romi on by sliding the power switch on the Romi 32U4 board to the on position. The first time it is started with a new image it will take approximately 2-3 minutes to boot while it resizes the file system and reboots. Subsequent times it will boot in less than a minute.

  2. Using your computer, connect to the Romi WiFi network using the SSID WPILibPi-<number> (where <number> is based on the Raspberry Pi serial number) with the WPA2 passphrase WPILib2021!.


If powering on the Raspberry Pi in an environment with multiple WPILibPi-running Raspberry Pis, the SSID for a particular Raspberry Pi is also announced audibly through the headphone port. The default SSID is also written to the /boot/default-ssid.txt file, which can be read by inserting the SD card (via a reader) into a computer and opening the boot partition.

  1. Open a web browser and connect to the Raspberry Pi dashboard at either or http://wpilibpi.local/.


The image boots up read-only by default, so it is necessary to click the Writable button to make changes. Once done making changes, click the Read-Only button to prevent memory corruption.

  1. Select Writable at the top of the dashboard web page.

  2. Change the default password for your Romi by setting a new password in the WPA2 Passphrase field.

  3. Press the Save button at the bottom of the page to save changes.

  4. Change the network SSID to a unique name if you plan on operating your Romi on a wireless network with other Romis.

  5. Reconnect to the Romi’s WiFi network with the new password you set.

Be sure to set the Dashboard to Read-only when all the changes have been completed.

Romi web dashboard network settings

32U4 Control Board

The Raspberry Pi can now be used to write the firmware image to the 32U4 Control Board.

  1. Turn off the Romi

  2. Connect a USB A to micro-B cable from one of the Raspberry Pi’s USB ports to the micro USB port on the 32U4 Control Board.

  3. Turn on the Romi and connect to its Wifi network and connect to the web dashboard as in the previous steps.

  4. On the Romi configuration page, press the Update Firmware button.

The firmware update button before updating firmware

A console will appear showing a log of the firmware deploy process. Once the firmware has been deployed to the 32U4 Control Board, the message avrdude done. Thank you. will appear.

The firmware update log showing the completed firmware update