Skip to content

Updating

Łukasz Nowak edited this page Aug 2, 2026 · 1 revision

Updating

Three ways to update, from easiest to most manual. In all three your settings survive.

Option 1: OTA from the web panel (no cable)

  1. On the device: gear icon > System tab > enable Allow OTA updates (until restart). This is a safety lock; it re-arms itself on every restart, so a forgotten switch cannot brick anything. Do not tap Save afterwards, just close the settings.
  2. Download the right -ota.bin from the latest release:
    • esp32flight-vX.Y.Z-ota.bin for all 800x480 boards (Waveshare 7 / 4.3 / 5" Guition)
    • esp32flight-vX.Y.Z-7b-ota.bin for the Waveshare 7B
    • esp32flight-vX.Y.Z-tab5-ota.bin for the M5Stack Tab5
  3. Open the web panel (http://esp32flight.local), Settings tab, Firmware update card, pick the file, upload. The device flashes the spare slot, restarts and keeps all settings.

The panel names the exact file your board needs, and since 0.4.3 the device refuses a file built for a different board with a plain error before anything is written. Uploading the wrong file cannot break the device.

Limitation: OTA updates the application only. Bundled assets (airline logos, flags, airport database, world maps) stay at the version last written by a full flash. Most releases do not change the assets; when one does, the release notes say so, and a browser flash brings you fully up to date.

Option 2: browser flasher (cable, full update)

Open the flasher page in Chrome or Edge, click the button for your board, pick the port. Leave "Erase device" unchecked: the flasher writes firmware and assets but never touches the settings region, so Wi-Fi and configuration survive. Check the box only for a first install or to deliberately start fresh.

This is the recommended path when a release updates the bundled assets, and the only upgrade path that updates everything at once.

Option 3: esptool by hand

Download the -full.bin for your board and write it at offset 0x0:

esptool.py --chip esp32s3 -b 230400 write_flash 0x0 esp32flight-vX.Y.Z-full.bin

For the Tab5 use --chip esp32p4. Note that a -full.bin contains a blank settings region, so unlike the browser flasher this path erases your configuration. Back it up first (below).

Settings backup and restore

The web panel Settings tab has a Backup card:

  • Download backup saves every setting, including Wi-Fi credentials, API keys and favorites, as a single JSON file.
  • Restore takes that file and applies it in one click; the device saves and restarts.

Handy before a full flash, when moving to a new board, or for keeping a known-good configuration around.

How the device protects itself

  • Wrong file rejected: each build carries its board variant in the version (0.4.3, 0.4.3-7b, 0.4.3-tab5). The OTA handler compares it against the running variant and rejects a mismatch before writing a single byte.
  • Two application slots: OTA writes the spare slot and only switches on success, so a failed or interrupted upload leaves the running firmware untouched.
  • Settings out of the line of fire: settings live in their own flash region which OTA never touches and the browser flasher deliberately skips.

Update notifications

When a newer release is available, the gear icon blinks and a banner appears at the top of the device settings with the version number. The web panel Settings tab shows the same hint. Nothing updates automatically; you always pull the trigger yourself.

Clone this wiki locally