選擇合適的 Wi-Fi 微控制器是物聯網產品開發中的關鍵決策。ESP8266 與 ESP32 皆由 Espressif Systems 製造,代表兩種截然不同的無線連接與嵌入式處理方式。本文提供其架構、周邊設備、通訊能力及實務設計考量的技術比較,協助工程師與採購團隊評估哪個模組最適合其應用需求。
ESP8266 與 ESP32 架構概述
ESP8266 與 ESP32 皆為系統單晶片(SoC)解決方案,將微控制器、Wi-Fi 收發器及周邊介面整合於單一晶片上。儘管共享 32 位元 RISC 架構並支援常見的序列協定(SPI、I2C、UART),但它們的運算資源與功能集有顯著差異。
ESP8266以單核心 Tensilica Xtensa LX106 處理器為核心,運作時脈為 80 MHz(部分實作可超頻至 160 MHz)。它提供 802.11 b/g/n 的 Wi-Fi 連線、128 KB 記憶體,以及通常 4 MB 的外接快閃記憶體。其簡化的設計優先考量成本效益與整合便利性,適用於以無線網路為主要需求的應用。
ESP32 採用雙核心 Tensilica Xtensa LX6 處理器,時脈可設定範圍從 80 MHz 到 240 MHz。它包含 520 KB 的 SRAM、4 MB 的快閃記憶體(可擴充),並新增藍牙 4.2(BR/EDR 與 BLE)以及 Wi-Fi。擴大的 GPIO 數量、額外的 ADC/DAC 通道,以及硬體加密加速,使其適合對嵌入式需求要求更高的應用。

