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 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.
Sorry for activating this older thread, but this was very helpful. Especially this complete command for esptool is very cool to know.
I made a batch file which collects the bin files to one “BinFiles” folder.
Instead of using the “Flash download tool” mentioned above, it is much more comfortable to install the esptool and use it per command line.
@echo off
echo.
echo Available COM ports:
echo.
wmic path win32_pnpentity get caption /format:table| find "COM"
echo.
SET /P portNr="Which COM port should be used? Please enter the number: "
echo.
SET COMport=COM%PortNr%
echo Using %COMport% ...
echo.
esptool.py --chip esp32 --port %COMport% --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 BinFiles\bootloader_dio_40m.bin 0x8000 BinFiles\partitions.bin 0xe000 BinFiles\boot_app0.bin 0x10000 BinFiles\firmware.bin
pause
In this way, I can give the “Flash” folder to anyone who is able to install python and the esptool, and then flash very comfortably a bigger amount of decives with the same binaries. Very cool for my use case.
Hello,
Very brilliant solution. I have additional info. If you like me landed here because you need to upload Arduino .bin files to an ESP32 that has been completely erase make sure that when you generate the .bin file in Arduino you have manually selected the following parameters (upload speed, flash frequency, partition scheme, core debug level). See the image. Be careful because Arduino will create the .bin even if these paramenters are empty and you will be able to upload it, but once launched your code it will not work, on the serial monitor you will see inizialization and then all blank.
According to the board you are using make sure you respect the partition scheme that you can find in: C:\Users\USER_NAME\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0\tools\partitions
In my case I used an ESP32 with 16MB of flash so I selected the SparkFun Esp32 Thing Plus with default_16MB.csv file where to look at the partition. If, like in my case, you need to upload also a spiffs.bin image you can easily create the spiffs image just cliking on Build Filesystem Image in PlatformIO under ‘platform’.
Once you have the spiffs image and you know the partition memory address for spiffs you can upload it together with the other .bins. See the picture.