PlatformIO Community

Export of Binary firmware files for ESP32 download tool

Hello,
I am developing on ESP32 arduino framework and I would like to get the compiled firmware files so I can upload more units using ESP flash download tool.

I got the flash tool from here:
https://www.espressif.com/en/products/hardware/esp32/resources
Tools -> Flash Download Tool

In project folder/.pio/build/platform/
I found these files
image

I read I need:

  • bootloader file
  • partition table file
  • firmware/app file.

Could anyone help me to locate these files compiled by platform io and help how to use them in ESP flash tool?

I appreciate any help, Thanks!

I’m not familiar with this ESP32 tool. But I think I have a good idea what it expects.

Run the following command in a terminal:

pio run -v -t upload

In the generated output, there is the full command line for esptool, e.g.:

“/Users/me/.platformio/penv/bin/python2.7” “/Users/me/.platformio/packages/tool-esptoolpy/esptool.py” --chip esp32 --port “/dev/cu.usbmodem144101” --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /Users/me/.platformio/packages/framework-arduinoespressif32/tools/sdk/bin/bootloader_dio_40m.bin 0x8000 /Users/me/Documents/PlatformIO/Projects/ESP32Proj/.pio/build/esp32doit-devkit-v1/partitions.bin 0xe000 /Users/me/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin 0x10000 .pio/build/esp32doit-devkit-v1/firmware.bin

If you split the output, you’ll find:

0x1000 /Users/me/.platformio/packages/framework-arduinoespressif32/tools/sdk/bin/bootloader_dio_40m.bin
0x8000 /Users/me/Documents/PlatformIO/Projects/ESP32Proj/.pio/build/esp32doit-devkit-v1/partitions.bin
0xe000 /Users/me/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin
0x10000 .pio/build/esp32doit-devkit-v1/firmware.bin

I guess these are the files you are looking for. It’s slightly confusing because two files come from your project directory, yet one uses the full and one uses a relative path. Two further files come from the PlatformIO installation directory.

3 Likes

Thanks! works like a charm.