ESPTOOL.PY(1)
π ESPTOOL.PY(1) π
okay bestie, sit DOWN. this is the esptool.py manual page, straight out of the User Commands section, and it's literally the whole vibe for talking to ESP8266 and ESP32 chips. π¦
β¨ NAME β¨
esptool β ESP8266 and ESP32 ROM Bootloader Utility π₯
πΈ DESCRIPTION πΈ
the usage is, and i quote, this exact thing:
esptool [OPTION] COMMAND
π command arguments π
if you want the deets on any single command, run esptool {command} -h for additional help. periodt.
load_ramβ download an image to RAM and execute it. yes, straight into memory, no flash required β¨dump_memβ dump arbitrary memory to diskread_memβ read an arbitrary memory locationwrite_memβ read-modify-write to an arbitrary memory locationwrite_flashβ write a binary blob to flashrunβ run application code in flashimage_infoβ dump headers from a binary file (bootloader or application)make_imageβ create an application image from binary fileself2imageβ create an application image from an ELF fileread_macβ read MAC address from OTP ROMchip_idβ read Chip ID from OTP ROMflash_idβ read SPI flash manufacturer and device IDread_flash_statusβ read the SPI flash status registerwrite_flash_statusβ write the SPI flash status registerread_flashβ read SPI flash contentverify_flashβ verify a binary blob against flasherase_flashβ perform Chip Erase on SPI flash π§Ήerase_regionβ erase a region of the flashmerge_binβ merge multiple raw binary files into a single file for later flashingget_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 the 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 an 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 an 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 π do NOT mess this up):
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
π AUTHOR π
esptool.py was started by Fredrik Ahlberg as an unofficial community project, currently maintained by Angus Gratton and supported by Espressif Systems (Shanghai) PTE LTD. this manual page has been produced by Milan Kupcevic <milan@debian.org> for the Debian project and can be used by others. iconic behavior honestly π
π 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>
π 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.
fr fr, no warranty. read it again. π
π¦ SEE ALSO π¦
esptool(1), espefuse(1), espsecure(1)
and that's the whole page bestie!! this was esptool.py version 4.7.0, dated January 2024, and yeah it lives in the ESPTOOL.PY(1) corner of your man pages. go flash something slay β¨π
π
π¦ where this page comes from
- debian trixie: esptool 4.7.0+dfsg-0.1 Β· GPL-2.0-or-later
- ubuntu noble: esptool 4.7.0+dfsg-0.1 Β· GPL-2.0-or-later
- ubuntu questing: esptool 4.7.0+dfsg-0.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms