Scroll to navigation

ESPEFUSE(1) User Commands ESPEFUSE(1)

NAME

espefuse - ESP32 efuse get/set tool

DESCRIPTION

usage: espefuse [OPTION] COMMAND

command arguments:

Run espefuse {command} -h for additional help
dump
Dump raw hex values of all efuses
summary
Print human-readable summary of efuse values
burn_efuse
Burn the efuse with the specified name
read_protect_efuse
Disable readback for the efuse with the specified name
write_protect_efuse
Disable writing to the efuse with the specified name
burn_key
Burn a 256-bit AES key to EFUSE BLK1,BLK2 or BLK3 (flash_encryption, secure_boot).
burn_block_data
Burn non-key data to EFUSE BLK1, BLK2 or BLK3. Don't use this command to burn key data for Flash Encryption or Secure Boot, as the byte order of keys is swapped (use burn_key).
set_flash_voltage
Permanently set the internal flash voltage regulator to either 1.8V, 3.3V or OFF. This means GPIO12 can be high or low at reset without changing the flash voltage.
adc_info
Display information about ADC calibration data stored in efuse.
burn_custom_mac
Burn a 48-bit Custom MAC Address to EFUSE BLK3.
get_custom_mac
Prints the Custom MAC Address.

optional arguments:

-h, --help
show this help message and exit
--baud BAUD, -b BAUD
Serial port baud rate used when flashing/reading
--port PORT, -p PORT
Serial port device
--before {default_reset,no_reset,esp32r1,no_reset_no_sync}
What to do before connecting to the chip
--do-not-confirm
Do not pause for confirmation before permanently writing efuses. Use with caution.

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
    

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.

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.

SEE ALSO

esptool(1), espefuse(1), espsecure(1)
March 2019 esptool.py 2.6