ESP32-C3 Serial Monitor ไม่ขึ้น แก้ยังไง? มือใหม่เช็กตามนี้ได้เลย


คุณเสียบ 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 หรือเห็นบ้างไม่เห็นบ้าง

จากประสบการณ์จริง: ถ้าคุณเสียบ ESP32-C3 แล้วไฟติด แต่ Arduino IDE ไม่เห็น Port อย่าเพิ่งแก้โค้ด ให้เปลี่ยนสาย USB ก่อนเป็นอันดับแรก

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 baud

4. เช็ก Serial.begin()

ในฟังก์ชัน setup() ต้องมี Serial.begin() ก่อนใช้ Serial.print() หรือ Serial.println()

อ่านต่อ: ถ้าคุณยังไม่เข้าใจว่า ESP32 คืออะไร และควรเริ่มจากบอร์ดรุ่นไหนดี แนะนำให้อ่านบทความ ESP32 คืออะไร ก่อน จะช่วยให้เลือกบอร์ดและแก้ปัญหาง่ายขึ้นมาก

ตั้งค่า 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

หมายเหตุ: ชื่อเมนูใน Arduino IDE อาจต่างกันเล็กน้อยตามเวอร์ชันของ ESP32 Board Package แต่หลักการคือ ให้เปิด USB CDC และเลือกโหมด USB ให้ตรงกับบอร์ด ESP32-C3 ที่ใช้งาน
ตั้งค่า USB CDC On Boot สำหรับ ESP32-C3 ใน Arduino IDE

ตัวอย่างค่าที่แนะนำสำหรับ ESP32-C3 Super Mini

เมนูค่าที่แนะนำหมายเหตุ
BoardESP32C3 Dev Moduleใช้ได้กับ ESP32-C3 Super Mini หลายรุ่น
USB CDC On BootEnabledจำเป็นมากถ้าต้องการดู Serial ผ่าน USB
Upload Speed115200 หรือ 460800ถ้า Upload มีปัญหา ให้ลดเป็น 115200
Serial Monitor Baud115200ต้องตรงกับ 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 ครั้ง

ทดสอบ Serial Monitor ESP32-C3 ด้วย Serial.println

โค้ด 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);
}
ข้อควรระวัง: ขา LED บน ESP32-C3 แต่ละบอร์ดอาจไม่เหมือนกัน ถ้า LED ไม่กระพริบ อย่าเพิ่งสรุปว่าโค้ดเสีย ให้เช็ก Pinout ของบอร์ดก่อน

วิธีแก้เมื่อ ESP32-C3 Serial Monitor ยังไม่ขึ้น

1. กด RESET หลังเปิด Serial Monitor

บางครั้งข้อความแรกถูกส่งออกไปก่อนที่คุณจะเปิด Serial Monitor ให้เปิด Serial Monitor ก่อน แล้วกด RESET ที่บอร์ด 1 ครั้ง จากนั้นดูว่าข้อความเริ่มขึ้นหรือไม่

2. ลองเข้า Download Mode ด้วย BOOT + RESET

ถ้า Port ไม่ขึ้น หรือ Upload ไม่ผ่าน ให้ลองขั้นตอนนี้:

  1. กดปุ่ม BOOT ค้างไว้
  2. กดปุ่ม RESET 1 ครั้ง
  3. ปล่อย RESET
  4. ปล่อย BOOT
  5. ลอง Upload ใหม่

วิธีนี้ช่วยบังคับให้บอร์ดเข้าโหมดรับโปรแกรม เหมาะกับกรณี Port เพี้ยนหรืออัปโหลดไม่ได้

3. ถอด Sensor / Relay ออกก่อน

ถ้าคุณต่อ Relay, Motor, Pump หรือ Sensor หลายตัวไว้ ให้ถอดออกก่อน แล้วเหลือแค่บอร์ด ESP32-C3 ต่อกับคอมผ่าน USB เท่านั้น

เหตุผลคือวงจรภายนอกอาจดึงไฟจาก USB มากเกินไป ทำให้บอร์ดรีเซตเอง หรือ Port หลุดจากคอม

4. ลอง Upload โค้ดเปล่าทดสอบ

ถ้าสงสัยว่าโค้ดเดิมทำให้บอร์ดค้าง ให้ลอง Upload โค้ด Serial Test ด้านบนใหม่ ไม่ควรเริ่ม Debug จากโปรเจกต์ใหญ่ที่มี WiFi, Sensor, Relay และ Library หลายตัวพร้อมกัน

วิธีเข้า Download Mode ESP32-C3 ด้วยปุ่ม BOOT RESET

ตารางสรุปอาการ สาเหตุ และวิธีแก้

อาการสาเหตุที่เป็นไปได้วิธีแก้
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()
ตารางแก้ปัญหา ESP32-C3 Serial Monitor ไม่ขึ้น

USB CDC คืออะไร ทำไมถึงเกี่ยวกับ ESP32-C3?

USB CDC คือการทำให้บอร์ดสื่อสารแบบ Serial ผ่าน USB ได้โดยตรง สำหรับ ESP32-C3 บางบอร์ด ช่อง USB ที่เราเสียบกับคอมไม่ได้ผ่านชิป USB-to-Serial แยก แต่ใช้ความสามารถ USB ในตัวชิป ESP32-C3

นั่นแปลว่า ถ้าตั้งค่า USB CDC ไม่ถูก Serial Monitor อาจไม่ขึ้น แม้ว่าโค้ดจะ Upload ได้ก็ตาม

จำง่าย ๆ: ESP32 DevKit V1 มักใช้ CH340 / CP2102
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 ไม่ขึ้น ให้ไล่เช็กจากง่ายไปยาก:

  1. เปลี่ยนสาย USB เป็นสาย Data
  2. เลือก Board ให้ตรงกับ ESP32-C3
  3. เลือก Port ให้ถูก
  4. เปิด USB CDC On Boot เป็น Enabled
  5. ตั้ง Baud Rate ให้ตรงกับ Serial.begin()
  6. กด RESET หลังเปิด Serial Monitor
  7. ถอด Sensor / Relay ออกก่อน แล้วทดสอบบอร์ดเปล่า
คำแนะนำแบบ Deva DIY: อย่าแก้พร้อมกันทุกจุด ให้เริ่มจากโค้ด Serial Test สั้น ๆ ก่อน ถ้า Serial ขึ้นแล้ว ค่อยต่อ Sensor, Relay, OLED หรือ WiFi เพิ่มทีละขั้น วิธีนี้จะช่วยให้คุณรู้ว่าปัญหาอยู่ที่บอร์ด สาย USB การตั้งค่า หรือโค้ดจริง ๆ

อยากเริ่ม ESP32 แบบไม่หลงทาง?

ถ้าคุณกำลังเริ่มเรียน ESP32 แล้วเจอปัญหา Upload ไม่ได้, Serial Monitor ไม่ขึ้น, WiFi ต่อไม่ติด
หรือไม่รู้จะเริ่มเขียนโค้ดยังไง ผมแนะนำให้เริ่มจากคอร์สพื้นฐาน ESP32 ของ Deva DIY
ที่ออกแบบให้มือใหม่ทำตามได้ทีละขั้น

เริ่มจากเข้าใจบอร์ด ต่อวงจร อัปโหลดโค้ด Debug ผ่าน Serial Monitor
แล้วค่อยต่อยอดไป Sensor, Relay, WiFi และโปรเจกต์ IoT จริง

คอร์สเรียน ESP32

Shopping Cart
Scroll to Top