บทความ ESPino32 ตอนที่ 1 แนะนำบอร์ด ESPino32

สารบัญ บทความ ESPino32

บทความ ESPino32 ตอนที่ 1 แนะนำบอร์ด ESPino32

         บอร์ด ESPino32 เป็นบอร์ดที่ทาง ThaiEasyElec ออกแบบและผลิตขึ้นโดยใช้โมดูล ESP-WROOM-32 จาก Espressif Systems ภายในเป็นไมโครคอนโทรลเลอร์ ESP32 ที่รองรับการสื่อสารไร้สายตามมาตรฐาน Wireless LAN และ Bluetooth Low Energy

ชิพและโมดูลจาก Espressif

        Espressif Systems ประสบความสำเร็จและเป็นที่รู้จักจากในกลุ่มนักพัฒนาหลังจากวางจำหน่าย ESP8266EX ชิพไมโครคอนโทรลเลอร์สถาปัตยกรรม Tensilica L106 Diamond series 32-bit ความเร็วสัญญาณนาฬิกาสูงสุด 160 MHz พร้อมหน่วยความจำหลัก SRAM บนชิพ 160 KB (มีส่วนที่ผู้ใช้สามารถใช้งานได้ประมาณ 50 KB) จุดน่าสนใจคือรองรับ Wi-Fi ความถี่ 2.4 GHz ทำให้สามารถนำไปพัฒนาอุปกรณ์ที่ต้องการเชื่อมต่อแบบไร้สายได้ทันที พร้อมอินเตอร์เฟส GPIO สำหรับเชื่อมต่ออุปกรณ์เพิ่มเติมได้ตามความต้องการทั้ง Digital Input / Output, ADC, UART, I2C, I2S, SPI/HSPI, SDIO, etc. รวมทั้งทำออกมาเป็นโมดูล ESP-WROOM-02 (EFDV455) ให้นำไปใช้งานได้สะดวกขึ้นประกอบด้วยชิพ ESP8266EX และ SPI Flash Memory รวมทั้งสายอากาศแบบ PCB Trace ที่ทาง ThaiEasyElec นำมาผลิตเป็นบอร์ด ESPino เหมาะสำหรับเรียนรู้และพัฒนาอุปกรณ์ Internet of Things เบื้องต้น หากสนใจสามารถดูรายละเอียดสินค้าได้จาก ETEE052 รวมทั้งมีคอร์สอบรม T010 และ T017 เพื่อแนะนำการใช้งาน

บอร์ด ESPino ใช้โมดูล ESP-WROOM-02

 ในตระกูล ESP8266EX มีผลิตภัณฑ์ต่างๆ ดังนี้

– ชิพ ESP8266EX เป็น System-on-Chip (SoC) แพ็คเกจ 32-QFN ขนาด 5 x 5 mm Single-Core CPU + 160 KB RAM ในการใช้งานต้องเชื่อมต่อ External Flash Memory ขนาดตั้งแต่ 512 KB โดยรองรับได้สูงสุด 16 MB

ชิพ ESP8266EX (ภาพจาก mouser.com)

– โมดูล ESP-WROOM-02 ประกอบด้วยชิพ ESP8266EX + SPI Flash ขนาด 2 MB สามารถสั่งขนาดหน่วยความจำที่ใหญ่ขึ้นจากผู้ผลิตได้ (สินค้า EFDV455/ETEE052 ใช้โมดูลที่ขนาด 4 MB)

โมดูล ESP-WROOM-02

– โมดูล ESP-WROOM-S2 ขนาด 16 x 23 x 3 mm ประกอบด้วยชิพ ESP8266EX + SPI Flash ที่เชื่อมต่อ SPI Flash ผ่านทาง HSPI

โมดูล ESP-WROOM-02 (ซ้าย) และ โมดูล ESP-WROOM-S2 (ขวา) (ภาพจาก mouser.com)

– ชิพ ESP8285 ที่เป็นออกแบบโดยใช้โครงสร้างของ ESP8266EX และใส่ Flash Memory ขนาด 1 MB ไว้ในชิพเดียวกันช่วยให้ออกแบบวงจรขนาดเล็กลงได้

– โมดูล ESP-WROOM-02D เหมือนกับ ESP-WROOM-02 ในปัจจุบัน ทางผู้ผลิตแจ้งว่ามีการ Optimized RF Performance (แต่ดู Datasheet แล้วตัวเลขก็เท่ากันเลยนะ T____T)

– โมดูล ESP-WROOM-02U คล้ายกับ ESP-WROOM-02 แต่เสา/สายอากาศเป็นแบบ U.FL Connector (I.PEX Connector) แทนแบบ PCB Trace ให้สามารถต่อออกไปภายนอกได้

โมดูล ESP-WROOM-02D (ซ้าย) และ ESP-WROOM-02U (ขวา) (ภาพจาก espressif.com)

        ESP32 ชิพรุ่นใหม่จาก Espressif Systems เป็น Hybrid มี Wi-Fi กับ Bluetooth ในตัวเดียวกัน ชิพ ESP32 มี 4 รุ่น ได้แก่ ESP32-D0WD ESP32-D0WDQ6 ESP32-D2WD และ ESP32-S0WD

ชิพ ESP32-D0WDQ6 (ภาพจาก twitter.com/maker_asia)

        ตัวแรกที่ออกมาคือ ESP32-D0WDQ6 เป็นไมโครคอนโทรลเลอร์สถาปัตยกรรม Xtensa 32-bit LX6 แบบ Dual-Core รองรับความเร็วสัญญาณนาฬิกากำหนดได้ตั้งแต่ 80 ถึงสูงสุดที่ 240 MHz (ความสามารถในการประมวลผลสูงสุด 600 MIPS) หน่วยความจำหลัก SRAM ขนาด 520 KB และ SRAM ขนาด 16 KB อยู่ใน RTC มีหน่วยความจำ ROM ขนาด 448 KB รองรับการเชื่อมต่อกับ Flash Memory หรือ SRAM เพิ่มเติมผ่าน QSPI ตัวชิพมีขนาด 6 x 6 mm แพ็คเกจแบบ QFN-48 จำนวน 48 ขา รองรับ Wi-Fi 2.4 GHz ตามมาตรฐาน 802.11 b/g/n การเชื่อมต่อสูงสุดที่ 150 Mbps รองรับการเชื่อมต่อทั้งแบบ Infrastructure Station  SoftAP และ Promiscuous ในส่วนของ Bluetooth เป็น v4.2 BR/EDR และ BLE มีอินเตอร์เฟสที่สามารถกำหนดค่าการทำงานได้ 34 GPIO เป็นขาใช้งานร่วมกัน รองรับการตั้งค่าใช้งานต่างๆ ดังนี้

  • 12-bit SAR ADC สูงสุด 18 ช่อง
  • 8-bit DAC จำนวน 2 ช่อง
  • Touch Sensor จำนวน 10 ช่อง
  • SPI จำนวน 3 ชุด
  • I2S จำนวน 2 ชุด
  • I2C จำนวน 2 ชุด
  • UART จำนวน 3 ชุด
  • SD/eMMC/SDIO host จำนวน 1 ชุด
  • SDIO/SPI slave จำนวน 1 ชุด
  • Ethernet MAC interface with DMA and IEEE1588
  • CAN 2.0
  • IR
  • Motor PWM
  • LED PWM
  • Hall Sensor

        ผู้ผลิตใช้ ESP32-D0WDQ6 ทำเป็นโมดูลรุ่น ESP-WROOM-32 (EFDV571) (ปัจจุบันเรียกว่า ESP32-WROOM-32) ตัวนี้เป็นเหมือนโมดูลอ้างอิงสำหรับให้นำไปออกแบบและใช้งาน มาพร้อม Flash Memory ขนาด 4 MB พร้อมสาย/เสาอากาศแบบ PCB Trace เป็นตัวที่ ThaiEasyElec นำมาผลิตเป็นบอร์ด ESPino32 เหมาะสำหรับผู้ที่อยากเริ่มต้นเรียนรู้ หรือต้องการต่อยอดในการพัฒนาอุปกรณ์ Internet of Things สามารถดูรายละเอียดสินค้าได้จาก ETEE061 และเราได้นำมาให้เรียนรู้อยู่ในคอร์สอบรม T010 ด้วย

บอร์ด ESPino32 ใช้โมดูล ESP-WROOM-32

ในตระกูล ESP32 มีผลิตภัณฑ์ต่างๆ ดังนี้ (***ข้อมูลอัพเดท 25/07/2018)

– ชิพ ESP32-D0WDQ6 เป็น System-on-Chip (SoC) แพ็คเกจ QFN-48 ขนาด 6 x 6 mm Dual-Core ในการใช้งานต้องเชื่อมต่อ External Flash Memory เพิ่มเติม

