ESP32 – 38Pin Development Board (WIFI and Bluetooth)

https://lampatronics.com/product/esp32-38pin-development-board-wifi-and-bluetooth

ภาพรวมแบบเข้าใจเร็ว

  • ชิป: ESP32-WROOM-32 (ESP32-D0WD* series) ซีพียู Xtensa LX6 2 คอร์ สูงสุด 240 MHz, ประสิทธิภาพ ~600 DMIPS, มี ULP co-processor สำหรับโหมดประหยัดพลังงาน
  • เครือข่ายไร้สาย: Wi-Fi 2.4 GHz 802.11 b/g/n + Bluetooth v4.2 BR/EDR/BLE (วิทยุร่วมกับ Wi-Fi) วิกิพีเดียespressif.com
  • หน่วยความจำบนชิป: ROM ~448 KB, SRAM ~520 KB; แฟลชภายนอกบนโมดูลปกติ 4 MB
  • ADC/DAC: ADC SAR 12-บิต สูงสุด 18 ช่อง, DAC 8-บิต 2 ช่อง (GPIO25/26) วิกิพีเดีย
  • พอร์ต USB-UART: ส่วนใหญ่ใช้ CP2102
  • ไฟเลี้ยง: 5 V ผ่าน Micro-USB หรือ VIN(5 V) → เรกูเลเตอร์บนบอร์ดให้ 3.3 V กับลอจิกทุกขา (ห้ามป้อน 5 V เข้าขา 3V3)
  • ข้อกำหนดแหล่งจ่าย (สำคัญ): แนะนำ 3.3 V/5 V ที่มีกระแสจ่าย ≥ 500 mA เพื่อรองรับกระชากของ Wi-Fi ตามดาต้าชีต ESP32 series espressif.com

เชิงลึกที่ควรรู้ (สำหรับการออกแบบ/สอน/โปรเจ็กต์จริง)

1) พลังงานและโหมดประหยัด

  • กระแสกระชากช่วงส่งสัญญาณ Wi-Fi ทำให้บอร์ดรีเซ็ตได้ถ้าแหล่งจ่ายอ่อน → ใช้แหล่งจ่าย 5 V คุณภาพดี (≥ 500 mA) และสาย USB สั้น/ดี ๆ espressif.com
  • Deep-Sleep ต่ำระดับไมโครแอมป์ (อ้างถึง 5 µA ในข้อมูลสรุปทั่วไป) เหมาะกับงานแบตเตอรี่ยาว ๆ พร้อมปลุกด้วย Timer/Touch/GPIO/ADC ได้ วิกิพีเดีย

2) ข้อจำกัด ADC ที่ “มักพลาด”

  • ADC2 ใช้ร่วมกับไดรเวอร์ Wi-Fi → เมื่อ Wi-Fi ทำงาน อ่าน ADC2 จะล้มเหลว/ไม่เสถียร; ให้ใช้ ADC1 (GPIO32–39) แทนในงานที่มี Wi-Fi เสมอ (เอกสาร ESP-IDF ระบุชัด) Espressif Docs+1
  • เชิงคุณภาพของ ADC: เป็น SAR 12-บิต แต่มี non-linearity; ควรใช้ attenuation ที่เหมาะสม, ทำการ calibration (esp-idf/Arduino), กรองสัญญาณ (median/avg), แยกกราวด์สัญญาณอ่อนไวจากโหลดสวิทช์

3) ขา “อ่อนไหว” ตอนบูต (Strapping/Boot)

  • ขา GPIO0, GPIO2, GPIO5, MTDI(GPIO12), MTDO(GPIO15) เป็น strapping pins—ต้องคุมระดับตรรกะให้ถูกต้องช่วงเปิดเครื่อง ไม่งั้นจะเข้าดาวน์โหลดโหมด/บูตไม่ขึ้น (ดู Boot Mode Table) Espressif Docsespressif.com
  • แนวปฏิบัติ:
    • อย่าต่อ โหลดดึงลง/ดึงขึ้นแรง ๆ กับขาเหล่านี้ตอนเริ่มระบบ
    • รีเลย์/LED/อุปกรณ์ภายนอก ควรผ่านทรานซิสเตอร์/ไดร์เวอร์ และออกแบบ Pull-up/down ให้ไม่กวนบูต
    • หากแฟลชลำบาก ให้กดปุ่ม BOOT ค้างแล้วกด EN/RESET