ESP8266:設計特徵與典型使用案例
核心規格
ESP8266通常實作於ESP-12E或ESP-12F模組型態,透過整合的LDO穩壓器,從3.0V至3.6V電源運作。該晶片提供:
- 單核心 32 位元處理器,時脈 80/160 MHz
- 128 KB RAM 用於程式執行與資料
- 4 MB 外接 SPI 快閃記憶體(標準配置)
- 802.11 b/g/n Wi-Fi,支援站點與軟接入點模式
- 17 具多工功能的 GPIO 腳位
- 一個 10 位元 ADC 通道
- 支援 SPI、I2C、UART 及 PWM
所有 GPIO 腳位皆以 3.3 V 邏輯電平運作,且不具備 5 V 容忍。直接連接 5V 訊號會損壞裝置;與5V系統介面時,需要電平移位器或電壓分壓器。
實用設計考量
ESP8266 採用單核心架構,意味著 Wi-Fi 堆疊處理與應用程式程式碼共享 CPU 時間。在主動 Wi-Fi 傳輸或接收期間,使用者程式碼執行可能會中斷,這會影響時序敏感應用中的即時效能。對於簡單的遙測、感測器資料記錄或遠端控制任務(亞毫秒時序非關鍵)來說,這種限制很少成為問題。
主動 Wi-Fi 傳輸時的功耗可達 170 mA 或更高。模組支援數據機睡眠模式,可將電流消耗降至約 15 mA,同時維持 Wi-Fi 連線;深度睡眠模式則耗電低於 20 μA,但深度睡眠需外部喚醒信號或計時器。
有限的 ADC 通道數量(一個可用通道)及 GPIO 腳位可能限制設計,導致需要多個類比感測器或大量周邊介面的設計。在這種情況下,可以使用外部多工器或輸入輸出擴展器,但這會增加複雜度與成本。
典型應用
- Wi-Fi 連接感測器(溫度、濕度、動作)
- 智慧開關與繼電器
- 環境監測站
- 教育與原型製作專案
- 低成本物聯網端點,處理需求適中
ESP32:複雜系統的強化能力
核心規格
ESP32 通常出現在 ESP32-WROOM-32 或 ESP32-WROVER 模組變體中,顯著擴充了功能集:
- 雙核心 32 位元處理器,時脈 80-240 MHz
- 520 KB SRAM,支援外部 PSRAM 選項,最高可達 8 MB(WROVER 變體)
- 4 MB 或更大快閃記憶體
- 802.11 b/g/n Wi-Fi 具備進階功能(Wi-Fi Direct,後續版本支援 WPA3)
- 藍牙 4.2(經典與 BLE)
- 48 個 GPIO 腳位(25+ 通常在模組上拆開)
- 18 × 12 位元 ADC 通道及 2 × 8 位元 DAC 通道
- 10 個電容式觸控感測器輸入
- 硬體加密加速(AES、SHA、RSA)
- CAN 2.0、I2S、SPI、I2C、UART 介面
與 ESP8266 一樣,ESP32 的邏輯電平為 3.3 V。內建的 LDO 穩壓器可接受 3.0 V 至 3.6 V 的輸入電壓,開發板通常還會額外加入一個可接受 5 V USB 電源的穩壓器。
雙核心處理與任務管理
ESP32 採用雙核心架構,一核心專用於 Wi-Fi 與藍牙堆疊作業,另一核心則執行應用程式程式碼。這種分離提升了即時反應能力,並允許平行處理感測器資料、通訊與控制演算法。對於需要同時支援藍牙與 Wi-Fi 運作,或處理多個感測器資料流的設計,此架構提供了可衡量的性能優勢。
Espressif 提供的基於 FreeRTOS 的韌體允許任務固定到特定核心,讓開發者能明確控制工作負載分配與時序行為。
擴展周邊集
ESP32 的 18 個 ADC 通道可直接連接多個類比感測器,無需外部多工。12位元解析度比ESP8266的10位元ADC更細緻,這在精密感測應用中非常重要。這兩個 DAC 通道支援音訊合成、類比控制訊號及波形產生,無需外部元件。
電容式觸控感測已在硬體中實現,消除了使用者介面設計中對分立觸控控制器積體的需求。CAN 匯流排介面支援汽車及工業協定,擴大適用系統的範圍。
藍牙與無線共存
藍牙經典與藍牙的整合擴大了設計可能性。BLE使智慧型手機、穿戴裝置和信標能實現低功耗通訊。藍牙經典支援音訊串流及舊有裝置相容性。結合 Wi-Fi 後,ESP32 可作為閘道器,收集 BLE 感測器資料並透過 Wi-Fi 轉發至雲端服務,或作為雙介面裝置,同時提供本地(藍牙)與遠端(Wi-Fi)控制。
藍牙與 Wi-Fi 共用相同的 2.4 GHz 射頻前端,而 Espressif 的共存機制則能同時多工存取無線電。雖然兩個協定可以同時啟用,但每條連結的峰值吞吐量低於獨立運作時。對大多數物聯網應用來說,這種取捨是可以接受的。
典型應用
- 物聯網閘道器彙整多個感測器的資料
- 音訊串流與語音啟動裝置
- 需要BLE和Wi-Fi的穿戴裝置
- 家庭自動化樞紐
- 具備 CAN 匯流排的工業監控與控制系統
- 具備複雜電源狀態管理的電池供電裝置
腳位配置與 GPIO 比較
ESP8266 GPIO 佈局
ESP8266 暴露 17 個 GPIO 腳位,儘管其中幾個有開機時間或操作上的限制:
- GPIO0:開機時必須高電位才能正常運作;拉低線會進入閃存程式模式
- GPIO2:開機時必須處於高電位;通常連接至車載的 LED
- GPIO15:開機時必須處於低電位
- GPIO16:連接於即時時鐘;用於深度睡眠喚醒,但無法使用變更中斷
- ADC0:單一類比輸入,通常標示為 A0,電壓範圍為 0-1.0 V
這些腳位限制需要在PCB佈局與韌體初始化時謹慎規劃。使用 GPIO0、GPIO2 或 GPIO15 作為通用輸入輸出是可能的,但必須考慮它們的開機狀態。
ESP8266支援一個硬體 SPI 介面與一個 I2C 介面(位元拼接或硬體介面),兩者透過多工在可用 GPIO 間共享。
ESP32 GPIO 佈局