– ชิพ ESP32-D0WD มีคุณสมบัติเทียบเท่ากันกับ ESP32-D0WDQ6 แต่มีขนาดชิพที่เล็กลงเหลือ 5 x 5 mm ช่วยลดพื้นที่ในการนำไปออกแบบ โดยขาที่ใช้งานยังอ้างอิงกันได้เช่นเดิมแต่มีการขยับตำแหน่ง ดังนั้น จะไม่สามารถวาง ESP32-D0WD ลงบนลายวงจรเดิมได้

ชิพ ESP32-D0WDQ6 เทียบกับ ESP32-D0WD/ESP32-D2WD/ESP32-S0WD (ภาพจาก ESP32 datasheet)

– ชิพ ESP32-D2WD มีรูปร่างและคุณสมบัติคล้ายกับ ESP32-D0WD แต่มีการใส่ Flash Memory ขนาด 2 MB ไว้ในตัวชิพ ทำให้ไม่ต้องต่อ Flash Memory ภายนอกช่วยลดพื้นที่บนวงจรลงได้มาก

– ชิพ ESP32-S0WD มีรูปร่างแบบเดียวกับ ESP32-D0WD แต่เป็นแบบ Single-Core

– โมดูล ESP-WROOM-32 หรือ ESP32-WROOM-32 ประกอบด้วยชิพ ESP32-D0WDQ6 กับ Flash Memory ขนาด 4 MB ออกแบบให้มีสายอากาศแบบ PCB Trace

– โมดูล ESP32-WROOM-32D ออกแบบให้มีรูปร่างและคุณสมบัติคล้ายกับ ESP-WROOM-32 แต่เปลี่ยนมาใช้ชิพ ESP32-D0WD แทน

– โมดูล ESP32-WROOM-32U เป็นแบบเดียวกับ ESP32-WROOM-32D แต่เปลี่ยนจากสายอากาศมาเป็นคอนเนคเตอร์แบบ U.FL / IPEX แทนทำให้โมดูลสั้นลง

โมดูล ESP32-WROOM-32D (ซ้าย) และ ESP32-WROOM-32U (ขวา) (ภาพจาก espressif.com)

*** โมดูล ESP32-WROOM-32 ESP32-WROOM-32D และ ESP32-WROOM-32U มีตำแหน่งขาตรงกัน

– โมดูล ESP32-WROVER ใช้ชิพ ESP32-D0WDQ6 กับ Flash Memory ขนาด 4 MB และใส่ PSRAM ขนาด 4 MB มาในโมดูลด้วย ออกแบบให้มีขาเฉพาะด้านข้างทำให้โมดูลยาวกว่าแบบที่เป็น WROOM พร้อมสายอากาศแบบ PCB Trace

– โมดูล ESP32-WROVER-I เป็นแบบเดียวกับ ESP32-WROVER แต่เปลี่ยนจากสายอากาศมาเป็นคอนเนคเตอร์แบบ U.FL / IPEX

โมดูล ESP32-WROVER กับ ESP32-WROVER-I แตกต่างกันแค่คอนเนคเตอร์ U.FL
(ภาพจาก espressif.com)

*** PSRAM (Psuedostatic DRAM) เป็นหน่วยความจำแบบใช้พลังงานต่ำ (Low-Power) ถูกนำมาใช้ในอุปกรณ์ที่ต้องการหน่วยความจำขนาดใหญ่ขึ้นในราคาต่อความจุที่ถูกลง

– โมดูล ESP32-PICO-D4 เป็น System-in-Package (SiP) แบบ QFN-48 ขนาด 7 x 7 mm บรรจุโครงสร้างของ ESP32 และ Flash Memory ขนาด 4 MB และวงจนต่างๆ ไว้ในแพ็คเกจเดียวกันทำให้มีขนาดเล็กลง

โมดูล ESP32-PICO-D4 (ภาพจาก cnx-software.com)

– โมดูล ESP32-SOLO-1 ออกแบบคล้ายกับโมดูล ESP32-WROOM-32 แต่เลือกใช้ชิพ ESP32-S0WD ที่เป็น Single-Core แทน มีสายอากาศแบบ PCB Trace

โมดูล ESP32-SOLO-1 (ภาพจาก cnx-software.com)

– โมดูล ESP32-WROVER-B เป็นโมดูล ESP32-WROVER ที่เปลี่ยนมาใช้ชิพ ESP32-D0WD แทน ESP32-D0WDQ6 มีสายอากาศแบบ PCB Trace

– โมดูล ESP32-WROVER-IB เป็นแบบเดียวกับ ESP32-WROVER-B แต่เปลี่ยนจากสายอากาศมาเป็นคอนเนคเตอร์แบบ U.FL / IPEX

