Tutorial

Flash or recover over WebUSB

Firmware updates go through the STM32 ROM DFU bootloader, driven from the web flasher in the browser. Nothing is installed — the page talks to the board over WebUSB and pushes the image from there.

What you need

  • A Chromium-based browser (Chrome or Edge) — WebUSB is not in Safari or Firefox. That means a desktop, or an Android phone. iOS cannot flash.
  • The board, and a way to plug it into that machine.
  • A .bin built from stm/emwaver-firmware.

Steps

  1. Put the board in DFU mode. In the app, open the terminal on the Home screen and run dfu. The board re-enumerates as an STM32 device in bootloader mode.
  2. Open the flasher in a Chromium browser and click Connect. Pick the STM32 BOOTLOADER device from the browser prompt.
  3. Choose the firmware file. It is read in your browser and written straight to the board — it is never uploaded anywhere.
  4. Flash and wait. The image is written to 0x08000000and verified. Keep it connected until it finishes.
  5. Let it restart. The board reboots into the new firmware and the app picks it up again on the Home screen.

Notes

  • Updates are destructive. There is no room on a 32 KB part for a bootloader of our own, so the ROM bootloader is the only path — an interrupted flash means flashing again, not a rollback.
  • There is no over-the-air update and nothing to provision. The board has no Wi-Fi.

Next, try Capture & replay a 433 MHz signal.