OTA updates

She grows without going back to the cable.

After the first installation, Sagwa checks GitHub releases, verifies firmware and animations, and keeps a recovery path.

An update with a safety net

  1. 1
    Release

    GitHub Actions builds, signs and publishes binaries and a manifest with version, size and SHA‑256.

  2. 2
    Check

    Two minutes after Wi‑Fi connects, then every 180 minutes with a small amount of jitter.

  3. 3
    Quiet moment

    Waits for two minutes without interaction and, on battery, more than 30% charge.

  4. 4
    Alert

    Shows the release notes for 30 s. Tap her to postpone the update for 10 minutes.

  5. 5
    Verification

    Checks the animations’ SHA‑256 and the firmware signature before rebooting.

  6. 6
    Confirmation or rollback

    The new image must reconnect; if it cannot within five minutes, the bootloader rolls back.

Updater settings

ESP32 Device SDK · menuconfig
CONFIG_SAGWA_AUTO_UPDATE=y
CONFIG_SAGWA_UPDATE_INTERVAL_MIN=180
CONFIG_SAGWA_UPDATE_REPO=terrerovgh/sagwa
CONFIG_SAGWA_TZ=CET-1CEST,M3.5.0,M10.5.0/3

To check now, open Settings → Sagwa → Check for updates. This skips the quiet-period wait and countdown.

Update while she plays

With a FAT32 microSD card, the animation package is downloaded and verified in /sagwa/update/ before being copied to flash. Sagwa can keep playing her current package during the download.

Something not working?Diagnosis and recovery
Troubleshoot