4) I/O และกระแสขา

  • กำลังขาดิจิทัลสามารถตั้ง drive strength ได้ ~5/10/20/40 mA ตามดาต้าชีต (ค่าเริ่มต้น ~20 mA) แต่ อย่า ขับโหลดกินกระแสสูงตรง ๆ—ใช้ทรานซิสเตอร์/ไดร์เวอร์จะปลอดภัยกว่า espressif.com
  • ขาอินพุตเท่านั้น: GPIO34–39 (ไม่มี Pull-up/down ภายใน)
  • ระดับลอจิก 3.3 V เท่านั้น → โมดูล 5 V (เช่น บางรีดสวิตช์/อัลตราโซนิก Echo) ควรแปลงระดับสัญญาณ

5) การป้อนแรงดัน & กราวด์

  • เลี้ยงผ่าน USB 5 V, VIN(5 V) หรือ 3V3(3.3 V Regulated) ได้
  • ห้าม ป้อน 5 V เข้าขา 3V3 เด็ดขาด
  • งานมอเตอร์/เซอร์โว/รีเลย์ → แยกแหล่งจ่าย (ground join) และใส่ไดโอดกันกลับ/คาปาซิเตอร์กรอง

6) ซอฟต์แวร์/เฟรมเวิร์กที่รองรับ

  • ESP-IDF (แนะนำสำหรับงานจริง), Arduino (เริ่มง่าย), MicroPython, RTOS ต่าง ๆ
  • ตั้งค่า Partition Scheme/OTA, Brown-out (บางงานอาจปิดเพื่อหลีกเลี่ยงรีเซ็ตจากแหล่งจ่ายอ่อน)
  • ไดรเวอร์ CP2102 (Windows/macOS/Linux) — ถ้าเจอพอร์ตไม่ขึ้น/คอมไพล์แฟลชไม่ได้ ให้ตรวจสาย/ไดรเวอร์/ปิด Serial Monitor/อุปกรณ์อื่นที่จับพอร์ตอยู่

ข้อควรคำนึง/ควรระวัง (สรุปแบบเช็กลิสต์)

  • ใช้ ADC1 เมื่อต้องอ่านอนาล็อกพร้อม Wi-Fi (หลีกเลี่ยง ADC2) Espressif Docs
  • ออกแบบโหลดที่ขา GPIO0/2/5/12/15 ให้ไม่ดึงสภาวะบูตผิด (โดยเฉพาะรีเลย์/LED/อุปกรณ์ที่มี Pull เอง) Espressif Docs
  • เลือกแหล่งจ่าย ≥ 500 mA และสาย/พอร์ต USB ที่ดี เพื่อลดปัญหารีเซ็ตเวลาส่ง Wi-Fi espressif.com
  • แปลงระดับสัญญาณเมื่อคุยกับอุปกรณ์ 5 V
  • แยกไฟโหลดเหนี่ยวนำ (มอเตอร์/รีเลย์/โซลินอยด์) และ รวมกราวด์เดียวกัน
  • ขา GPIO34–39 เป็นอินพุตเท่านั้น และบางขาไม่มี Pull-up/down ภายใน
  • ทำ ADC calibration + filtering เพื่อคุณภาพข้อมูล
  • ใช้ ทรานซิสเตอร์/ไดร์เวอร์ เมื่อขับโหลดกินกระแส
  • ปรับ attenuation ADC ให้ตรงช่วงแรงดันสัญญาณจริง

ตารางเปรียบเทียบตระกูล ESP32 ยอดนิยม (เลือกให้ตรงงาน)

