Web Flasher¶
Flash the latest pre-built firmware directly from your browser — no local toolchain, Python, or esptool.py required.
Browser & Driver Requirements
Supported browsers: Google Chrome 89+ or Microsoft Edge 89+. The Web Serial API is not available in Firefox or Safari.
USB-to-UART driver: The ESP32-C3-DevKitM-1 uses a CH340/CH341 USB-UART bridge. If your operating system does not enumerate the board as a serial port:
- Windows: Install the CH34x driver from WCH.
- macOS / Linux: The CH340 kernel module is included by default since macOS 11 / Linux 3.x — no additional driver needed.
Flashing Instructions¶
- Connect the ESP32-C3-DevKitM-1 board to your computer via USB.
- Click Install below and select the correct COM / serial port when prompted.
- The tool will erase flash, then write bootloader, partition table, and application in sequence.
- After flashing completes, the board resets automatically and launches the SoftAP configuration portal.
First flash — full erase
Selecting Erase device in the installer dialog wipes any existing NVS configuration. After a fresh flash, the node will start in unconfigured mode (SoftAP portal launches automatically). If you are updating firmware only and want to keep your existing settings, uncheck the erase option.
Installer¶
What Gets Flashed¶
The manifest targets three binary regions on the ESP32-C3 flash:
| Binary | Offset | Source |
|---|---|---|
bootloader.bin |
0x0000 |
PlatformIO build output |
partitions.bin |
0x8000 |
Custom 2 MB partition table |
firmware.bin |
0x10000 |
Application (ESP-IDF + sensors + portal) |
Hosting your own binaries
The manifest.json on this site references files under firmware/.
To publish a new release:
- Build with
pio run --environment esp32_c3. - Copy
.pio/build/esp32_c3/bootloader.bin,partitions.bin, andfirmware.binintodocs/firmware/. - Commit and push — the GitHub Actions workflow redeploys the site automatically.
Manual Flashing (CLI)¶
If you prefer esptool.py:
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 460800 \
write_flash \
0x0000 .pio/build/esp32_c3/bootloader.bin \
0x8000 .pio/build/esp32_c3/partitions.bin \
0x10000 .pio/build/esp32_c3/firmware.bin
Or via PlatformIO: