คุณเสียบ ESP32-C3 แล้ว Upload โค้ดผ่าน แต่พอเปิด Serial Monitor กลับเงียบสนิทใช่ไหมครับ?
ปัญหานี้เจอบ่อยมาก โดยเฉพาะกับบอร์ด ESP32-C3 Super Mini ที่ใช้ USB CDC / USB Serial-JTAG ในตัว
ไม่เหมือน ESP32 DevKit V1 รุ่นเก่าที่หลายคนคุ้นเคย
บทความนี้จะพาคุณไล่เช็กแบบช่างสอนช่าง ไม่ต้องเดาสุ่ม ไม่ต้องกดมั่ว
เราจะเริ่มจากเช็กสาย USB, ตั้งค่า Arduino IDE, เปิด USB CDC On Boot, ทดสอบโค้ด Serial
จนถึงวิธีแก้กรณี Port หาย ๆ โผล่ ๆ
ถ้า ESP32-C3 Upload ได้แต่ Serial Monitor ไม่ขึ้น ให้เช็ก 4 จุดก่อน:
1) สาย USB ต้องเป็นสาย Data
2) เลือก Board / Port ให้ถูก
3) เปิด USB CDC On Boot
4) Baud Rate ต้องตรงกับ Serial.begin()
ESP32-C3 Serial Monitor ไม่ขึ้น เกิดจากอะไร?
ESP32-C3 ไม่ได้ทำงานเหมือน ESP32 DevKit V1 ทุกอย่างครับ จุดที่ทำให้มือใหม่งงคือเรื่อง USB บอร์ด ESP32 รุ่นเก่าหลายตัวจะใช้ชิปแปลง USB-to-Serial เช่น CH340 หรือ CP2102 แต่ ESP32-C3 หลายบอร์ด โดยเฉพาะบอร์ดเล็ก ๆ อย่าง Super Mini จะใช้ระบบ USB CDC หรือ USB Serial/JTAG ที่อยู่ในตัวชิป
เพราะแบบนี้ อาการที่เจอบ่อยคือ Upload ได้ แต่ Serial Monitor ไม่ขึ้น หรือบางครั้งคอมเห็น Port ตอนหนึ่ง แล้วอีกตอน Port หายไปเลย
ESP32-C3 ใช้ USB CDC / USB Serial-JTAG ไม่เหมือน ESP32 รุ่นเก่า
ถ้าคุณเคยใช้ ESP32 DevKit V1 มาก่อน คุณอาจคุ้นกับการเสียบ USB แล้วเลือก COM Port ได้เลย แต่กับ ESP32-C3 บางรุ่น ต้องตั้งค่า USB CDC ให้ถูกก่อน Serial Monitor ถึงจะแสดงผล
พูดง่าย ๆ คือ ESP32-C3 บางบอร์ดไม่ได้คุย Serial ผ่านชิปแปลง USB แยก แต่คุยผ่าน USB ในตัวชิปโดยตรง ถ้าตั้งค่า USB ผิด Serial Monitor ก็มีโอกาสไม่ขึ้น
Upload ได้ แต่ Serial ไม่ขึ้น เพราะเลือกโหมด USB ไม่ถูก
หลายคนเข้าใจว่า “Upload ผ่าน = ทุกอย่างพร้อมใช้งาน” แต่ในงานจริง Upload ผ่านไม่ได้แปลว่า Serial Monitor จะขึ้นเสมอไป โดยเฉพาะ ESP32-C3 ที่มีตัวเลือกเกี่ยวกับ USB CDC และ USB Mode ใน Arduino IDE
สาย USB หรือ Port USB มีปัญหา
ปัญหาง่ายที่สุด แต่เจอบ่อยที่สุด คือใช้สาย USB ที่ชาร์จไฟได้อย่างเดียว แต่ส่งข้อมูลไม่ได้ สายแบบนี้เสียบแล้วไฟติด แต่คอมจะไม่เห็น Port หรือเห็นบ้างไม่เห็นบ้าง
Baud Rate ไม่ตรงกับโค้ด
ถ้าในโค้ดเขียน Serial.begin(115200);
แต่ใน Serial Monitor เลือก Baud Rate เป็น 9600 ข้อความอาจไม่ขึ้น หรือขึ้นเป็นตัวอักษรมั่ว ๆ
อาการที่มักเจอเมื่อ Serial Monitor ไม่ขึ้น
เปิด Serial Monitor แล้วไม่มีข้อความ
อาการนี้คือเปิด Serial Monitor แล้วหน้าจอว่างเปล่า ทั้งที่ในโค้ดมี Serial.println()
สาเหตุที่เป็นไปได้คือ USB CDC ยังไม่เปิด, Baud Rate ไม่ตรง, เลือก Port ผิด หรือบอร์ดยังไม่ Reset หลังเปิด Serial Monitor
Port หาย ๆ โผล่ ๆ
ESP32-C3 Super Mini บางตัวมีอาการ Port ติด ๆ ดับ ๆ ได้ง่าย โดยเฉพาะเมื่อใช้สาย USB ไม่ดี หรือมีวงจรภายนอกกินไฟร่วมกับบอร์ด เช่น Relay, Motor, Pump หรือ Sensor หลายตัว
Upload ผ่าน แต่ Serial.println() ไม่แสดง
อาการนี้มักเกี่ยวกับการตั้งค่า USB CDC On Boot คุณอัปโหลดโค้ดเข้าไปได้ แต่ช่องทาง Serial ที่ใช้แสดงข้อความยังไม่ได้เปิดใช้งานตอนบูต
ข้อความขึ้นมั่ว อ่านไม่ออก
ถ้าข้อความใน Serial Monitor เป็นสัญลักษณ์แปลก ๆ ให้เช็ก Baud Rate ก่อน เช่น โค้ดใช้ 115200 แต่ Serial Monitor ตั้งไว้ 9600 แบบนี้จะอ่านไม่รู้เรื่อง
เช็กพื้นฐานก่อนแก้ปัญหา ESP32-C3
1. เช็กสาย USB ว่าเป็นสาย Data
สาย USB บางเส้นใช้ชาร์จได้อย่างเดียว แต่ส่งข้อมูลไม่ได้ สำหรับงาน ESP32 ควรใช้สาย USB ที่เคยใช้ถ่ายโอนข้อมูลกับมือถือ หรือสายที่แน่ใจว่าเป็น Data Cable
2. เช็ก Board และ Port ใน Arduino IDE
ไปที่เมนู Tools > Board แล้วเลือกบอร์ดที่เป็น ESP32-C3 ให้ตรงกับรุ่นที่ใช้ จากนั้นไปที่ Tools > Port แล้วเลือก COM Port ที่ปรากฏตอนเสียบบอร์ด
3. เช็ก Baud Rate
ถ้าโค้ดใช้แบบนี้:
Serial.begin(115200);Serial Monitor ต้องตั้งเป็น:
115200 baud4. เช็ก Serial.begin()
ในฟังก์ชัน setup() ต้องมี Serial.begin() ก่อนใช้ Serial.print() หรือ Serial.println()
ตั้งค่า Arduino IDE สำหรับ ESP32-C3 ให้ Serial Monitor ขึ้น
จุดนี้สำคัญมากสำหรับ ESP32-C3 โดยเฉพาะมือใหม่ที่เพิ่งย้ายจาก ESP32 DevKit V1 มาใช้ ESP32-C3 Super Mini
เลือก Board ให้ตรงกับ ESP32-C3
ใน Arduino IDE ให้เลือกบอร์ดกลุ่ม ESP32-C3 เช่น:
- ESP32C3 Dev Module
- ESP32-C3 DevKitM-1
- หรือบอร์ด ESP32-C3 ตามที่ผู้ขายแนะนำ
เปิด USB CDC On Boot
ไปที่เมนู:
Tools > USB CDC On Boot > Enabledตัวเลือกนี้ช่วยให้ Serial ผ่าน USB CDC ทำงานตั้งแต่ตอนบอร์ดเริ่มบูต ถ้าปิดไว้ มีโอกาสที่ Upload ได้ แต่ Serial Monitor ไม่แสดงข้อความ
ตั้ง USB Mode ให้เหมาะกับบอร์ด
บางเวอร์ชันของ Arduino IDE / ESP32 Core จะมีเมนู USB Mode ให้เลือก ถ้าใช้ ESP32-C3 ที่ต่อ USB เข้ากับชิปโดยตรง ให้ลองเลือกโหมดที่เกี่ยวกับ USB CDC หรือ Hardware CDC and JTAG

ตัวอย่างค่าที่แนะนำสำหรับ ESP32-C3 Super Mini
| เมนู | ค่าที่แนะนำ | หมายเหตุ |
|---|---|---|
| Board | ESP32C3 Dev Module | ใช้ได้กับ ESP32-C3 Super Mini หลายรุ่น |
| USB CDC On Boot | Enabled | จำเป็นมากถ้าต้องการดู Serial ผ่าน USB |
| Upload Speed | 115200 หรือ 460800 | ถ้า Upload มีปัญหา ให้ลดเป็น 115200 |
| Serial Monitor Baud | 115200 | ต้องตรงกับ Serial.begin() |
โค้ดทดสอบ Serial Monitor สำหรับ ESP32-C3
โค้ด Serial Test แบบง่าย
ให้เริ่มจากโค้ดสั้นที่สุดก่อน อย่าเพิ่งต่อ Sensor, Relay หรือ WiFi
void setup() {
Serial.begin(115200);
// หน่วงเวลาเล็กน้อย เพื่อให้เปิด Serial Monitor แล้วเห็นข้อความแรกง่ายขึ้น
delay(1000);
Serial.println("ESP32-C3 Serial Monitor Test");
Serial.println("If you see this message, Serial is working.");
}
void loop() {
Serial.println("ESP32-C3 is running...");
delay(1000);
}หลัง Upload เสร็จ ให้เปิด Serial Monitor และตั้ง Baud Rate เป็น 115200 ถ้ายังไม่เห็นข้อความ ให้ลองกดปุ่ม RESET บนบอร์ด 1 ครั้ง

