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

BLE Sniffer

  1. Plug in your ESP32 over USB and click Install below. It auto-detects WROOM vs S3.
  2. Flash — takes ~30s. When it says done, close the dialog.
  3. Find your board's name with the button below, so you know which Wi-Fi is yours.
  4. On your phone, join that open ACM-BLE-xxxx Wi-Fi. A sign-in page pops up by itself — that's the sniffer. (If not, open http://192.168.4.1/.)
  5. Watch Jacobs Hall fill up with the BLE devices in the room.
Chrome/Edge desktop only.
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

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.

Chrome/Edge desktop only.

Buttons greyed out or images not loading? The *.merged.bin files and the manifest-*.json files must sit next to this page.