esptool - ESP8266 and ESP32 ROM Bootloader Utility
Contents
Copyright
Copyright © 2014-2017 Fredrik Ahlberg, Angus Gratton, Espressif Systems (Shanghai) PTE LTD, other
contributors as noted. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent
permitted by law.
Description
usage: esptool [OPTION] COMMAND
commandarguments:
Run esptool {command} -h for additional help
load_ram
Download an image to RAM and execute
dump_mem
Dump arbitrary memory to disk
read_mem
Read arbitrary memory location
write_mem
Read-modify-write to arbitrary memory location
write_flash
Write a binary blob to flash
run Run application code in flash
image_info
Dump headers from a binary file (bootloader or application)
make_image
Create an application image from binary files
elf2image
Create an application image from ELF file
read_mac
Read MAC address from OTP ROM
chip_id
Read Chip ID from OTP ROM
flash_id
Read SPI flash manufacturer and device ID
read_flash_status
Read SPI flash status register
write_flash_status
Write SPI flash status register
read_flash
Read SPI flash content
verify_flash
Verify a binary blob against flash
erase_flash
Perform Chip Erase on SPI flash
erase_region
Erase a region of the flash
merge_bin
Merge multiple raw binary files into a single file for later flashing
get_security_info
Get some security-related data
version
Print esptool version
options:-h, --help
show this help message and exit
--chip {auto,CHIP}
Target chip type
--port PORT, -p PORT
Serial port device
--baud BAUD, -b BAUD
Serial port baud rate used when flashing/reading
--before {default_reset,usb_reset,no_reset,no_reset_no_sync}
What to do before connecting to the chip
--after,-a {hard_reset,soft_reset,no_reset,no_reset_stub}
What to do after esptool is finished
--no-stub
Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be
available.
--trace, -t
Enable trace-level output of esptool interactions.
--override-vddsdio
Override ESP32 VDDSDIO internal voltage regulator (use with care)
--connect-attempts CONNECT_ATTEMPTS
Number of attempts to connect, negative or 0 for infinite. Default: 7.
Examples
Display device features, SPI flash manufacturer and device ID:
esptool flash_id
Flash ESP8266 Espressif AT v1.6.2 firmware to ESP-WROOM-02 board:
esptool write_flash --flash_mode dio --flash_size 4MB-c1 0x00 boot_v1.7.bin 0x1000 at/1024+1024/user1.2048.new.5.bin 0xfe000 blank.bin 0x3fc000 esp_init_data_default_v08.bin 0x3fe000 blank.bin
Flash ESP32 Espressif AT v1.1.1 firmware to ESP-WROOM-32 board:
esptool write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader/bootloader.bin 0x20000 at_customize.bin 0x21000 customized_partitions/ble_data.bin 0x24000 customized_partitions/server_cert.bin 0x26000 customized_partitions/server_key.bin 0x28000 customized_partitions/server_ca.bin 0x2a000 customized_partitions/client_cert.bin 0x2c000 customized_partitions/client_key.bin 0x2e000 customized_partitions/client_ca.bin 0xf000 phy_init_data.bin 0x100000 esp-at.bin 0x8000 partitions_at.bin
Display ESP32 efuse state summary:
espefuse --port /dev/ttyUSB0 summary
Generate a flash encryption key:
espsecure generate_flash_encryption_key key.bin
Burn the key to the device (WARNING: one time only operation):
espefuse --port /dev/ttyUSB1 burn_key flash_encryption key.bin
Encrypt flash data:
espsecure encrypt_flash_data --keyfile key.bin --address 0x10000 -o my-app-encrypted.bin my-app.bin
Name
esptool - ESP8266 and ESP32 ROM Bootloader Utility
Reporting Bugs
Review: <https://github.com/espressif/esptool/#troubleshooting>
Known issues: <https://github.com/espressif/esptool/issues>
Report new issues at: <https://github.com/espressif/esptool/issues/new>
See Also
esptool(1), espefuse(1), espsecure(1) esptool.py 4.7.0 January 2024 ESPTOOL.PY(1)
