เราสามารถแบ็คอัพหรือก็อปปี้ข้อมูลจากบอร์ด ESP8266 เพื่อสำรองหรือใช้ทำบอร์ดตัวใหม่ โดยไม่ต้องเขียนโคดได้ง่าย ๆ โดยจะได้ต้นฉบับ Original ของไฟล์ที่ทำงานในบอร์ด ESP8266
ส่วนที่ 1 การติดตั้ง Software1. สำหรับใครที่ยังไม่มีโปรแกรม Python3 ดาวน์โหลดและติดตั้ง
Python3 ที่ลิงค์นี้

2. ดาวน์โหลดไฟล์
esptool และ Python Serial Library ที่นี่3. ลากทั้ง 2 ไฟล์ไปวางไว้ที่ไดรว์ C: เพื่อให้เรียกใช้ได้ง่าย ๆ

4. ที่เมนู Start พิมพ์ cmd แล้วคลิกขวาเลือก Run as Admin

5. ติดตั้ง esptool พิมพ์ตามตัวสีเขียวนี้

6. ติดตั้ง python serial พิมพ์ตามตัวสีเขียวนี้
ส่วนที่ 2 เริ่มใช้งาน ESPToolการใช้งาน ESPTooL บอร์ดจะต้องอยู่ในโหมด flash ก่อน โดยต่อขา GPIO0 กับ GND
กรณีนี้เราทดลองกับ NodeMCU ทำได้โดย
กดปุ่ม flash ค้างไว้ กดและปล่อยปุ่ม reset แล้วปล่อยปุ่ม flash
1. คำสั่งอ่านค่า id : esptool.py --port COMx flash_id
เข้าไปที่ cmd แล้วพิมพ์ตามตัวสีเหลืองนี้
โดยเปลี่ยน COM10 เป็นเลข Comport ของ ESP8266 ให้ถูกต้อง
กด Enter ก็จะเห็นข้อมูล ESP8266 ของเรา
2. คำสั่ง Backup ข้อมูล ESP8266 : esptool.py --port COMx read_flash 0x00000 0x400000 imge.bin
พิมพ์ตามตัวสีเหลืองนี้ Enter แล้วรอซักครู่ เราก็จะได้ไฟล์ชื่อ imge.bin ตามที่เราตั้งชื้อไว้

3. คำสั่งลบข้อมูล Flash ESP8266 : esptool.py --port COMx erase_flash
4. คำสั่งอัพโหลดโปรแกรมที่ backup ไว้ลงบอร์ด ESP8266 : esptool.py --port COMx write_flash -fs 4MB -fm dio 0x0 imge.bin

เพียงเท่านี้เราก็สามารถ Backup โปรแกรมที่อยู่ใน ESP8266 ออกมาเป็นไฟล์ Frimware สำหรับป้องกันตอนบอร์ดรวน หรืออัพโหลดโปรแกรมลงบอร์ดตัวอื่นได้เล้ว
เคล็ดลับเพิ่มเติม
ในการอ่าน/เขียนไฟล์ จะเห็นว่ามีความช้าพอสมควร เรามีวิธีเพิ่มความเร็วได้ง่าย ๆ ดังนี้
โดยปกติความเร็วในการอ่าน/เขียน เริ่มต้นจะอยู่ที่ board rate 115200 เราสามารถตั้งเป็นค่าอื่นได้ ยิ่งค่ามากก็ยิ่งอ่านได้เร็ว แต่ถ้าตั้งค่ามาก ๆ แล้วติดต่อไม่ได้ ค่อยลดความเร็วลงมา
ค่าที่ตั้งได้มีหลายค่า เช่น
230400 , 460800 , 921600 , 1500000
ในคำสั่งนี้เพิ่มคำว่า --baud xxx เข้าไปดังตัวอย่าง บรรทัดสีเหลือง
จะเห็นความเร็วที่เพิ่มขึ้น ที่บรรทัดสีเขียว

ESPTool ยังมีคำสั่งที่น่าสนใจอีกมากมาย สามารถดูข้อมุลเพิ่มเติมได้ที่นี่
https://github.com/espressif/esptool