รุ่น/ชิปCPU/คอร์Wi-FiBluetooth802.15.4USB (ออนบอร์ด SoC)จุดเด่น/หมายเหตุ
ESP32 (คลาสสิก, WROOM-32)Xtensa LX6 Dual-Core @240 MHz2.4 GHz b/g/nv4.2 BR/EDR + BLE– (ต้องพึ่ง USB-UART เช่น CP2102)ADC 18ch + DAC 2ch; ฮิตสุด; DevKit 30/38-Pin; เหมาะกับงานทั่วไป/IoT ครบเครื่อง วิกิพีเดีย
ESP32-WROVERLX6 Dual-Core2.4 GHz b/g/nv4.2เหมือน ESP32 แต่ มี PSRAM เหมาะงานกล้อง/จอ/บัฟเฟอร์ใหญ่
ESP32-S2Xtensa LX7 Single-Core2.4 GHz b/g/nไม่มี BTUSB OTGGPIO เยอะ, เน้นอุปกรณ์ USB/ความปลอดภัย, เหมาะกับ HID/USB Device ง่าย ๆ วิกิพีเดีย
ESP32-S3Xtensa LX7 Dual-Core2.4 GHz b/g/nBLE 5USB OTGเพิ่มชุดคำสั่งช่วยงาน ML, ต่อ PSRAM ง่าย, สายงาน Vision/AI edge น่าใช้ วิกิพีเดีย
ESP32-C3RISC-V Single-Core @160 MHz2.4 GHz b/g/nBLE 5 (LE)USB Deviceประหยัดพลังงาน, ขาเข้ากัน ESP8266 บางรุ่น, ราคาคุ้ม วิกิพีเดีย
ESP32-C6RISC-V Hi-perf + LP coreWi-Fi 6 (2.4 GHz)BLE 5.3มี (Thread/Zigbee)USB Deviceสำหรับ IoT สมัยใหม่ (Wi-Fi 6 + Thread/Zigbee) ในตัวเดียว วิกิพีเดีย
ESP32-H2RISC-V Single-CoreBLE 5.3มีUSB Deviceไม่มี Wi-Fi เหมาะโครงข่าย Thread/Zigbee + BLE วิกิพีเดีย

หมายเหตุ: รายละเอียด boot/strapping และสเปกจ่ายไฟ/ไดรฟ์ขาอ้างอิงจากเอกสารดาต้าชีต ESP32 series ของ Espressif ซึ่งระบุโหมดบูตที่คุมโดย GPIO0/GPIO2, สายออภุต/ไดร์ฟสเตร็งธ์ และคำแนะนำแหล่งจ่ายไฟ (≥ 500 mA) สำหรับความเสถียรของระบบ, พร้อมตาราง/ไทมิงสัญญาณของ strapping pins (ดูอ้างอิง) espressif.com

“สูตรเลือกใช้” ให้ตรงงาน

  • สอน/โปรเจ็กต์ทั่วไป (Web/MQTT/เซนเซอร์/รีเลย์): เริ่มที่ ESP32 38-Pin (WROOM-32)
  • งานกล้อง/จอ/หน่วยความจำใหญ่: เลือก WROVER (มี PSRAM) หรือ S3 + PSRAM
  • ต้อง USB โดยตรง/อุปกรณ์ HID: S2/S3 (USB OTG ในตัว)
  • โครงข่ายสมัยใหม่/ประหยัดพลังงาน: C3 (RISC-V + USB Device)
  • ต้อง Wi-Fi 6 + Thread/Zigbee: C6; เฉพาะ Thread/Zigbee + BLE ไม่ใช้ Wi-Fi → H2

บอร์ด ESP32 DevKit V1 (38-Pin) คือ “ม้าศึกสารพัดประโยชน์” สำหรับห้องแล็บและงานภาคสนาม: Wi-Fi+BLE ครบ, GPIO เยอะ, เรียน/สอน/ต้นแบบไว แต่ให้ระวัง ADC2+Wi-Fi, ขา strapping ตอนบูต, และ แหล่งจ่าย ≥ 500 mA จะทำให้งานเสถียรตั้งแต่วันแรกที่ต่อวงจร Espressif Docs+1espressif.com