โค้ด Blink + Serial สำหรับเช็กว่าโปรแกรมทำงานจริง
บางครั้ง Serial ไม่ขึ้น แต่โค้ดอาจทำงานอยู่ เราสามารถใช้ LED ช่วยเช็กได้ว่าโปรแกรมรันจริงหรือไม่
#define LED_PIN 8 // บอร์ด ESP32-C3 บางรุ่นใช้ LED_BUILTIN หรือ GPIO8
void setup() {
Serial.begin(115200);
delay(1000);
pinMode(LED_PIN, OUTPUT);
Serial.println("ESP32-C3 Blink + Serial Test");
}
void loop() {
digitalWrite(LED_PIN, HIGH);
Serial.println("LED ON");
delay(500);
digitalWrite(LED_PIN, LOW);
Serial.println("LED OFF");
delay(500);
}วิธีแก้เมื่อ ESP32-C3 Serial Monitor ยังไม่ขึ้น
1. กด RESET หลังเปิด Serial Monitor
บางครั้งข้อความแรกถูกส่งออกไปก่อนที่คุณจะเปิด Serial Monitor ให้เปิด Serial Monitor ก่อน แล้วกด RESET ที่บอร์ด 1 ครั้ง จากนั้นดูว่าข้อความเริ่มขึ้นหรือไม่
2. ลองเข้า Download Mode ด้วย BOOT + RESET
ถ้า Port ไม่ขึ้น หรือ Upload ไม่ผ่าน ให้ลองขั้นตอนนี้:
- กดปุ่ม BOOT ค้างไว้
- กดปุ่ม RESET 1 ครั้ง
- ปล่อย RESET
- ปล่อย BOOT
- ลอง Upload ใหม่
วิธีนี้ช่วยบังคับให้บอร์ดเข้าโหมดรับโปรแกรม เหมาะกับกรณี Port เพี้ยนหรืออัปโหลดไม่ได้
3. ถอด Sensor / Relay ออกก่อน
ถ้าคุณต่อ Relay, Motor, Pump หรือ Sensor หลายตัวไว้ ให้ถอดออกก่อน แล้วเหลือแค่บอร์ด ESP32-C3 ต่อกับคอมผ่าน USB เท่านั้น
เหตุผลคือวงจรภายนอกอาจดึงไฟจาก USB มากเกินไป ทำให้บอร์ดรีเซตเอง หรือ Port หลุดจากคอม
4. ลอง Upload โค้ดเปล่าทดสอบ
ถ้าสงสัยว่าโค้ดเดิมทำให้บอร์ดค้าง ให้ลอง Upload โค้ด Serial Test ด้านบนใหม่ ไม่ควรเริ่ม Debug จากโปรเจกต์ใหญ่ที่มี WiFi, Sensor, Relay และ Library หลายตัวพร้อมกัน

ตารางสรุปอาการ สาเหตุ และวิธีแก้
| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ |
|---|---|---|
| Serial Monitor ไม่ขึ้นข้อความ | USB CDC ยังไม่เปิด / Baud Rate ไม่ตรง | เปิด USB CDC On Boot และตั้ง Baud Rate เป็น 115200 |
| Upload ได้ แต่ Serial เงียบ | เลือก USB Mode ไม่ตรงกับบอร์ด | ลองเลือก Hardware CDC and JTAG หรือโหมด USB CDC |
| Port ไม่ขึ้นใน Arduino IDE | สาย USB เป็นสายชาร์จ / Driver / Port USB มีปัญหา | เปลี่ยนสาย USB, เปลี่ยน Port USB, เช็ก Device Manager |
| Port หาย ๆ โผล่ ๆ | ไฟไม่เสถียร / วงจรภายนอกกินกระแส | ถอด Sensor / Relay ออก แล้วลองใหม่ |
| ข้อความขึ้นมั่ว | Baud Rate ไม่ตรง | ตั้ง Serial Monitor ให้ตรงกับ Serial.begin() |

