How do I manually update to Bullseye?

Note: This process should take less than 30 minutes.


Your TinyPilot device's operating system is out of date.

To continue receiving new TinyPilot Pro updates, you'll need to update your operating system.

Why do I have to update manually?

TinyPilot runs on Raspberry Pi OS. The newest version of Raspberry Pi OS is version 11, "Bullseye." This version offers several improvements that enable new functionality in TinyPilot, such as audio streaming.

The Raspberry Pi OS maintainers now consider Pi OS version 10, "Buster," to be a legacy system. They continue to support it, but support for this OS version will likely end in the near future.

Unfortunately, Raspberry Pi OS doesn't support major version upgrades in place. In order to transition your TinyPilot to the latest supported OS, you'll need to re-flash the image on your TinyPilot's microSD card.

We understand that factory resetting your device is a burden, and we didn't take this decision lightly. In TinyPilot Pro 2.5.4, we've added tools for exporting your settings to ease the transition to the new microSD image.


For these instructions, you'll need:

  • A microSD writer

  • A microSD card (at least 8 GB)

    • Can be the same microSD that shipped with your TinyPilot
  • Balena Etcher

    • A free, open-source tool for writing microSD images
  • The latest TinyPilot image from our download page

If you're unable to re-flash your microSD card, contact us for assistance.

Export your existing settings (optional)

Before upgrading to the new TinyPilot microSD image, you may export settings from your existing device. After you re-flash your microSD image, you can import these settings to restore your previous state.

To export your TinyPilot's settings, open the TinyPilot web interface and click System > Export Settings.

The TinyPilot web interface has its 'System' menu open, a red arrow is pointing to the highlighted 'Export Settings' menu item.

In the Export Settings dialog, click the "Download" button.

The 'Export Settings' UI prompts the user to download their TinyPilot settings export file.

Your web browser will download a .tgz file that includes the following TinyPilot settings:

  • Security settings
  • Video settings
  • Wake on LAN settings
  • HTTPS/TLS settings

Before you continue, double-check whether there are other settings, files, or software you'd like to copy to your new device (e.g., disk images for the Virtual Media feature, or other configuration changes you may have made outside of TinyPilot's web interface).

Flash the new TinyPilot Pro image to your microSD card

Warning: Re-flashing your SD card wipes all of your TinyPilot's state and settings.

To install the latest version of TinyPilot Pro to your device, follow the steps below:

  1. Insert a microSD card into your microSD writer.
  2. Insert the microSD writer into your computer.
  3. Open Balena Etcher.
  4. Click "Flash from File."
  5. Select the TinyPilot Pro .img file you downloaded from the download page.
  6. Click "Select target."
  7. Check the box next to your microSD card drive and hit "Select."
  8. Finally, click the "Flash" button.

When the flash is complete, you'll see this screen "Flash Complete!" screen:

Insert your newly-flashed microSD into your TinyPilot device, and then power it on. The first boot will take 3-5 minutes to complete.

Import your TinyPilot settings (optional)

If you exported settings from a TinyPilot Pro system using the "Export Settings" feature, you can import these settings from TinyPilot's command-line interface.

First, enable SSH, then run the following command to copy your settings file to your TinyPilot device:

# Replace the filename with the path of your settings file.

scp "${TINYPILOT_SETTINGS_FILE}" pilot@tinypilot:/tmp/tinypilot-pro-settings-export.tgz

Next, SSH into your TinyPilot device:

ssh pilot@tinypilot

Finally, run the following command on your TinyPilot device to import your settings:

sudo /opt/tinypilot-privileged/scripts/import-settings /tmp/tinypilot-pro-settings-export.tgz

Importing your settings takes a few minutes. During this process, your TinyPilot web interface will be unavailable.

When the script finishes, it outputs the following message:

Your previously exported TinyPilot settings were successfully imported to
this TinyPilot device.

Your TinyPilot web interface will restart with the settings you imported.