สวัสดีครับ ขอแนะนำวิธีแก้ไข Error ESP8266 ที่พบบ่อยและ Checklist สำหรับมือใหม่ครับ ![]()
ปัญหาที่พบบ่อยและวิธีแก้ไข
Error ขณะ Upload (Upload Failed)
สาเหตุ:
- ไม่ได้กดปุ่ม FLASH/BOOT ขณะอัปโหลด
- เลือก COM Port ผิด
- Baud Rate สูงเกินไป
- สาย USB เสีย หรือเป็นสายชาร์จอย่างเดียว
วิธีแก้:
- กดปุ่ม FLASH/BOOT ค้างไว้ขณะกดปุ่ม RESET แล้วปล่อยปุ่ม RESET ก่อน (เข้าโหมด Flash Mode)
- ลองลดค่า Upload Speed เป็น 115200 หรือ 9600
- เปลี่ยนสาย USB เป็นแบบที่รองรับ Data Transfer
- ตรวจสอบว่าเลือก COM Port ถูกต้อง
COM Port ไม่แสดงใน Arduino IDE
สาเหตุ:
- ยังไม่ได้ติดตั้ง CH340/CP2102 Driver
- สาย USB เสียหายหรือเสียบไม่สนิท
- USB Port บนคอมพิวเตอร์มีปัญหา
วิธีแก้:
- ติดตั้ง USB Driver:
- CH340G: ดาวน์โหลดจาก CH340 Driver
- CP2102: ดาวน์โหลดจาก Silicon Labs
- ลองเสียบ USB Port อื่น
- Restart คอมพิวเตอร์หลังติดตั้ง Driver
Compilation Error (โค้ดคอมไพล์ไม่ผ่าน)
สาเหตุ:
- Library ขาดหรือเวอร์ชันไม่รองรับ
- Syntax Error ในโค้ด
- Board Package ติดตั้งไม่สมบูรณ์
วิธีแก้:
- ติดตั้ง ESP8266 Board Package:
- File → Preferences
- Additional Board Manager URLs:
http://arduino.esp8266.com/stable/package_esp8266com_index.json - Tools → Board → Boards Manager → ค้นหา “ESP8266” → Install
- ติดตั้ง Library ที่ขาดผ่าน: Sketch → Include Library → Manage Libraries
- ตรวจสอบ Syntax ให้ถูกต้อง (วงเล็บ, เครื่องหมาย semicolon)
Soft WDT Reset / Exception Error
สาเหตุ:
- โค้ด blocking นานเกินไป (delay() มากเกิน)
- Loop ไม่มี yield() หรือ delay()
- Memory leak
วิธีแก้:
- ใช้
yield()หรือdelay(1)ใน Loop ที่ทำงานหนัก - หลีกเลี่ยง
delay()ยาวนาน ใช้millis()แทน - ใช้
ESP.wdtDisable()และESP.wdtEnable()ถ้าจำเป็น
CHECKLIST สำหรับมือใหม่
การตั้งค่า Arduino IDE
- ติดตั้ง Arduino IDE เวอร์ชันล่าสุด
- เพิ่ม ESP8266 Board Package URL
- ติดตั้ง ESP8266 Board Package จาก Board Manager
- เลือก Board: NodeMCU 1.0 (ESP-12E Module) หรือตามรุ่นที่ใช้
- ติดตั้ง USB Driver (CH340/CP2102)
การเชื่อมต่อฮาร์ดแวร์
- ใช้สาย USB ที่รองรับ Data (ไม่ใช่สายชาร์จอย่างเดียว)
- เสียบสาย USB ให้แน่น
- ตรวจสอบ Power LED บน ESP8266 ติดหรือไม่
- ตรวจสอบว่า COM Port แสดงใน Device Manager (Windows)
การ Upload โค้ด
- เลือก Board ที่ถูกต้อง (Tools → Board)
- เลือก COM Port ที่ถูกต้อง (Tools → Port)
- ตั้งค่า Upload Speed: 115200 (หรือ 921600 ถ้ารองรับ)
- ตั้งค่า Flash Size ให้ตรงกับบอร์ด (มักเป็น 4MB)
- CPU Frequency: 80 MHz (หรือ 160 MHz)
- กดปุ่ม FLASH/BOOT ขณะอัปโหลด (ถ้าจำเป็น)
การแก้ปัญหาเบื้องต้น
- ปิด Serial Monitor ก่อนอัปโหลด
- ลองกด RESET บน ESP8266
- ลองเปลี่ยน USB Port
- ลอง Upload ด้วย Baud Rate ต่ำลง (115200 → 9600)
- Restart Arduino IDE
- Restart คอมพิวเตอร์
การตรวจสอบโค้ด
- ตรวจสอบ Library ครบถ้วน
- ตรวจสอบ Syntax (วงเล็บ, เครื่องหมาย)
- ตรวจสอบ Pin Number ถูกต้อง (GPIO vs D-pin)
- มี
yield()หรือdelay(1)ใน loop() ที่ทำงานหนัก
ตัวอย่างโค้ดทดสอบพื้นฐาน
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
Serial.println("\nESP8266 Started!");
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
Serial.println("LED Blinking...");
}
ข้อมูลเพิ่มเติม
Pin Mapping ESP8266:
- D0 = GPIO16
- D1 = GPIO5
- D2 = GPIO4
- D3 = GPIO0
- D4 = GPIO2 (LED_BUILTIN)
- D5 = GPIO14
- D6 = GPIO12
- D7 = GPIO13
- D8 = GPIO15
หมายเหตุ: GPIO0, GPIO2, GPIO15 เป็น Boot Mode Pins ควรระวังการใช้งาน
หวังว่าจะช่วยได้นะครับ ถ้ายังติดปัญหา ลอง Copy Error Message มาให้ดูด้วยจะช่วยวินิจฉัยได้ชัดเจนขึ้นครับ ![]()
