WEB SERIAL · SELF-HOSTED BINARIES · NO CLOUD FLASHER
Flash firmware straight from the browser.
Pick a device, pick a firmware, connect over USB. Everything — the flasher and the images — is served from stealthoz.tech. Your browser talks to the board directly over Web Serial; nothing touches a third-party flash server.
.bin downloads below and flash with esptool.py.
Compatibility matrix
Devices × firmware, checked against each upstream project's own release table. “Flash now” opens the in-browser installer; “—” means the upstream project publishes no build for that exact board, and we don't fake one. Small .bin links next to a button are the manual esptool copies of the same image.
Every “Flash now” button points at a binary we downloaded once from the upstream project and self-host here — nothing is fetched from a third-party CDN at flash time. Phones are not Web-Serial flashable — GrapheneOS installs via its own official web installer.
Manual flashing — esptool
This browser doesn't expose Web Serial, so in-browser flashing is unavailable. Download the .bin for your device and flash it with esptool.py on your own machine (it's the same binary the browser flasher would write):
pip install esptool
# merged/factory image — write the whole thing at 0x0:
esptool.py --chip esp32s3 --port /dev/ttyUSB0 write_flash 0x0 meshtastic-2.8.1-heltec-v3.factory.bin
Windows users: --port COM3 (check Device Manager). Hold BOOT while pressing RESET if the board won't enter download mode.
How it works
Short version, no hand-waving.
1. You plug in the board. The browser asks for permission to open the USB serial port — that permission is per-device, per-site, and revocable.
2. The flasher runs locally. The ESP Web Tools bundle (Apache-2.0, self-hosted in /static/vendor/) drives the chip's ROM download mode over Web Serial. It erases, writes the image at 0x10000 and verifies the flash — same protocol as esptool, in your browser.
3. The images are ours. Manifests and .bin files are served from this domain with the same hash-pinned CSP as the rest of the store. SHA-256 sums for our shipped builds are on the firmware verification page.
First flash of a used board: tick “erase device” in the installer so old LittleFS/config partitions don't confuse the new firmware.