Programming Adapter
You need a suitable programming adapter, see our programming hardware page.
Download the Espressif Windows software
Download and install "Flash Download Tools (ESP8266 & ESP32)" from: https://www.espressif.com/en/products/hardware/esp32/resources
Programming Instructions
Run the flash download tool "flash_download_tools_v3.6.5.exe"
Select "ESP32 Download Tool"
Select the "SPI Download" tab
Select the 3 files to program with, enter their start addresses and tick the checkboxes next to each
Crystal Freq: (40m for WROOM-32)
SPI Speed: (get from build information)
SPI Mode: (get from build information)
Flash size: (get from build information)
SpiAutoSet = Not set
DoNotChgBin = CHecked
Select the COM port your programming adapter is connected to.
Set the "BAUD" rate: (get from build information, 921600 typically fine)
Press "START". The programming progress bar should complete.
When "FINISH" is displayed press "STOP"
Reset your board and it should run.
How to get the settings to use for your project
Build your project in eclipse and then look for the following sections in the output window:
Chip is ESP32D0WDQ6 (revision 1)
This is the espressif chip you're using
Auto-detected Flash size: 4MB
This is the "Flash sise", x8 for Mbits so 4MB = 32Mbits
python /home/adam/esp/esp-idf/components/esptool_py/esptool/esptool.py –chip esp32 –port "COM63" –baud 921600 –before "default_reset" –after "hard_reset" write_flash -z –flash_mode "dio" –flash_freq "40m" –flash_size detect 0x1000 /home/adam/esp/MyProject/build/bootloader/bootloader.bin 0x10000 /home/adam/esp/MyProject/build/my_project.bin 0x8000 /home/adam/esp/MyProject/build/partitions_singleapp.bin
From this you get the following programming settings:
baud 921600
The "BAUD" you can program at
flash_freq "40m"
The "SPI SPEED" to use
flash_mode "dio"
The "SPI MODE" to use
0x1000 /home/adam/esp/RocketFibreReceiver/build/bootloader/bootloader.bin
The start address and file location of the bootloader file to use
0x10000 /home/adam/esp/RocketFibreReceiver/build/my_project.bin
The start address and file location of the main project file to use (will be named differently for your project)
0x8000 /home/adam/esp/RocketFibreReceiver/build/partitions_singleapp.bin
The start address and file location of the partitions file to use
Programming a WROOM-32 example
12 months ago
You can load SPIFS.bin from a folder within your project.
With a forth line in the programmer.:- yourpath\spiffs,bin 0x110000
partition for 4Mb ESP32
# Name, Type, SubType, Offset, Size, Flags
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 1M,
storage, data, spiffs, , 0xF0000,
Using platformIO its easy to make the spiffs.bin