ESP32 Web Flasher
Flash your Disobey badge firmware directly from your browser using Web Serial API.
- Chrome, Edge, or Opera browser (Web Serial API support required)
- USB cable connected to your badge
- Badge in bootloader mode (if needed, hold BOOT button while connecting USB)
Flash Firmware
❌ Your browser doesn't support Web Serial API. Please use Chrome, Edge, or Opera.
⚠️ Serial port access not allowed. Please check permissions.
You can also download firmware for manual flashing:
- Loading...
Instructions
- Connect your badge to your computer via USB cable
- If the badge doesn’t enter flash mode automatically, hold the BOOT button while connecting
- Click the CONNECT AND FLASH button above
- Select the correct serial port in the browser dialog
- Wait for the flashing process to complete
- Your badge will automatically restart with the new firmware
Troubleshooting
Badge not detected
- Try a different USB cable (some cables are charge-only)
- Hold the BOOT button while connecting the USB cable
- Check that you have the correct drivers installed
Flash failed
- Make sure the badge is in bootloader mode
- Try disconnecting and reconnecting the badge
- Check that no other program (like Arduino IDE or PlatformIO) is using the serial port
Manual Flashing with esptool
If you prefer command-line tools or the web flasher doesn’t work, you can flash firmware manually using esptool.
Using uvx (recommended)
uv is a fast Python package installer. Install it first:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then flash firmware with uvx (no installation needed):
# Replace /dev/ttyUSB0 with your serial port (find it with 'ls /dev/tty*' on macOS/Linux or check Device Manager on Windows)
# Replace firmware.bin with the path to your downloaded firmware file
uvx esptool --chip esp32s3 --port /dev/ttyUSB0 write_flash 0x0 firmware.bin
Using esptool directly
Install esptool with pip:
pip install esptool
Flash firmware:
# Replace /dev/ttyUSB0 with your serial port
# Replace firmware.bin with the path to your downloaded firmware file
esptool --chip esp32s3 --port /dev/ttyUSB0 write_flash 0x0 firmware.bin
Common serial port names:
- Linux:
/dev/ttyUSB0or/dev/ttyACM0 - macOS:
/dev/tty.usbserial-*or/dev/cu.usbserial-* - Windows:
COM3,COM4, etc.
Technical Details
This flasher uses ESP Web Tools, which leverages the Web Serial API to communicate with ESP32 devices directly from the browser. No drivers or software installation needed on supported browsers.
Back to root.