บอร์ด ESPino32 จาก ThaiEasyElec

        บอร์ด ESPino32 เป็นบอร์ดไมโครคอนโทรลเลอร์พร้อมโมดูลสื่อสาร Wireless LAN และ Bluetooth ใช้โมดูล ESP-WROOM-32 ชิพ ESP32 2.4 GHz Wi-Fi and Bluetooth Combo System-on-Chip จาก Espressif Systems เป็นไมโครคอนโทรลเลอร์ 32-bit Tensilica LX6 ความเร็วสูงสุด 240 MHz แบบ Dual-Core พร้อมหน่วยความจำ SRAM ขนาด 520 KB และ Flash Memory ขนาด 4 MB (32 Mbit) รองรับการเชื่อมต่อ Wireless LAN ความถี่ 2.4 GHz มาตรฐาน IEEE 802.11 b/g/n และ Dual Mode Bluetooth (Classic and BLE) พร้อมอินเตอร์เฟส GPIO ต่างๆ ได้แก่ UARTs SPI I2S ADC DAC I2C PWM SDIO

คุณสมบัติของบอร์ด ESPino32

  • ใช้โมดูล ESP-WROOM-32 ใช้ชิพ จาก Espressif Systems
  • มีวงจร USB-to-UART ใช้ชิพ CP2104 จาก Silicon Labs สำหรับโปรแกรมและสื่อสารผ่านพอร์ตอนุกรมของบอร์ด
  • ใช้ไฟเลี้ยงผ่านพอร์ต Micro USB พร้อมวงจร Regulator เป็นแหล่งจ่ายไฟอุปกรณ์บนบอร์ด
  • เขียนโปรแกรมและอัพโหลดผ่าน Arduino IDE โดยใช้ BSP ของ arduino-esp32
  • มีสวิตช์ PROG สำหรับโปรแกรมตัวบอร์ด
  • มีสวิตช์ RESET สำหรับรีเซ็ตบอร์ด
  • มีวงจร Auto Program สามารถอัพโหลดโปรแกรมได้โดยไม่ต้องกดสวิตช์
  • มีหลอด LED ต่อกับ GPIO สำหรับผู้ใช้สั่งแสดงสถานะตามต้องการต่อกับขา GPIO16
  • คอนเนคเตอร์ตัวผู้แถวเดี่ยว 10 ขา จำนวน 4 แถว เป็นขาเชื่อมต่อต่างๆ
  • ขนาดบอร์ด กว้าง 25.4 มม. ยาว 65 มม.

รายละเอียดเพิ่มเติมเกี่ยวกับบอร์ด สามารถดูได้จากคู่มือในหน้าสินค้า ESPino32 Wi-Fi BLE Development Board รหัสสินค้า ETEE061 (https://www.thaieasyelec.com/products/development-boards/esp/espino32-wifi-development-board-detail.html)

ส่วนประกอบของบอร์ด ESPino32 by ThaiEasyElec.com

ส่วนประกอบต่างๆ ของบอร์ด ESPino32

หมายเลข 1        หลอด LED ขา GPIO16
หมายเลข 2        ESP-WROOM-32 (2.4 GHz Wi-Fi and Bluetooth Combo SoC)
หมายเลข 3        สวิตช์ RESET
หมายเลข 4        สวิตช์ PROGRAM
หมายเลข 5        ชิพ CP2104 (USB-to-Serial)
หมายเลข 6        หลอด LED สถานะไฟเลี้ยงโมดูล ESP แรงดัน 3.3 โวลต์
หมายเลข 7        จัมพ์เปอร์เลือกแหล่งจ่ายจาก VREG (ผ่านวงจร Regulator จาก USB) หรือ VBAT (ไฟจากขา VBAT จากคอนเนคเตอร์ P3) เข้าที่ VESP (ไฟเลี้ยงโมดูล ESP แรงดัน 3.3 โวลต์) ปกติให้ Jump ระหว่าง VREG กับ VESP และจ่ายไฟเลี้ยงผ่าน Micro USB
หมายเลข 8        พอร์ต Micro USB สำหรับจ่ายไฟเข้า VREG และต่อคอมพิวเตอร์เพื่อโปรแกรมตัวบอร์ด

ขาสัญญาณ P1 และ P2 ของบอร์ด ESPino32
ขาสัญญาณ P3 และ P4 ของบอร์ด ESPino32

สารบัญ บทความ ESPino32