Web Flasher — unofficial fork · flash firmware over USB, no IDE
Pick your board, hit Install, and choose the serial port when prompted.
Images are built automatically from olosnoks/warhog.
Flashing a whole batch? Flash several boards at once →
New here? Read the how-to guide, then the documentation for how the firmware works.
Back from a drive? Compare your WiGLE logs →
Run your Piglet over the same USB cable you flash with — no WiFi needed:
browse the SD card, edit wardriver.cfg, start and stop scanning, upload logs, watch the serial console.
Chrome/Edge desktop only. How to use every tool →
Reads /wardriver.cfg from the card. Each field edits its own line, so comments and other keys are kept. Save writes it back and reloads it on the device.
Connect the Piglet over USB to load its config.
Pin assignments as the firmware uses them, from PinMapDefs.h, BoardPins.h and the board sketches in olosnoks/warhog.
2.4 GHz scanning, GPS, SD logging, 2.8″ touch display. The main CYD build. After flashing, the node update images are copied to /fw on its SD card for over-the-air node updates.
esptool --chip esp32s3 write-flash 0x0 \ freenove-s3-cyd-ham-ui4.bin
Same core as the Freenove build on a 5″ RGB IPS panel with GT911 touch. Node update images are copied to /fw on its SD card after flashing.
esptool --chip esp32s3 write-flash 0x0 \ guition-jc8048w550.bin
Minimal mesh node — boots straight into ESP-Now node mode. No GPS/SD needed.
esptool --chip esp32c3 write-flash 0x0 \ esp32c3_oled.bin
WarHog Core — GPS, SD, WiGLE logging, mesh. Dual-band 5 GHz. Flashes directly via ROM bootloader (--no-stub).
The Install button above flashes the C5 in ROM (--no-stub) mode so the USB-Serial/JTAG link doesn’t drop. If your board doesn’t enter download mode automatically, hold BOOT, tap RESET, release BOOT, then click Install — or flash from a terminal:
# one-time: esptool v5+ supports C5 pip install -U esptool # flash the merged .bin at offset 0 with --no-stub: esptool --chip esp32c5 --no-stub write-flash 0x0 xiao_c5.bin
XIAO C5 mesh node — boots straight into ESP-Now node mode. Dual-band, no display.
The Install button above flashes the C5 in ROM (--no-stub) mode so the USB-Serial/JTAG link doesn’t drop. If your board doesn’t enter download mode automatically, hold BOOT, tap RESET, release BOOT, then click Install — or flash from a terminal:
# one-time: esptool v5+ supports C5 pip install -U esptool # flash the merged .bin at offset 0 with --no-stub: esptool --chip esp32c5 --no-stub write-flash 0x0 warhognode_c5.bin
USB-A dongle — 0.96″ ST7735 TFT, APA102 LED, GPS, SD, dual-band. Flashes the official Piglet T-Dongle build; the fork tracks upstream for this board.
The Install button here flashes in ROM (--no-stub) mode. If it still fails, flash the downloaded .bin from a terminal with up-to-date esptool:
# one-time: esptool v5+ supports C5
pip install -U esptool
esptool --chip esp32c5 --no-stub write-flash 0x0 TDongleC5_Piglet.ino.merged.bin
Waveshare ESP32-C6 1.47″ LCD — ST7789 display, SD, GPS.
esptool --chip esp32c6 write-flash \ 0x0 waveshare_c6.bin
Firmware from the staging branch — release candidates, not yet on main. Prove them on hardware before they ship. Checking for a build…