[ ESP32 Web Flasher ]

Flash a demo straight onto an ESP32-WROOM-32 from this page — no IDE, no
toolchain, no drivers-except-the-USB-one. It runs on ESP Web Tools (self-hosted
here), talking to the board over the browser's Web Serial API.

Works in desktop Chrome, Edge, or Opera only — Firefox and Safari don't
implement Web Serial. Plug the board in with a data USB cable, click a
Flash button below, pick its serial port, and confirm.
The demos below flash straight from your browser. Flash one, then open any
serial monitor at 115200 baud to watch the output. Each auto-detects your
chip and flashes the right build — ESP32, ESP32-S3, or ESP32-C3. The blink
and scanner sketches come straight from the
getting-started guide; the deauth detector is defensive-only (below).

The classic first flash: pulses the onboard LED (GPIO2) once a second. Proves the board, the USB cable, and the flash path all work end to end. (GPIO2 is the onboard LED on a classic ESP32 DevKit; on some S3/C3 boards it's elsewhere, so the flash still succeeds but the light may not blink.)

This browser can't flash — use desktop Chrome, Edge, or Opera. Flashing needs a secure (HTTPS) page and USB access.

[ Wi-Fi Scanner ]

Scans for nearby Wi-Fi and prints SSID / channel / RSSI / encryption to the serial monitor (115200 baud) every few seconds — a pocket recon tool the moment it boots.

This browser can't flash — use desktop Chrome, Edge, or Opera. Flashing needs a secure (HTTPS) page and USB access.

[ BLE Scanner ]

Enumerates nearby Bluetooth LE advertisers — name, MAC, and RSSI — to the serial monitor. The BLE counterpart to the Wi-Fi scan.

This browser can't flash — use desktop Chrome, Edge, or Opera. Flashing needs a secure (HTTPS) page and USB access.

[ Deauth Detector ]

The defensive counterpart to the scanners: it watches 802.11 management frames in promiscuous mode and flags deauth / disassoc frames — the fingerprint of a Wi-Fi deauth attack — to the serial monitor (115200 baud), pulsing the LED on each hit. Receive-only — it never transmits a frame. Flash it on one board and run a deauther against your own network on another to watch it catch the attack.

This browser can't flash — use desktop Chrome, Edge, or Opera. Flashing needs a secure (HTTPS) page and USB access.

[ Notes ]

Port won't show? Install the USB-UART driver — CP2102 (Silicon
    Labs) or CH340 (WCH), depending on your board. The flash dialog links
    both if it can't find the device.
  — Stuck? Hold BOOT, tap EN, release BOOT to force download mode,
    then retry.
  — Nothing leaves the page. The firmware is fetched from this site and
    pushed to the board in your browser — there's no upload server.
  — Deauth detector is defensive. It only listens for attack frames —
    it never sends them. To test your own network's resilience, run an
    upstream ESP32 deauther on a second board; this page won't host an
    attack transmitter.

After flashing any demo, open a serial monitor at 115200 baud to watch the
output. Everything here is stock, open firmware — every sketch is linked in
the Source section below.

[ Source ]

Every demo is stock, open firmware — the exact sketches, compiled for
ESP32 / S3 / C3 with the Arduino ESP32 core. Click one to read it:

[ See Also ]