Back to Project Home Advanced Flashing Directions

Protest Node Flash Tool

⚠️ Before flashing:
  • Close any serial monitor programs (Arduino IDE, PuTTY, etc.)
  • Close any other browser tabs using the ESP32
  • Unplug and replug your ESP32 if needed
  • If you have trouble connecting to the next device after a flash (if applicable) refresh the web page.

πŸ” Understanding Flash Modes

For a detailed overview of the project's security model, please see the Security Guide.

Compatibility Mode

Uses the default symmetric key included in the public code. Suitable for testing but not secure for production deployment. All devices share the same PSK (encryption password, essentially). This means an adversary can extract the key from your source or firmware and inject or intercept traffic. This may be acceptable for testing or smaller events less likely to be directly targeted. The benefit is it’s easy to expand and use (you won’t have to reflash all your devices when you add more nodes or figure out how to use a BIN file). See full Compatibility Mode instructions.

Secure Mode (Recommended)

This process requires you to download a compiler kit to create a unique, secure firmware file on your computer. The private key is generated locally and never leaves your machine. The build and flash process is entirely handled on your local machine using the kit. All nodes must be flashed with the resulting unique C.bin file. See full Secure Mode instructions.

πŸ”„ Press BOOT button on your ESP32

If flashing fails or times out, you may need to manually enter boot mode.

Warning: This firmware is unmodified and uses a default, insecure key. It should only be used for testing purposes.

Advanced Options (Experimental)

Experimental: In-Browser Secure Flashing (Dev Only)

This feature attempts to generate a key and patch firmware directly in your browser. It is for development and testing only and is not guaranteed to be secure or functional. The recommended path is the "Secure Mode" offline build process. See details on this experimental mode.

Session PSK will be generated automatically...

πŸ“‹ Instructions

For a full, detailed guide on all flashing procedures, please visit the Advanced Flashing Directions page.

  1. Connect your ESP32 to your computer via USB.
  2. Select your flashing mode:
    • Compatibility Mode: The "Flash Firmware" button will appear. Follow the instructions below.
    • Secure Mode: Download the mesh.zip kit and follow the instructions to build and flash the firmware on your workstation. This web tool is not used for flashing in this mode.
  3. For Compatibility Mode (and Experimental Mode): Click the Flash Firmware button and select the ESP32 port from the popup.
  4. For Secure Mode: Follow the instructions provided in the downloaded kit (mesh.zip) to build and flash the firmware on your computer.
  5. Wait for flashing to complete.
  6. Press RESET on your ESP32 after the flash is complete.
  7. If you have trouble connecting to the next device (if applicable) refresh the web page.
User Agent:
Platform:
Secure Context:
Web Serial API: