<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=ESPTool</id>
	<title>ESPTool - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=ESPTool"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=ESPTool&amp;action=history"/>
	<updated>2026-07-22T05:43:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=ESPTool&amp;diff=32517&amp;oldid=prev</id>
		<title>Chao: /* Use ESPTOOL.EXE */</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=ESPTool&amp;diff=32517&amp;oldid=prev"/>
		<updated>2022-01-23T08:25:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Use ESPTOOL.EXE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== ESPtool ===&lt;br /&gt;
* [https://github.com/themadinventor/esptool/ ESPTool]&lt;br /&gt;
* Install dependence if necessary, for lubuntu, first install python-pip, than pip install pyserial&lt;br /&gt;
 apt-get install python-pip&lt;br /&gt;
 pip install pyserial&lt;br /&gt;
* More functions by using -h, for specific command try ie esptool.py write_flash -h.:&lt;br /&gt;
    Run esptool {command} -h for additional help&lt;br /&gt;
    load_ram            Download an image to RAM and execute&lt;br /&gt;
    dump_mem            Dump arbitrary memory to disk&lt;br /&gt;
    read_mem            Read arbitrary memory location&lt;br /&gt;
    write_mem           Read-modify-write to arbitrary memory location&lt;br /&gt;
    write_flash         Write a binary blob to flash&lt;br /&gt;
    run                 Run application code in flash&lt;br /&gt;
    image_info          Dump headers from an application image&lt;br /&gt;
    make_image          Create an application image from binary files&lt;br /&gt;
    elf2image           Create an application image from ELF file&lt;br /&gt;
    read_mac            Read MAC address from OTP ROM&lt;br /&gt;
    flash_id            Read SPI flash manufacturer and device ID&lt;br /&gt;
    read_flash          Read SPI flash content&lt;br /&gt;
    erase_flash         Perform Chip Erase on SPI flash&lt;br /&gt;
* read flash ID: &lt;br /&gt;
 ./esptool.py --baud 115200 --port /dev/ttyUSB0 flash_id&lt;br /&gt;
 Connecting...&lt;br /&gt;
 Manufacturer: e0&lt;br /&gt;
 Device: 4016&lt;br /&gt;
== MISC ==&lt;br /&gt;
* Erase - esptool.py --port COM71 erase_flash&lt;br /&gt;
* esptool.py read_mac&lt;br /&gt;
* esptool.py flash_id&lt;br /&gt;
 esptool.py v2.8&lt;br /&gt;
 Found 1 serial ports&lt;br /&gt;
 Serial port COM71&lt;br /&gt;
 Connecting....&lt;br /&gt;
 Detecting chip type... ESP8266&lt;br /&gt;
 Chip is ESP8266EX&lt;br /&gt;
 Features: WiFi&lt;br /&gt;
 Crystal is 26MHz&lt;br /&gt;
 MAC: 60:01:94:2e:cb:92&lt;br /&gt;
 Uploading stub...&lt;br /&gt;
 Running stub...&lt;br /&gt;
 Stub running...&lt;br /&gt;
 Manufacturer: c8&lt;br /&gt;
 Device: 4016&lt;br /&gt;
 Detected flash size: 4MB&lt;br /&gt;
 Hard resetting via RTS pin...&lt;br /&gt;
== Flash Example ==&lt;br /&gt;
* esptool.py --port COM71 write_flash 0x0 1.5_4MB_8266.bin&lt;br /&gt;
* esptool.py --port COM71 write_flash 0x0 1.5_4MB_8266.bin --flash_mode dout --flash_size 4MB --flash_freq 40m&lt;br /&gt;
Flash specify 2MB-C1&lt;br /&gt;
* esptool.py --port COM71 write_flash 0x0 combined-bin-esp-12s-16mbit-c1.bin --flash_size 2MB-c1&lt;br /&gt;
Specify flash mode &lt;br /&gt;
* esptool.py -b 1500000 write_flash 0x0 Yorktel_ESP8266_HTTPS_Test_0_0_11.bin&lt;br /&gt;
* esptool.py -b 1500000 write_flash --flash_mode dout 0x0 Yorktel_ESP8266_HTTPS_Test_0_0_11.bin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Dump and mass deploy ===&lt;br /&gt;
* After finish coding, upload your code lua into target board, better be complied&lt;br /&gt;
* dump out the flash content out and save as firmware.bin file for batch deploy&lt;br /&gt;
* use this firmware.bin for new products&lt;br /&gt;
# So first setup the esptool.py working environment&lt;br /&gt;
# read out the flash content by command&lt;br /&gt;
 ./esptool.py --baud 115200 --port /dev/ttyUSB0 read_flash 0 4194304 output.bin&lt;br /&gt;
# 4194304 mbits = 4MB, read flash time take at least more than 5 minutes&lt;br /&gt;
# 2097152 mb = 2MB, 1048576 mbits = 1MB, 524288 = 512 KB, 262144 = 256 KB&lt;br /&gt;
# use flash download tool flash normally&lt;br /&gt;
&lt;br /&gt;
* Also can try dump mem out, like RAM, etc, dumping the ROM (64 KiB) from the chip:&lt;br /&gt;
 ./esptool.py dump_mem 0x40000000 65536 iram0.bin&lt;br /&gt;
&lt;br /&gt;
== Use ESPTOOL.EXE ==&lt;br /&gt;
[[File:2022-01-23 162419.png|thumb|right]]&lt;br /&gt;
Find tool at a similar folder: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.1.0\&lt;br /&gt;
 esptool.exe --baud 115200 --port COM60 read_flash 0 4194304 output.bin&lt;br /&gt;
&lt;br /&gt;
Read Flash ID: esptool.exe flash_id&lt;br /&gt;
&lt;br /&gt;
[[category: ESP8266 Program]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>