Browser-based firmware flasher for the LilyGo T-Deck running SlopOS.
Flash firmware directly from the browser over WebSerial. No tools, no accounts, no downloads required.
- Zero-install — open the page, connect your T-Deck, and flash
- Stable & Beta channels — pick your firmware version from GitHub releases
- Pixel theme — matches the slopos.xyz design language
- Single merged binary — downloads
firmware-merged.binfrom GitHub and flashes at offset 0x0 - No backend — fully static, fetches binaries directly from GitHub
python3 -m http.server 8080Open http://127.0.0.1:8080.
docker compose up --build -dOpen http://127.0.0.1:8081.
The flasher is a fully static single-page application:
index.html— pixel-themed UI (Press Start 2P headers, Pixelify Sans body)assets/app.js— GitHub API integration, channel selection, esptool-js flashingassets/styles.css— pixel theme matching slopos.xyzassets/vendor/esptool-js-bundle.js— browser ESP32 flashing library
Firmware binaries are fetched at runtime from GitHub release assets — they are not bundled in this repo.
- Connect — browser WebSerial connects to the T-Deck's UART
- Choose channel — pick Stable (latest release) or Beta (latest pre-release)
- Flash — esptool-js downloads the firmware-merged.bin from GitHub and writes it via serial bootloader
- Reset — device reboots into SlopOS
- Chrome, Edge, or Opera (WebSerial API)
- HTTPS or localhost
- LilyGo T-Deck (ESP32-S3) with USB connected
- Firmware release on GitHub with a
firmware-merged.binasset
If automatic bootloader detection fails:
- Hold the BOOT button on the T-Deck
- Tap RESET
- Release BOOT
- Click Flash in the browser (within 5 seconds)
git clone https://github.com/hermes-gadget/SlopOS-Webflasher.git
cd SlopOS-Webflasher
python3 -m http.server 8080Open http://127.0.0.1:8080.