ACM Cyber · Flash Your Board
Brutalizing Bluetooth workshop · flash a board in your browser, no drivers, no IDE
Use desktop Chrome or Edge. Flashing talks to the board over the Web Serial
API, which Firefox, Safari, and phones don't have. Plug the board into your laptop
with the USB cable, click Install, and pick the serial port that appears.
⚠ This browser can't flash — open this page in Chrome or Edge on a computer.
Everyone · Activity 1
Chrome/Edge desktop only.
BLE Sniffer
- Plug in your ESP32 over USB and click Install below. It auto-detects WROOM vs S3.
- Flash — takes ~30s. When it says done, close the dialog.
- Find your board's name with the button below, so you know which Wi-Fi is yours.
- On your phone, join that open
ACM-BLE-xxxxWi-Fi. A sign-in page pops up by itself — that's the sniffer. (If not, openhttp://192.168.4.1/.) - Watch Jacobs Hall fill up with the BLE devices in the room.
Join this Wi-Fi on your phone
ACM-BLE-????
then open http://192.168.4.1/
"Failed to initialize"? That's the board missing the bootloader handshake — almost always fixable:
- Hold the board's BOOT button, click Install, and let go a second after it says connecting.
- Use a data USB cable (not charge-only) straight into the laptop — not through a hub.
- Close anything else using the port (Arduino Serial Monitor, another flasher tab) and unplug/replug.
- Pick the right port: it's usually
CP2102/USB-Serial(not "Bluetooth").
Instructor only
Chrome/Edge desktop only.
harsha's claude code agent — GATT mini-CTF
Spare agent boards for Activity 3 (WROOM or S3) so more groups can connect at
once. Flash a board, then open its Serial Monitor at 115200 to watch
the scoreboard. The primary C5 agent is flashed with arduino-cli —
Web Serial can't detect the C5 yet.
Buttons greyed out or images not loading? The *.merged.bin files and the
manifest-*.json files must sit next to this page.