ESP32-C3 Pinout (Super Mini)
หน้านี้สรุป ESP32-C3 Pinout แบบ “หยิบไปใช้ได้ทันที” สำหรับนักศึกษา / Maker มือใหม่ / ช่างไฟ ที่อยากเริ่มทำระบบอัตโนมัติหรือชุดคิดส์ด้วยบอร์ด ESP32-C3 Super Mini (USB-C).
หมายเหตุ: บอร์ด “Super Mini” มีหลายโรงงานผลิต ตำแหน่งชื่อขาอาจต่างกันเล็กน้อย แต่ หมายเลข GPIO และพฤติกรรมการทำงานของชิป ESP32-C3 เหมือนกัน
สารบัญ
1) แผนผังพิน (Pinout) ของ ESP32-C3 Super Mini
2) Quick Answer: Safe GPIO / Avoid GPIO / ระวังบูต
3) สรุปกลุ่ม GPIO ที่เจอบ่อย (งานชุดคิดส์/IoT)
4) ADC (Analog) อยู่ขาไหน ใช้งานยังไง
5) PWM (LEDC) ใช้คุมไฟ/พัดลมได้ไหม
6) I2C บน ESP32-C3 (SDA/SCL แนะนำ)
7) SPI บน ESP32-C3 (SCK/MISO/MOSI/CS)
8) Interrupts
9) UART Pins (RX/TX) — ต่อกับคอมขาไหน?
10) Strapping / BOOT pins (ขาที่ควรเลี่ยง)
11) ตาราง GPIO แบบใช้งานจริง
12) ทริคเลือกพินให้ไม่พัง
13)อ่านต่อ (บทความที่เกี่ยวข้อง)
14) คำถามที่พบบ่อย
1) แผนผังพิน (Pinout) ของ ESP32-C3
ทิป: ก่อนเริ่มต่อสายจริง แนะนำเปิดหน้า Pinout ไว้ข้าง ๆ
2) Quick Answer: ถ้าจะเริ่มต่อวงจรวันนี้ ใช้ขาไหน?
✅ Safe GPIO (แนะนำสำหรับมือใหม่)
ใช้เป็น Digital I/O, PWM, Interrupt ได้สบาย และมักไม่ชนโหมดบูต (แต่ยังควรเช็คว่า “บอร์ดคุณเอาไปใช้กับ USB/LED ภายในไหม”)
เหมาะกับงานทั่วไป: คุมรีเลย์ (ผ่านไดรเวอร์), อ่านสวิตช์, ทำ PWM, ทำ I2C/SPI แบบกำหนดขาเอง
⚠️ GPIO ที่ควร “ระวัง” (เกี่ยวกับ BOOT/Strapping หรือวงจรบนบอร์ด)
✅ I2C / SPI / UART ใช้ขาไหน (พร้อมก็อปไปใช้)
- I2C (แนะนำสำหรับมือใหม่): เลือกขาที่ว่างและเดินสายง่าย เช่น
SDA=GPIO6,SCL=GPIO7(หรือขาคู่อื่นที่คุณสะดวก) - SPI (แนะนำเริ่มต้น):
SCK=GPIO4,MISO=GPIO5,MOSI=GPIO6,CS=GPIO7(กำหนดเองได้) - UART (Serial): UART0 โดยทั่วไป
TX=GPIO21,RX=GPIO20(ใช้คุยโมดูลภายนอกได้)
ใช้เป็น Digital I/O, PWM, Interrupt ได้สบาย และมักไม่ชนโหมดบูต (แต่ยังควรเช็คว่า “บอร์ดคุณเอาไปใช้กับ USB/LED ภายในไหม”)
3) สรุป “กลุ่มขา” ที่เจอบ่อยในงานจริง (ชุดคิดส์ / IoT)
ขา Digital I/O ทั่วไป
- GPIO ส่วนใหญ่ของ ESP32-C3 ทำเป็น INPUT/OUTPUT ได้
- เหมาะกับ LED, ปุ่มกด, รีเลย์ (ผ่านไดรเวอร์), buzzer, สัญญาณควบคุม
ขาที่เกี่ยวกับ BOOT/Strapping
- กลุ่มนี้มือใหม่พลาดบ่อย เพราะต่อวงจรแล้วบอร์ด บูตไม่ขึ้น/อัปโหลดไม่ได้
- ให้ดูหัวข้อ Strapping pins ก่อนเสมอ
ขาที่อาจถูกใช้กับ USB (เฉพาะบางบอร์ด/บางโหมด)
- บอร์ด ESP32-C3 บางรุ่นใช้ USB ในตัวชิป (USB-Serial/JTAG) และอาจผูกกับ GPIO18/19 เป็น USB D-/D+
- ถ้าคุณใช้ USB อัปโหลด/เปิด Serial Monitor แล้วเจออาการแปลก ๆ ให้ลอง “เลี่ยงใช้ GPIO18/19”
4) ADC (Analog) บน ESP32-C3
ESP32-C3 มี ADC เพียงพอสำหรับงานชุดคิดส์ เช่น LDR, Soil Moisture (Analog), Potentiometer แต่ข้อสำคัญคือ สัญญาณต้องไม่เกิน 3.3V
ADC อยู่ขาไหน?
โดยทั่วไป ADC ของ ESP32-C3 มักอยู่ในกลุ่ม GPIO0–GPIO4 (จำนวนช่องไม่มาก) *และบางบอร์ดอาจไม่ได้นำออกมาทุกช่อง
มือใหม่ควรรู้:
- อย่าเอา 5V เข้าขา ADC ตรง ๆ
- ถ้าสายยาว สัญญาณจะแกว่งง่าย (ต้องจัดกราวด์ดี ๆ / อาจต้องกรองสัญญาณ)
5) PWM (LEDC) บน ESP32-C3
ESP32-C3 ทำ PWM ผ่าน LEDC ได้ยืดหยุ่นมาก (กำหนดความถี่/ความละเอียดได้) เหมาะกับงานหรี่ไฟ LED และคุมความเร็วพัดลม DC
- PWM ใช้ได้กับ GPIO ส่วนใหญ่
- งานยอดฮิต: dim LED, คุมพัดลม/ปั๊ม DC (ผ่าน MOSFET), ทำเสียง buzzer
ถ้าคุม “ของจริง” เช่น พัดลม/ปั๊ม/โซลินอยด์ อย่าขับจาก GPIO ตรง ๆ ใช้ โมดูลรีเลย์ หรือ MOSFET driver เพื่อความปลอดภัยและยืดอายุบอร์ด
6) I2C บน ESP32-C3
I2C ของ ESP32-C3 สามารถ “ย้ายขาได้” (กำหนดเอง) มือใหม่แนะนำเลือก 2 ขาที่ว่างและอยู่ใกล้กันเพื่อเดินสายง่าย
ค่าที่แนะนำ (เริ่มต้นง่าย)
SDA = GPIO6SCL = GPIO7
โค้ดตัวอย่างแนวนี้: Wire.begin(SDA, SCL); (ถ้าคุณเปลี่ยนขา ก็เปลี่ยนค่าใน begin ให้ตรง)
7) SPI บน ESP32-C3
SPI ก็ย้ายขาได้เหมือนกัน แต่สำหรับมือใหม่ให้ยึดชุดขาที่ “เดินสายสั้น” และไม่ชน BOOT/USB
ชุดเริ่มต้นที่ทำงานง่าย (แนะนำ)
SCK = GPIO4MISO = GPIO5MOSI = GPIO6CS = GPIO7
ถ้าคุณใช้โมดูล SPI แล้วอ่านค่าเพี้ยน 80% มาจาก “สายยาว/กราวด์ไม่ดี/ต่อขาผิด” แนะนำเริ่มจากสายสั้น ๆ แล้วค่อยขยาย
8) Interrupts
Interrupt ใช้จับเหตุการณ์ทันที เช่น ปุ่มกด, encoder, pulse sensor (ตอบสนองไวกว่า polling)
- GPIO ส่วนใหญ่รองรับ interrupt
- มือใหม่เริ่มจากปุ่มกด + ใส่ debounce จะเห็นภาพชัดสุด
9) UART Pins — ขา RX/TX ที่ต่อกับคอม “ขาไหน?”
บอร์ด ESP32-C3 Super Mini ส่วนใหญ่ “เสียบ USB-C แล้วคอมเห็นเป็นพอร์ต” ได้เลย เพราะใช้ USB ในตัวชิป (USB-Serial/JTAG / CDC) ดังนั้น ไม่ได้จำเป็นต้องใช้ RX/TX pin เพื่อคุยกับคอม เหมือนบอร์ดรุ่นเก่า
แต่ถ้าคุณต้องต่อ UART ไปหาอุปกรณ์ภายนอก (GPS/RS485/โมดูล Serial)
โดยทั่วไป UART0 ของ ESP32-C3 จะใช้ชุดนี้:
- TX0 = GPIO21
- RX0 = GPIO20
ข้อควรระวัง:
- ถ้าคุณใช้ Serial Monitor ผ่าน USB แล้ว UART0 ถูกใช้งานร่วมกันในโปรเจกต์ อาจทำให้ข้อมูลมั่วได้
- ทางปลอดภัยคือใช้ UART เพิ่ม (Serial1) แล้ว “กำหนดขาเอง” ไปที่ GPIO ว่าง ๆ
10) Strapping / BOOT pins (ขาที่ควรเลี่ยง)
Strapping pins คือขาที่ชิปใช้ “อ่านสถานะตอนเปิดเครื่อง” เพื่อกำหนดโหมดบูต ถ้าคุณต่อวงจรไปดึง HIGH/LOW ผิดตอนเปิดเครื่อง บอร์ดอาจ ไม่บูต หรือ เข้าโหมดอัปโหลดไม่ได้
แนวทางสำหรับมือใหม่:
- เลี่ยงต่อโหลดหนัก ๆ กับ GPIO0 (ปุ่ม BOOT)
- ถ้าจะใช้ GPIO0/2/8/9 ให้ทดสอบก่อน และอย่าให้ถูกดึง LOW/HIGH แปลก ๆ ตอนเริ่มบูต
- ถ้าบอร์ด “อัปโหลดไม่เข้า” ให้ถอดวงจรออกก่อน แล้วลองใหม่
11) ตาราง GPIO แบบใช้งานจริง (ESP32-C3)
ตารางนี้ตั้งใจทำให้ “มือใหม่เลือกขาได้เร็ว” โดยสรุปความสามารถหลัก: Digital / PWM / ADC / I2C / SPI / UART / Interrupt *การย้ายขา I2C/SPI/UART ทำได้ผ่าน GPIO Matrix
GPIO | Digital I/O | PWM | ADC | I2C / SPI (ย้ายขาได้) | UART | Interrupt | หมายเหตุ (สำหรับมือใหม่) |
|---|---|---|---|---|---|---|---|
| GPIO0 | ได้ | ได้ | ได้* | ได้ | ได้ | ได้ | มักเป็น BOOT/Strapping เลี่ยงต่อโหลดหนัก |
| GPIO1 | ได้ | ได้ | — | ได้ | ได้ | ได้ | ใช้เป็น I/O ทั่วไปได้ดี |
| GPIO2 | ได้ | ได้ | — | ได้ | ได้ | ได้ | ระวังบูต บางวงจรดึงผิดแล้วค้าง |
| GPIO3 | ได้ | ได้ | ได้* | ได้ | ได้ | ได้ | เหมาะเป็นขาเซนเซอร์/สวิตช์ |
| GPIO4 | ได้ | ได้ | ได้* | ได้ | ได้ | ได้ | ขาเริ่มต้นยอดนิยม (SPI/I2C ก็ได้) |
| GPIO5 | ได้ | ได้ | — | ได้ | ได้ | ได้ | เหมาะคุมรีเลย์/MOSFET (ผ่านไดรเวอร์) |
| GPIO6 | ได้ | ได้ | — | ได้ (แนะนำเป็น SDA/MOSI) | ได้ | ได้ | แนะนำเป็น I2C/SPI เพราะเดินสายง่าย |
| GPIO7 | ได้ | ได้ | — | ได้ (แนะนำเป็น SCL/SCK/CS) | ได้ | ได้ | คู่กับ GPIO6 เหมาะทำ I2C |
| GPIO8 | ได้ | ได้ | — | ได้ | ได้ | ได้ | บางบอร์ดผูกวงจรภายใน เทสต์ก่อน |
| GPIO9 | ได้ | ได้ | — | ได้ | ได้ | ได้ | บางบอร์ดผูกวงจรภายใน เทสต์ก่อน |
| GPIO10 | ได้ | ได้ | — | ได้ | ได้ | ได้ | ปลอดภัยสำหรับงานทั่วไป |
| GPIO18 | ได้ | ได้ | — | ได้ | ได้ | ได้ | บางบอร์ดใช้เป็น USB D- เลี่ยงถ้าใช้ USB |
| GPIO19 | ได้ | ได้ | — | ได้ | ได้ | ได้ | บางบอร์ดใช้เป็น USB D+ เลี่ยงถ้าใช้ USB |
| GPIO20 | ได้ | ได้ | — | ได้ | RX0 | ได้ | ขา RX (UART0) นิยมใช้คุยโมดูลภายนอก |
| GPIO21 | ได้ | ได้ | — | ได้ | TX0 | ได้ | ขา TX (UART0) และใช้เป็น I/O ทั่วไปได้ดี |
12) ทริคเลือกพินให้ไม่พัง (สรุปแบบพี่เตือนน้อง)
- เริ่มจาก Safe GPIO ก่อน แล้วค่อยขยายไปขาอื่น
- อย่าเอา GPIO0 ไปขับรีเลย์/มอเตอร์ (ถ้าจำเป็นต้องใช้ให้ผ่านไดรเวอร์และอย่าดึงระดับผิดตอนบูต)
- ถ้าใช้ USB อัปโหลด/Serial แล้วงานรวน ให้ลอง เลี่ยง GPIO18/19 (บางบอร์ดผูกกับ USB)
- งานเซนเซอร์ Analog ให้สงวน ADC ไว้กับงานจำเป็นจริง ๆ และคุมแรงดันไม่เกิน 3.3V
- เดินสายสั้น + กราวด์ดี = ลดปัญหาไป 50%
ก่อนเริ่มต่อสาย อย่าลืมดู “Pinout”
อ่านต่อ (บทความที่เกี่ยวข้อง)
FAQ: คำถามยอดฮิต ESP32-C3 Pinout
บอร์ด ESP32-C3 Super Mini ต้องใช้ USB-to-TTL ไหม?
ส่วนใหญ่ไม่ต้อง เพราะบอร์ดมักใช้ USB ในตัวชิป (USB-Serial/JTAG/CDC) เสียบ USB-C แล้วใช้งานได้เลย ยกเว้นบางรุ่นที่ USB มีไว้จ่ายไฟอย่างเดียว.
RX/TX ที่ใช้ต่อ Serial (UART0) คือขาไหน?
โดยทั่วไป UART0 ของ ESP32-C3 คือ TX0=GPIO21 และ RX0=GPIO20 (ใช้คุยโมดูลภายนอกได้). แต่การคุยกับคอมผ่าน USB มักไม่จำเป็นต้องใช้ RX/TX pin.
ADC ของ ESP32-C3 อยู่ขาไหน?
โดยทั่วไป ADC จะอยู่ในกลุ่ม GPIO0–GPIO4 แต่บอร์ดบางรุ่นอาจไม่นำออกมาครบทุกช่อง และต้องระวังแรงดันไม่เกิน 3.3V.
ขาไหนควรเลี่ยงเพื่อกันบูตไม่ขึ้น?
เลี่ยง GPIO0 (BOOT) และขาที่เกี่ยวกับ Strapping/วงจรภายใน (เช่น GPIO2/8/9 ในบางบอร์ด) รวมถึง GPIO18/19 หากบอร์ดคุณใช้ USB D-/D+ อยู่.
I2C/SPI ต้องใช้ขาตายตัวไหม?
ไม่จำเป็น ESP32-C3 ย้ายขาได้ผ่าน GPIO Matrix แต่เพื่อความง่าย มือใหม่ควรเลือกขาที่ว่าง เดินสายสั้น และไม่ชน BOOT/USB.



