Skip to content

Firmware Update

Daniel Frenkel edited this page Jun 22, 2026 · 2 revisions

Firmware Update

MiniSpeedCam can update both of its microcontrollers — the ESP32 (camera / WiFi / app) and the STM32 (radar) — over the air, straight from the device web portal. No cables, no tools.

Updates are manual-approve: the device checks what's available and tells you, but nothing installs until you press the button.

⚠️ Keep the device powered and on WiFi during an update. Don't unplug it or cut power while an install is running.


Where it lives

Open the device portal (see Setup Guide → Step 7 for how to reach it), go to the Device tab, and scroll to the Firmware Update section. You'll see:

  • A Firmware status line.
  • Check for Updates
  • Install ESP32 Update
  • Install STM32 Update

How to update

  1. Press "Check for Updates." The device asks the cloud what the latest firmware is and updates the Firmware status line, e.g.:

    ESP 1.0.2 UPDATE | STM 1.0.1 ok
    

    Each side reads as one of:

    • ok — already up to date, nothing to do.
    • UPDATE — a different version is available (the version shown is the one being offered). Press the matching Install button to apply it.
    • no URL — a new version is named but the download link is missing (a server-side issue). Try again later; don't keep retrying.
  2. Press the matching Install button for whichever side shows UPDATE:

    • Install ESP32 Update — downloads the new ESP32 image, verifies it, and reboots into it. The portal drops briefly while the device restarts, then comes back on the new version.
    • Install STM32 Update — the ESP32 downloads the STM32 image, verifies it, and flashes the STM32 over their internal link. Radar speed measurement pauses for the duration and resumes automatically when it's done.
  3. Re-check when finished — the status line should now read ok for the side you updated.

The status line shows live progress while an install runs (downloading, verifying, flashing) so you can tell it's working.


Is it safe?

Yes — it's designed to be recoverable:

  • ESP32: the new image is written to a second, inactive slot and the device only switches to it once it's fully downloaded and MD5-verified. A power failure or a corrupt download mid-update just leaves the old, working firmware in place.
  • STM32: it's flashed through its built-in ROM bootloader, which can't be erased. Even an interrupted flash can be retried — the device can always re-enter the bootloader and try again.
  • Manual approve: nothing is installed automatically. The device never updates itself behind your back.

Notes & requirements

  • The device must be on your WiFi (not in setup/AP mode) to check for or download updates.
  • Each device reports its current versions to the cloud, so the camera card on minispeedcam.com (Cameras) shows the running Firmware (e.g. ESP 1.0.1 · STM 1.0.2) — a quick way to confirm an update landed without opening the portal.
  • A version difference in either direction counts as an update — that's intentional, so a deliberate roll-back to an earlier version is allowed too. You approve every install.
  • First-time / older units: over-the-air updates require the device to have been flashed with the newer (OTA-capable) partition layout. A unit built before OTA support needs one wired flash to migrate onto it — see the Programming Guide. Your WiFi credentials and settings survive that migration. After that, all future updates are over the air.

Troubleshooting

Symptom Likely cause / fix
"Check for Updates" shows check failed The device couldn't reach the update server. Confirm it's on WiFi (Status tab shows an IP) and try again.
Status shows no URL The server named a version but didn't provide a download link. It's a server-side configuration issue, not your device — try again later.
Portal goes away after "Install ESP32 Update" Expected — the device reboots into the new firmware. Give it a moment and reload the portal.
No speed readings during an STM32 update Expected — radar measurement pauses while the STM32 is being flashed, and resumes automatically afterward.

Clone this wiki locally