ESP32 的 48 個 GPIO 分為專用與多工功能。主要特色包括:
- 18 個 ADC 通道分布於 ADC1 與 ADC2(注意:當 Wi-Fi 啟用時無法使用 ADC2)
- 2 DAC 通道(GPIO25、GPIO26)
- 10 個電容式觸控腳
- 綁帶腳位(GPIO0、GPIO2、GPIO5、GPIO12、GPIO15),用以決定開機模式;強化時也需同樣小心
- 用於深度睡眠期間的 RTC GPIO 子集
ESP32 的周邊介面因 IO_MUX 與 GPIO 矩陣而更具彈性,允許大多數數位周邊設備(UART、SPI、I2C)映射至廣泛的腳位。這種彈性簡化了PCB布線並符合佈局限制。
ESP32 支援三個 UART 介面、三個 SPI 介面及兩條 I2C 匯流排,實現複雜的多周邊設計,無需外部多工或協定橋接。
功耗與電池運作
電力效率是電池供電及能源收集應用中的關鍵因素。
ESP8266 動力模式
- 主動(Wi-Fi TX):~170 mA
- 主動(Wi-Fi RX):~60 mA
- 數據機睡眠:~15 mA(Wi-Fi 連線維持,但無線電佔空週期)
- 淺睡眠:~0.9 mA
- 深度休眠:~20 μA(保留 RTC 及少量 RAM;喚醒可透過 GPIO16 或外部重置)
深度睡眠是週期性感測應用中最實用的低功耗模式。ESP8266不支援從深度睡眠中發生的複雜喚醒;裝置必須設定在計時器過期後或透過硬體重置喚醒。
ESP32 電源模式
- 主動(Wi-Fi TX):~160-240 mA
- 主動(Wi-Fi RX):~80-100 mA
- 數據機睡眠:~20-30 mA
- 淺睡眠:~0.8 mA
- 深度休眠:~10 μA(RTC、ULP 協同處理器及 RTC 記憶體主動)
- 休眠:~5 μA(僅RTC計時器啟動)
ESP32 的超低功耗(ULP)協同處理器能在主核心深度休眠時進行感測器監控與簡單資料處理。此功能在需要基於感測器閾值(例如動作偵測、類比平交道)喚醒的應用中非常有價值,且不需因持續啟動主處理器而產生能量成本。
實務上,ESP32 的先進睡眠模式與 ULP 協同處理器比 ESP8266 提供更靈活的電源管理,特別是在裝置必須頻繁或有條件地根據外部事件喚醒的設計中。
開發生態系統與韌體選項
這兩個模組都受到多種開發環境良好支援:
Arduino IDE
Arduino ESP8266 和 ESP32 核心為業餘愛好者和快速原型設計提供了熟悉且易用的 API。圖書館支援廣泛,涵蓋常見感測器、致動器及通訊協定。效能與記憶體優化不如原生 SDK 細緻度,但易用性與快速迭代是顯著優勢。
ESP-IDF(Espressif 物聯網開發框架)
ESP-IDF 是 Espressif 基於 FreeRTOS 的官方開發框架。它提供完整的硬體功能存取權、細緻的電源管理控制,以及優化的網路堆疊。ESP-IDF 是生產韌體的推薦環境,優先考量效能、記憶體效率與長期維護性。學習曲線較陡峭,但框架文件完善且持續維護。
MicroPython 與其他語言
MicroPython 提供一個互動式、直譯式的 Python 環境,適合腳本撰寫、測試及教育用途。它在 ESP8266 和 ESP32 上都獲得良好支援,儘管 ESP8266 的記憶體限制會限制 MicroPython 應用程式的複雜度。
其他框架如 Lua(NodeMCU)、Rust,甚至 JavaScript(Espruino、可模組化 SDK)也可用,反映出這些模組在社群中廣泛關注與多元的使用場景。
比較摘要:在 ESP8266 與 ESP32 之間選擇
| 特色 | ESP8266 | ESP32 |
|---|---|---|
| 處理器 | 單核心,80 MHz | 雙核心,80-240 MHz |
| RAM | 128 KB | 520 KB |
| 閃電俠 | 4 MB(典型) | 4 MB 或以上 |
| Wi-Fi | 802.11 b/g/n | 802.11 b/g/n,Wi-Fi 直通 |
| 藍牙 | 不 | 藍牙 4.2(經典版 + BLE) |
| GPIO 計數 | 17 | 48(模組可存取25+) |
| ADC | 1 × 10位元 | 18 × 12位元 |
| DAC | 沒有 | 2 × 8位元 |
| 觸控感應 | 不 | 10 個電容輸入 |
| CAN 巴士 | 不 | 是的 |
| 力量(深度睡眠) | ~20 μA | ~10 μA(5 μA 休眠) |
| ULP 協同處理器 | 不 | 是的 |
| 典型模組成本 | 下方 | 中等 |
何時選擇ESP8266
- 預算受限且單位成本為主要考量的專案
- 簡易 Wi-Fi 連接,用於感測器報告或遠端切換
- I/O 需求有限的應用程式
- 教育專案與物聯網入門開發
- 設計中不需藍牙
何時選擇ESP32
- 需要同時連接 Wi-Fi 與藍牙的應用程式
- 多感測器系統,具備多個類比或數位輸入
- 即時或計算密集型任務,受益於雙核心處理
- 需要複雜電源管理與條件喚醒的電池供電設計
- 需要硬體加速密碼學或 CAN 匯流排支援的系統
- 預期隨時間在複雜度或功能集上擴展的專案
真實世界設計範例:環境監測站
考慮一個電池供電的環境監測站,測量溫度、濕度、氣壓、光強和土壤濕度,並每15分鐘向雲端服務報告數據。
ESP8266 實作: 單一 ADC 通道限制了直接類比感測器的連接;土壤濕度與光感測器需多通道 ADC IC(例如 ADS1115),透過 I2C 連接。裝置會透過定時器從深度睡眠喚醒,初始化 Wi-Fi,連接網路,透過 MQTT 或 HTTP 傳輸資料,然後返回深度睡眠。15分鐘週期的平均電流消耗約為50-100 μA,允許小型鋰電池數月運作。
ESP32 實作: 多通道 ADC 允許直接連接類比感測器,無需外部元件。ULP 協同處理器可監控感測器閾值,僅在重大變化時喚醒主核心,或維持 15 分鐘的行程。藍牙可以透過智慧型手機應用程式實現本地設定,而無需硬編碼 Wi-Fi 憑證。透過優化睡眠狀態管理,平均電流消耗可降至30-60 μA,進一步延長電池壽命。雙核心架構同時支援感測器輪詢與網路通訊,縮短總喚醒時間。
在此情況下,ESP32 的額外成本會被減少外部元件數量、延長電池續航力及提升使用者體驗所抵銷。
結論
ESP8266 與 ESP32 涵蓋物聯網設計光譜的不同範疇。對於處理需求較低且藍牙需求不高、藍牙需求不大的情況下,ESP8266仍是實用且具成本效益的選擇。其成熟的生態系統、廣泛的社群支持及低門檻,使其非常適合用於教育用途及簡單的商業產品。
ESP32 採用雙核心處理器、擴充記憶體、藍牙整合及更豐富的周邊設備,使其在需要更大運算能力、多重通訊介面或複雜電源管理的應用中,價格較高。對於預期會演進或功能擴展的設計,ESP32 的靈活性降低了硬體過時的風險。
工程師與採購團隊在選擇這些模組時,應評估電力預算、輸入輸出需求、通訊協定、單位成本及長期可擴展性。這兩款裝置都具備良好功能且支援良好;最佳選擇取決於應用的具體技術與經濟限制。