ทำไมต้องเป็น ESP32?

สวัสดีครับนักศึกษาทุกคน ต่อเนื่องจากบทที่แล้วที่เราได้เห็นภาพรวมของระบบ IoT กันไปแล้ว ส่วนประกอบด่านหน้าสุดที่สำคัญที่สุดก็คือ "อุปกรณ์" (Device) หรือ "สมองกลฝังตัว" ที่จะทำหน้าที่รวบรวมข้อมูลและส่งขึ้นอินเทอร์เน็ต
สมัยที่เราเรียนวิชาไมโครคอนโทรลเลอร์เบื้องต้น เราอาจจะคุ้นเคยกับบอร์ด Arduino Uno กันมาบ้าง แต่ในรายวิชา IoT นี้ พระเอกของเราจะเปลี่ยนไปครับ เราจะขยับมาใช้ชิปที่มีประสิทธิภาพสูงกว่าและเกิดมาเพื่อยุค IoT โดยเฉพาะ นั่นคือ ESP32 ครับ
1. ไมโครคอนโทรลเลอร์สำหรับงาน IoT ต่างจากแบบธรรมดาอย่างไร?
ไมโครคอนโทรลเลอร์ทั่วไป (เช่น Arduino รุ่นเก่า) มักจะเก่งเรื่องการควบคุมมอเตอร์ หรือรับค่าเซนเซอร์พื้นฐาน แต่ "สื่อสารกับโลกภายนอกไม่ได้" ถ้าจะให้ต่อเน็ตได้ ก็ต้องซื้อโมดูล WiFi หรือ LAN มาต่อพ่วง ซึ่งยุ่งยากและแพง
แต่สำหรับ IoT Microcontroller ยุคใหม่ จะมีคุณสมบัติเด่นคือ:
Built-in Connectivity: มี WiFi หรือ Bluetooth ฝังมาในชิปเลย
Low Power: กินไฟน้อย สามารถใช้กับแบตเตอรี่ได้นาน
High Performance: ประมวลผลเร็ว รองรับการเข้ารหัสข้อมูล (Encryption) เพื่อความปลอดภัย
2. ทำความรู้จักกับ ESP32
ESP32 ผลิตโดยบริษัท Espressif Systems เป็นชิปที่ได้รับความนิยมสูงสุดในโลก IoT ณ ขณะนี้ ด้วยเหตุผลหลักๆ คือ "ถูก ดี และ แรง" ครับ
สเปกเด่นที่ควรรู้ (สำหรับช่างเทคนิค):
CPU: แบบ Dual Core (2 แกนสมอง) ความเร็วสูงถึง 240 MHz (เทียบกับ Arduino Uno ที่วิ่งแค่ 16 MHz)
Connectivity: รองรับทั้ง WiFi (2.4 GHz) และ Bluetooth (Classic & BLE) ในตัวเดียว
Memory: Flash Memory (สำหรับเก็บโปรแกรม) มักจะให้มา 4MB ซึ่งเยอะมากสำหรับงานฝังตัว
IO Ports: มีขาใช้งานเยอะ ทั้ง Digital, Analog (ADC), DAC, I2C, SPI, UART
สถาปัตยกรรม (Architecture) ของ ESP32
🔧 CPU
Xtensa LX6 Dual-Core
Core 0 (PRO_CPU) → งานระบบ / Wi-Fi
Core 1 (APP_CPU) → งานแอปของเรา
ความเร็วสูงสุด 240 MHz
ถ้าใช้ Arduino → เราแทบไม่ต้องสนใจ Core
ถ้าใช้ ESP-IDF → แยก task ข้าม core ได้
🧠 หน่วยความจำ
ภายในชิป
ROM ~448 KB (bootloader)
SRAM ~520 KB
ภายนอก
Flash 4MB / 8MB (บนโมดูล WROOM)
PSRAM (เฉพาะบางรุ่น เช่น WROVER)
📡 ระบบสื่อสาร
Wi-Fi 802.11 b/g/n
Bluetooth 4.2
Classic
BLE
⏱ Peripheral ภายใน
ESP32 ถือว่า “โหด” มากเมื่อเทียบ MCU ทั่วไป
หมวดรายละเอียดGPIO~34 ขาADC12-bit, 18 ช่องDAC2 ช่องPWMสูงสุด 16 ช่องUART3 ชุดSPI4 ชุดI2C2 ชุดI2SAudioTouchCapacitive TouchRTCLow-power, Deep Sleep
3️⃣ ผังตำแหน่งขา (Pinout) ESP32 Dev Board
⚠️ หมายเหตุ: ตำแหน่งขาอาจต่างกันเล็กน้อยตามผู้ผลิตบอร์ด
🔌 กลุ่มขาไฟเลี้ยง (Power Pins)
ขาหน้าที่VIN5V (จาก USB / External)3V33.3V OutputGNDGround
⚡ GPIO ทั่วไป (Digital I/O)
GPIO 0–39
ทุกขาเป็น Input ได้
บางขาเป็น Output ไม่ได้
❌ GPIO 34–39
Input only
นิยมใช้กับ Sensor / ADC
🔁 ขา Boot สำคัญ (ห้ามพลาด)
ขาพวกนี้มีผลตอนเปิดเครื่อง
GPIOหมายเหตุGPIO0LOW → Flash modeGPIO2ต้อง HIGH ตอนบูตGPIO12ระวังแรงดัน FlashGPIO15มีผลกับ boot
ถ้าใช้มั่ว → บอร์ดไม่ติด 😅
📊 ADC / DAC
ADC
ADC1 → GPIO 32–39 (ปลอดภัย ใช้พร้อม Wi-Fi ได้)
ADC2 → GPIO 0,2,4,12–15 (❌ ใช้พร้อม Wi-Fi ไม่ได้)
DAC
GPIO25 → DAC1
GPIO26 → DAC2
🔄 UART / I2C / SPI (ขาแนะนำ)
UART
UART0 → GPIO1 (TX), GPIO3 (RX) → ใช้กับ USB
UART2 → GPIO16,17 (นิยม)
I2C (เปลี่ยนขาได้)
SDA → GPIO21
SCL → GPIO22
SPI (VSPI)
MOSI → GPIO23
MISO → GPIO19
SCK → GPIO18
CS → GPIO5
ขาที่ “ควรใช้” กับ “ควรเลี่ยง”
✅ ขาแนะนำ
4, 5, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33
❌ ขาที่ควรระวัง
0, 2, 12, 15, 34–39📌 ผัง Pinout ESP32 Dev Board (ภาพรวม GPIO + ฟังก์ชัน)






