การฟอร์แมต ESP32” ในทางปฏิบัติหมายถึง การล้างแฟลช (Erase Flash) เพื่อเคลียร์โปรแกรม/ไฟล์ระบบเดิมทั้งหมด แล้วเริ่มใหม่เหมือนบอร์ดเพิ่งออกจากโรงงาน (ฝั่งซอฟต์แวร์)
ด้านล่างคือวิธีที่ใช้ได้จริง 3 แนวทาง
วิธีที่ 1) ฟอร์แมตด้วย Arduino IDE (ง่ายและเร็ว)
-
เปิด Arduino IDE
-
ไปที่ Tools → Board เลือกบอร์ด ESP32 ที่ใช้ (เช่น “ESP32 Dev Module”)
-
ไปที่ Tools → Port เลือกพอร์ตให้ถูก (COMx)
-
ไปที่ Tools → Erase Flash → All Flash Contents
-
อัปโหลดสเก็ตช์อะไรก็ได้ 1 ครั้ง (แม้เป็น Blink) เพื่อให้ IDE ล้างแฟลชก่อนเขียน
ข้อดี: ง่าย ไม่ต้องใช้คำสั่งเพิ่ม
ข้อสังเกต: บางเวอร์ชันเมนู “Erase Flash” อาจไม่ขึ้น ต้องอัปเดต ESP32 board package
วิธีที่ 2) ฟอร์แมตแบบชัวร์ด้วย esptool.py (แนะนำสำหรับงานจริง)
2.1 ติดตั้ง esptool
-
Windows (Command Prompt / PowerShell):

2.2 ล้างแฟลช (Erase)
-
ดูพอร์ตก่อน (เช่น COM5) จาก Device Manager หรือ Arduino IDE
-
รันคำสั่ง

เสร็จแล้ว บอร์ดจะ “โล่ง” ทันที พร้อมแฟลชเฟิร์มแวร์/โปรแกรมใหม่
ถ้าเป็น macOS/Linux พอร์ตมักเป็น
/dev/ttyUSB0หรือ/dev/tty.SLAB_USBtoUARTแล้วแทนค่าในคำสั่งได้เลย
วิธีที่ 3) “ฟอร์แมต” สำหรับ MicroPython โดยตรง (ล้าง + ลงเฟิร์มแวร์ใหม่)
ถ้าอาจารย์ใช้ MicroPython แล้วเจออาการไฟล์ค้าง/รันไม่ออก วิธีนี้แก้ได้ตรงจุด
-
ล้างแฟลชก่อน
-
แฟลช MicroPython firmware
firmware.binคือไฟล์ MicroPython ที่ดาวน์โหลดมาแล้ว
ปัญหาที่พบบ่อย (และวิธีแก้แบบมืออาชีพ)
-
พอร์ตไม่ขึ้น / อัปโหลดไม่ได้: เปลี่ยนสาย USB (ต้องเป็นสาย Data), เปลี่ยนพอร์ต USB, ปิดโปรแกรมที่จับพอร์ตอยู่ (เช่น Thonny/Serial Monitor)
-
Device is busy (ใน Thonny): กด Stop/Restart, ปิด Thonny แล้วค่อย erase_flash ใหม่
-
ต้องกดปุ่ม BOOT: บางบอร์ดต้องกดค้างตอนเริ่มแฟลช/ล้าง แล้วปล่อยเมื่อขึ้น “Connecting…”
สรุป
-
ต้องการ “ล้างทุกอย่างให้เกลี้ยง” → ใช้ Erase Flash
-
อยากง่าย → ทำผ่าน Arduino IDE (Erase Flash: All Flash Contents)
-
อยากชัวร์และใช้ได้ทุกเคส → ใช้ esptool.py erase_flash
-
ใช้ MicroPython แล้วไฟล์เพี้ยน/ค้าง → erase_flash + flash firmware ใหม่
