PCB Flasher Fleet Console
connecting…

Flashers

0

Select a flasher

Pick a flasher on the left to see its history and arm its next board.

Firmware library

Board types

A board type stores a PCB's boot pieces once. After that, a new firmware version is just the app binary, the dashboard builds the flashable image for you.

New kind of PCB / chip not listed here? Ask the AI agent to prepare the bootloader and boot profile for that chip type, it sets up the correct offsets and pieces for you.
Advanced: import a raw binary directly
How do I get the binary out of PlatformIO?

PlatformIO builds the binary on every compile, there is no separate export. Just build without uploading:

  • Click the Build check-mark in the PlatformIO toolbar, or run pio run.
  • The files land in .pio/build/<env>/ in your project (<env> = your [env:...] name in platformio.ini).

Two ways to flash, matching the fields above:

  • App only → addr 0x10000: import firmware.bin. Works only on a board that already has a bootloader (any ESP32 flashed before). Smallest + fastest.
  • Merged image → addr 0x0 (recommended for the fleet): flashes a blank/unknown chip cleanly. PlatformIO does not emit this by default, build it once:
esptool.py --chip esp32 merge_bin -o merged.bin \
  --flash_mode dio --flash_size 4MB \
  0x1000  .pio/build/<env>/bootloader.bin \
  0x8000  .pio/build/<env>/partitions.bin \
  0xe000  boot_app0.bin \
  0x10000 .pio/build/<env>/firmware.bin

Offsets above are for the classic ESP32. On ESP32-S3 / C3 the bootloader goes at 0x0, not 0x1000. boot_app0.bin ships with the Arduino-ESP32 framework under tools/partitions/.

Arm next board

Set up a new board type

Upload the boot pieces once. Future firmware updates need only the app binary.

Where do these 3 files come from?

From a PlatformIO/Arduino build of this board:

  • bootloader.bin and partitions.bin: .pio/build/<env>/
  • boot_app0.bin: ships with the framework under tools/partitions/

For a chip type not handled yet, ask the AI agent to prepare the right pieces and offsets.

New firmware version

The dashboard merges this with the board type's boot pieces into a ready-to-flash image at address 0x0.