📌 หมายเหตุสำคัญในการใช้ภาพ pinout
🔹 บอร์ด Dev Kit ต่างยี่ห้อ อาจแตกต่างกันเล็กน้อย (เส้น silkscreen บน PCB) — แต่เลข GPIO บนชิปเองเหมือนกัน
🔹 ถ้าระบุ GPIO ไม่ตรงกับตำแหน่งที่ PCB เขียนไว้ ให้ตรวจสอบชื่อขา (เช่น D2 → GPIO2) ก่อนใช้งาน
🔹 ขาที่เป็น ADC / DAC / Input Only ต้องเช็คก่อนใช้งานจริง เช่น GPIO34-39 เป็น Input เท่านั้น
3. เปรียบเทียบมวยคู่เอก: Arduino Uno vs ESP32
เพื่อให้เห็นภาพชัดเจน ลองดูตารางเปรียบเทียบนี้ครับ:
คุณสมบัติArduino Uno (R3)ESP32 (DevKit V1)หน่วยประมวลผลATmega328P (8-bit)Xtensa® LX6 (32-bit)ความเร็ว (Clock Speed)16 MHz80 - 240 MHzการเชื่อมต่อไร้สายไม่มี (ต้องต่อเพิ่ม)WiFi + Bluetoothแรงดันไฟทำงาน (Logic)5V3.3V (ข้อควรระวัง!)ราคาโดยประมาณ200 - 300 บาท150 - 250 บาท
ข้อควรระวังสำคัญ!
อุปกรณ์เซนเซอร์หลายตัวทำงานที่ไฟ 5V แต่ ESP32 ทำงานที่ไฟ 3.3V ดังนั้นการต่อวงจรบางอย่างต้องระวังอย่าป้อนไฟ 5V เข้าขา GPIO ของ ESP32 โดยตรง เพราะอาจทำให้บอร์ดเสียหายได้ครับ
4. บอร์ด ESP32 รุ่นต่างๆ ในท้องตลาด
ในห้องเรียนหรือในตลาดบ้านหม้อ/ออนไลน์ เราจะเจอบอร์ด ESP32 หลายหน้าตา แต่ที่นิยมใช้ในการเรียนการสอนมี 2 ทรงหลักๆ คือ:
ESP32 DevKit V1: บอร์ดทรงยาว ขาเยอะ เสียบลง Protoboard ได้ง่าย (รุ่นที่เราจะใช้เป็นหลัก)
NodeMCU-32S: คล้ายกับตัวบน แต่การเรียงขาอาจต่างกันเล็กน้อย
ไม่ว่าจะทรงไหน หัวใจหลักคือชิปตัวเดียวกันครับ เขียนโปรแกรมเหมือนกันได้เลย
5. สรุปท้ายบท
การเลือกใช้ ESP32 ในวิชานี้ จะช่วยให้นักศึกษาสามารถสร้างโปรเจกต์ IoT ที่ครบวงจรได้ในบอร์ดเดียว ไม่ต้องต่อสายพะรุงพะรัง และด้วยความแรงของมัน ยังรองรับการเขียนโปรแกรมที่ซับซ้อนขึ้นในอนาคตได้อีกด้วย
ภารกิจต่อไป:
เมื่อเรามีฮาร์ดแวร์แล้ว สิ่งที่ขาดไม่ได้คือ "เครื่องมือสำหรับสั่งงานมัน" ในบทความหน้า เราจะมาติดตั้งซอฟต์แวร์ Arduino IDE และเตรียมเครื่องคอมพิวเตอร์ของเราให้พร้อมสำหรับการเขียนโปรแกรมลงบอร์ด ESP32 กันครับ
เกร็ดความรู้ (Tips):
IoT ไม่ใช่แค่เรื่องของ WiFi: แม้ ESP32 จะเด่นเรื่อง WiFi แต่โปรเจกต์ IoT บางอย่างอาจใช้ Bluetooth ส่งค่าเข้ามือถือโดยตรงก็ได้ ซึ่ง ESP32 ก็ทำได้เช่นกัน เรียกว่า "ครบเครื่อง" ครับ