ไดรเวอร์ของชิป USB-to-UART ที่อยู่บนบอร์ด ครับ (ไม่ใช่ไดรเวอร์ของ ESP32 เอง)
บอร์ด ESP32 DevKit V1 (38-pin) ส่วนมากใช้ Silicon Labs CP2102 — แนะนำให้ติดตั้ง CP210x VCP driver จากผู้ผลิตโดยตรง เพื่อให้พอร์ตอนุกรม (COM/tty) โผล่ขึ้นมาเสถียรบนทุกระบบปฏิบัติการ silabs.com

จะรู้ได้ไงว่าควรลงตัวไหน?

ดูที่ “ชิปเล็กๆ ใกล้พอร์ต USB” หรือเช็คใน Device Manager (Windows) → Properties → Details → Hardware IDs

  • CP210x (Silicon Labs) → VID:PID 10C4:EA60 → ใช้ CP210x VCP driver. Device Huntsilabs.com
  • CH340/CH341 หรือ CH9102 (WCH) → VID:PID 1A86:7523 (CH340) หรือ 1A86:55D4 (CH9102) → ใช้ไดรเวอร์ WCH CH34x/CH9102. Device Huntdrivermax.comwch-ic.com
  • FTDI (FT232R ฯลฯ) → ใช้ FTDI VCP driver. FTDI

ติดตั้งอย่างไรดี (แยกตามระบบ)

ระบบสิ่งที่แนะนำทำ
Windows 10/11ติดตั้ง CP210x VCP (หรือไดรเวอร์ตามชิปที่ตรวจพบ) แล้วเสียบใหม่ จะเห็น “Silicon Labs CP210x USB to UART Bridge (COMx)” ใน Device Manager. silabs.com
macOS (Big Sur/Monterey/Ventura/Sonoma/Sequoia)ติดตั้ง CP210x VCP แล้วไปที่ Privacy & Security เพื่อ Allow system extension จากผู้พัฒนา จากนั้นรีสตาร์ตถ้าระบบแจ้งเตือน (นี่เป็นข้อกำหนดความปลอดภัยของ macOS รุ่นใหม่) → พอร์ตจะขึ้นเป็น /dev/cu.SLAB_USBtoUART. silabs.comการสนับสนุนของ Apple
Linuxปกติ มีไดรเวอร์ในเคอร์เนลอยู่แล้ว (cp210x/ch34x) ไม่ต้องติดตั้ง—เสียบแล้วจะได้ /dev/ttyUSB* หรือ /dev/ttyACM*. silabs.com

เช็ค/แก้ปัญหาพื้นฐาน

  • เปลี่ยน สาย USB ที่เป็นสาย “ส่งข้อมูล” (หลายครั้งเจอสายชาร์จอย่างเดียว)
  • ปิด Serial Monitor/โปรแกรมที่จับพอร์ตไว้ (“COM port busy” จะหาย)
  • ถ้าไม่เห็นพอร์ต: ติดตั้งไดรเวอร์ให้ตรงชิป, ถอดเสียบใหม่, ลองพอร์ต/สายอื่น
  • Windows: ดู Device Manager → Ports (COM & LPT) ชื่อพอร์ตจะบอกชัดว่า CP210x / CH340 / FTDI
  • macOS: ติดตั้งแล้วไป Privacy & Security → Allow (ถ้าระบบเตือนเรื่อง System Extension) ก่อนถึงจะใช้งานได้ การสนับสนุนของ Apple

ลิงก์ทางการ (โหลดไดรเวอร์)

  • CP210x VCP (Silicon Labs): หน้าดาวน์โหลดทางการ (มี Windows/macOS/Linux) silabs.com
  • CH340/CH341/CH9102 (WCH): ไดรเวอร์ Windows/macOS ทางการจาก WCH wch-ic.com+1
  • FTDI VCP: หน้าดาวน์โหลดทางการ (Windows/macOS) FTDI