USB CDC คืออะไร ทำไมถึงเกี่ยวกับ ESP32-C3?
USB CDC คือการทำให้บอร์ดสื่อสารแบบ Serial ผ่าน USB ได้โดยตรง สำหรับ ESP32-C3 บางบอร์ด ช่อง USB ที่เราเสียบกับคอมไม่ได้ผ่านชิป USB-to-Serial แยก แต่ใช้ความสามารถ USB ในตัวชิป ESP32-C3
นั่นแปลว่า ถ้าตั้งค่า USB CDC ไม่ถูก Serial Monitor อาจไม่ขึ้น แม้ว่าโค้ดจะ Upload ได้ก็ตาม
ESP32-C3 หลายบอร์ดใช้ USB CDC / USB Serial-JTAG ในตัว
ดังนั้นวิธีแก้ Serial Monitor จึงไม่เหมือนกัน 100%
ข้อควรระวังสำหรับมือใหม่ที่ใช้ ESP32-C3
อย่าต่อโหลดหนักตอน Debug
ถ้ากำลังทดสอบ Serial Monitor ให้เริ่มจากบอร์ดเปล่า ๆ ก่อน อย่าเพิ่งต่อ Relay, Pump, Motor หรือโหลดที่กินกระแสเยอะ เพราะถ้าไฟตก บอร์ดอาจรีเซตเอง และทำให้ Port หลุด
อย่าใช้สาย USB ชาร์จอย่างเดียว
สาย USB เป็นปัญหาคลาสสิกของงาน ESP32 ถ้าเสียบแล้วไฟติด แต่คอมไม่เห็น Port ให้เปลี่ยนสายก่อน วิธีนี้ง่ายและช่วยประหยัดเวลามากกว่าการไล่แก้โค้ดผิดจุด
อย่าเริ่มจากโปรเจกต์ใหญ่ทันที
ถ้า Serial Monitor ไม่ขึ้น อย่าเริ่ม Debug จากโค้ด WiFi + Sensor + Relay + OLED พร้อมกัน ให้ลดเหลือโค้ด Serial Test ก่อน เมื่อ Serial ขึ้นแล้วค่อยเพิ่มอุปกรณ์ทีละชิ้น
ESP32-C3 เหมาะกับมือใหม่ไหม?
ESP32-C3 เป็นบอร์ดที่ดีมากสำหรับโปรเจกต์ขนาดเล็ก ราคาประหยัด ใช้พื้นที่น้อย และเหมาะกับงาน IoT หลายแบบ แต่สำหรับมือใหม่ 100% อาจเจอความงงเรื่อง USB CDC, Port และการกด BOOT / RESET มากกว่า ESP32 DevKit V1
ถ้าคุณเพิ่งเริ่มเรียน ESP32 และอยากให้เริ่มง่ายที่สุด ผมยังแนะนำให้เริ่มจาก ESP32 DevKit V1 ก่อน แต่ถ้าคุณอยากทำโปรเจกต์ขนาดเล็ก ประหยัดพื้นที่ และพร้อมแก้ปัญหาเรื่อง USB เล็กน้อย ESP32-C3 Super Mini ก็เป็นตัวเลือกที่น่าสนใจมาก
สรุป ESP32-C3 Serial Monitor ไม่ขึ้น แก้อย่างไร?
ถ้า ESP32-C3 Serial Monitor ไม่ขึ้น ให้ไล่เช็กจากง่ายไปยาก:
- เปลี่ยนสาย USB เป็นสาย Data
- เลือก Board ให้ตรงกับ ESP32-C3
- เลือก Port ให้ถูก
- เปิด USB CDC On Boot เป็น Enabled
- ตั้ง Baud Rate ให้ตรงกับ Serial.begin()
- กด RESET หลังเปิด Serial Monitor
- ถอด Sensor / Relay ออกก่อน แล้วทดสอบบอร์ดเปล่า
อยากเริ่ม ESP32 แบบไม่หลงทาง?
ถ้าคุณกำลังเริ่มเรียน ESP32 แล้วเจอปัญหา Upload ไม่ได้, Serial Monitor ไม่ขึ้น, WiFi ต่อไม่ติด
หรือไม่รู้จะเริ่มเขียนโค้ดยังไง ผมแนะนำให้เริ่มจากคอร์สพื้นฐาน ESP32 ของ Deva DIY
ที่ออกแบบให้มือใหม่ทำตามได้ทีละขั้น
เริ่มจากเข้าใจบอร์ด ต่อวงจร อัปโหลดโค้ด Debug ผ่าน Serial Monitor
แล้วค่อยต่อยอดไป Sensor, Relay, WiFi และโปรเจกต์ IoT จริง
คอร์สเรียน ESP32



