This website requires JavaScript.
優惠券 下載應用程式
寄往
部落格

STM32 vs ESP32:嵌入式與 IoT 設計的深度技術比較

最初發布於 Jul 14, 2026, 更新於 Jul 14, 2026

5 分鐘

目錄
  • 當 ESP32 更便宜時,為什麼還要選 STM32?
  • STM32 vs ESP32:性能比較
  • STM32 vs ESP32 功耗
  • STM32 vs ESP32:連線能力與功耗
  • STM32 vs ESP32:工業與 IoT 應用
  • STM32 vs ESP32 周邊
  • STM32 vs ESP32 開發體驗
  • 為什麼許多商用產品同時使用 STM32 與 ESP32
  • FAQs
  • 結論:STM32 vs ESP32——該選哪一個?

在 STM32 與 ESP32 之間做選擇,並不只是價格問題。許多工程師一開始都有同樣的疑問:如果 ESP32 更便宜,而且已經內建 Wi-Fi/Bluetooth,為什麼還有人會選 STM32?

真正的答案取決於您的產品需要完成什麼任務。如果您正在打造連網智慧家庭裝置,ESP32 可能是最快且最具成本效益的路徑。但如果您的設計需要確定性控制、精準 ADC 取樣、低功耗運作、工業介面、馬達控制或長期供貨,STM32 往往足以證明其較高成本是合理的。

本指南不只是入門級比較。我們將從實務工程角度比較 STM32 vs ESP32,包括性能、功耗、周邊、連線能力、工業應用案例、開發流程,以及為什麼許多商用產品會同時使用這兩種晶片。

stm32 microcontroller and an esp32 wireless module

圖:STM32 微控制器與 ESP32 無線模組

當 ESP32 更便宜時,為什麼還要選 STM32?

這個問題在 Reddit 上經常被問到。以下是規格表不會直接告訴您的答案。

STM32 在哪些地方值得更高價格

  • 確定性控制:Cortex-M 中斷延遲具備明確上限,這對馬達 FOC、SMPS 回授與安全互鎖是必要條件。
  • 類比性能:STM32 12-bit ADC 從邊界到邊界都具備良好線性;STM32H7 裝置可透過硬體過取樣達到最高 16-bit 有效解析度。ESP32 ADC 在約 2.5 V 以上會出現非線性。
  • 工業通訊:原生 CAN/CAN-FD、RS485 硬體支援、Ethernet MAC。ESP32 具備 TWAI,但僅支援 CAN 2.0。
  • 安全關鍵認證:IEC 60730 Class B(家電)、AEC-Q100(車用)、醫療級工具鏈。
  • 長期供貨:ST 提供 7–20 年長期供貨保證,並有正式 EOL 通知。

ESP32 在哪些地方更具性價比

  • Wi-Fi 產品:2 美元 ESP32-C3 可取代 1.50 美元 STM32 + 3 美元 Wi-Fi 模組 + 天線 + 認證成本。
  • 智慧家庭(Matter/Thread):ESP32-C6/H2 已內建所需無線電。
  • 快速原型開發:Arduino IDE + Wi-Fi,20 分鐘即可開始。
  • 消費性電子:預認證模組,無需 RF 專業知識。

STM32 vs ESP32:性能比較

CPU 性能

原始 CoreMark 分數能說明真實情況:

晶片 時脈 CoreMark 每 MHz
STM32H7(M7F) 480 MHz 2010 4.19
STM32U5(M33) 160 MHz 651 4.07
STM32L4(M4F) 80 MHz ~273 3.41
ESP32-S3(LX7,1 核) 240 MHz 613 2.56
ESP32(LX6,1 核) 240 MHz 504 2.10
ESP32-C3(RISC-V) 160 MHz 407 2.54

stm32 vs esp32 performance comparison

圖:STM32 與 ESP32 晶片 CoreMark 性能比較。

即時處理能力

Cortex-M NVIC 能以有界且可預測的週期數處理中斷,這對 PID 迴路、編碼器讀取與同步 ADC 取樣非常關鍵。ESP32 的雙核心有助於提升吞吐量,但在許多 Wi-Fi 應用中,其中一個核心的相當一部分處理預算會被網路任務消耗,從而降低可用於確定性控制程式碼的餘裕。

實際專案中的性能表現

  • 馬達控制:STM32G4 搭配 HRTIM 可確定性地處理 30 kHz 多相 FOC。ESP32 則會受到無線電中斷造成的抖動影響。
  • 音訊 DSP/FFT:具備 FPU + DSP 指令的 STM32F4/H7 勝出。
  • MQTT 閘道器:ESP32 勝出,因為 Wi-Fi 堆疊內建於晶片。
  • 9-DOF 感測器融合:STM32F4 可穩定達到 1 kHz;ESP32-S3 在未啟用 Wi-Fi 時也能處理。

最終重點:STM32 適合單執行緒、確定性與 DSP 負載較重的工作。ESP32 適合網路連線導向的工作。

STM32 vs ESP32 功耗

這是 STM32 與 ESP32 拉開一個數量級差距的地方。

統一功耗比較

平台/模式 主動電流消耗 深度睡眠電流消耗 實際使用注意事項
STM32L4(超低功耗) ~100 µA/MHz(Run mode,3.3 V) ~1.86 µA(Stop 2 + RTC) 適合電池供電感測器,透過中斷喚醒。
STM32U5(高效率) ~19 µA/MHz(SMPS active)/~110 µA/MHz(LDO) ~0.3 µA(Shutdown)/~1 µA(Standby + RTC) 具備低功耗背景自主模式(LPBAM)。
STM32F446(主流型) ~120 µA/MHz(標準執行模式) ~20 µA(典型 Stop mode) 為 DSP 與高速處理而生,不適合長時間睡眠。
ESP32 Classic(無線) 20-31 mA @ 80 MHz(僅 CPU)/180-240 mA(Wi-Fi TX) ~10 µA(Deep Sleep + RTC) RF 傳輸期間主動電流會大幅尖峰上升。
ESP32-C3(RISC-V 無線) ~15-25 mA @ 80 MHz(僅 CPU)/80-130 mA(BLE TX) ~5 µA(Deep Sleep) 高度具成本效益的連網節點,主動功耗較低。

注意

ESP32 論壇中的實務提醒:許多使用者在開發板上測得的深度睡眠電流為 50-300 µA,原因是 USB-UART 晶片、LED 與 LDO 會漏電。若要達到資料表數值,需要設計只保留模組本身的自訂 PCB。

實際應用中的電池壽命

  • 環境感測器(CR2032,10 分鐘 LoRa 喚醒一次):STM32WL 約 3 年。ESP32 + LoRa 模組約 3 個月。
  • 智慧電表(市電 + 備用電池):STM32L4 看門狗可在備用電池上運作數年;ESP32 主要適合市電存在時使用。
  • GPS 記錄器(2 顆 AA,5 分鐘間隔):STM32L4 + GPS 約 12 個月。ESP32 + GPS 約 2 個月。

最終重點:若需要鈕扣電池或數年電池壽命,選 STM32。若使用市電或大容量 LiPo,ESP32 也可以。

STM32 vs ESP32:連線能力與功耗

Wi-Fi 與 Bluetooth

ESP32 明顯勝出。每顆經典 ESP32 都內建 802.11 b/g/n + BT Classic + BLE 4.2。ESP32-C6 則在單晶片中加入 Wi-Fi 6、Thread 與 Zigbee。WROOM-32E 與 ESP32-S3-WROOM 等模組已通過預認證(FCC/CE/IC),可節省數月合規工作。

主流 STM32 零件沒有內建 Wi-Fi。您要嘛加上外部模組,常見做法是使用 ESP32 作為 Wi-Fi 協處理器;要嘛選擇 STM32 無線系列,例如 STM32WB(BLE 5.2 + Zigbee/Thread)與 STM32WL(LoRa、sub-GHz)。若是純 Wi-Fi,STM32 一定需要外部支援。

無線生態系與認證

對商用 IoT 產品而言,無線生態系與認證路徑和原始硬體性能一樣重要。預封裝 ESP32 模組已在模組內完整處理實體 RF 走線、匹配網路與屏蔽。更重要的是,Espressif 已承擔 FCC、CE 與 IC 合規認證的大量前期成本。

此外,ESP32-C6 與 ESP32-H2 等新款晶片,也是現代智慧家庭標準的原生平台,內建 Matter、Zigbee 與 Thread 協定支援。

雖然 STM32WB 與 STM32WL 系列提供優秀的 sub-GHz 與 BLE 通訊能力,但 STM32 缺少單晶片、預認證的 Wi-Fi 等效方案,意味著開發者必須自行處理外部 RF 電路設計與後續法規認證。

stm32 industrial networks vs esp32 wireless iot

圖:比較 STM32 有線工業網路與 ESP32 智慧家庭無線連線能力。

工業通訊

  • CAN/CAN-FD:STM32F4/G4/H7 原生支援。ESP32 具備 TWAI,但僅支援 CAN 2.0。
  • RS485:STM32 透過 UART 提供成熟硬體支援,包含自動方向控制。ESP32 在 ESP-IDF 中也透過專用 UART RS485 模式支援 RS485,但 STM32 的工業 UART 周邊通常功能更完整。
  • Modbus RTU/TCP:兩者皆可穩定運作,但時間要求嚴格的 Modbus RTU 較適合 STM32。
  • Ethernet MAC:STM32F4/F7/H7 整合 Ethernet MAC。經典 ESP32 也包含 EMAC,但仍需要外部 PHY 晶片(LAN8720、IP101)與額外板級設計,因此不等同於 STM32 的更緊密整合。

總結:無線 = ESP32。有線工業 = STM32。

STM32 vs ESP32:工業與 IoT 應用

這次比較的核心論點是:STM32 是工業優先;ESP32 是 IoT 優先。理解這一點會影響每個決策。

為什麼 STM32 主導工業系統

  • PLC 與自動化控制器:STM32F4/H7 可處理 Modbus RTU/TCP、CAN-FD 與 Profibus 時序,而 ESP32 在網路負載下無法保證這些時序。
  • 馬達驅動與逆變器:STM32G4 的 HRTIM 與進階計時器,是 BLDC/PMSM FOC 的參考平台。SimpleFOC 等開源韌體也優先支援 STM32。
  • 能源計量與智慧電表:STM32L4/U5 可在亞微安等級功耗下持續進行 ADC 取樣。計量核心保持運作;無線電通常是獨立 ESP32,只有在需要傳輸時才喚醒。
  • 工業 IoT 邊緣節點:STM32WB 可處理 BLE 感測器網路,STM32WL 則處理 LoRa,兩者都不必額外接入外部無線晶片。

為什麼 ESP32 主導 IoT 產品

  • 智慧家庭裝置:以 2 美元預認證模組提供 Wi-Fi + BLE + Matter SDK(透過 ESP32-C6)。
  • 連網感測器:MQTT、HTTP、HTTPS、WebSocket 都能透過 ESP-IDF 開箱即用。
  • 消費性電子:ESP32-S3 可處理相機、顯示與雲端,近似智慧家電的 SoC 解決方案。
  • 快速原型:用 Arduino sketch 寫 20 行即可啟用完整 Wi-Fi。STM32 搭配外部 Wi-Fi 需要數天才能複製相同效果。

STM32 vs ESP32 周邊

ADC 與類比

STM32 ADC 通常為 12-bit,而 STM32H7 裝置可透過硬體過取樣達到最高 16-bit 有效解析度。它們具備多組 sample-and-hold 單元、硬體過取樣與 DMA 掃描模式。G4 與 H7 擁有雙/三 ADC,可進行同步電流取樣,這對馬達控制至關重要。

ESP32 有兩組 12-bit SAR ADC,但在 2.5 V 以上以非線性著稱。當精度重要時,量產設計通常會使用外部 ADC(ADS1115、MCP3424)。

PWM 與馬達控制

STM32 進階計時器(TIM1、TIM8)可產生 6 路同步 PWM,並具備硬體 dead-time、break input 與編碼器模式。STM32G4 的 HRTIM 具備 184 ps 解析度,可用於 SMPS 與多相 DC-DC 轉換器。

ESP32 的 LEDC 周邊適合 LED 調光與伺服 PWM,但沒有 dead-time、break input 或編碼器介面。

USB、CAN 與進階介面

  • USB Host/Device/OTG:STM32F4/F7/H7/U5 與 ESP32-S2/S3 支援。
  • CAN-FD:僅 STM32 支援。
  • Camera(DCMI):STM32H7 具備平行介面;ESP32 則使用 I2S slave mode。
  • 5 V 耐受:許多 STM32 腳位可耐受 5 V。ESP32 GPIO 嚴格限制為 3.3 V,意味著 5 V 訊號會損壞晶片,這是許多新手常踩的坑。

總結:在類比與控制工作方面,STM32 周邊比 ESP32 高一個層級。

STM32 vs ESP32 開發體驗

工具鏈與工作流程

STM32 使用 STM32CubeIDE + STM32CubeMX,可進行圖形化腳位/時脈設定,並搭配 HAL/LL 函式庫。PlatformIO 與 Arduino-STM32 則涵蓋業餘用途。

ESP32 使用 ESP-IDF(基於 FreeRTOS,官方支援)或 Arduino-ESP32 進行快速原型開發。ESPHome 與 MicroPython 則提供更高階選項。

學習曲線方面:前兩週 ESP32 勝出。接下來六個月 STM32 勝出;當您超越 Arduino 抽象層後,CubeMX 可讓您不離開 GUI 就掌握完整周邊控制。

FreeRTOS 與 Zephyr 支援

FreeRTOS 已內建於 ESP-IDF,每個 ESP32 應用都已在其上運行,且任務可固定到特定核心。ESP-IDF 本身就是圍繞 FreeRTOS 概念建立,而 STM32 專案則可依應用複雜度選擇是否使用 RTOS。在 STM32 上,FreeRTOS 是透過 CubeMX 加入的選用中介軟體。

Zephyr RTOS 同時支援兩者,但 STM32 具有更深入的上游支援,涵蓋 F、L、G、H、U、WB、WL 系列,並具備完整 Device Tree 支援。ESP32(Xtensa)支援存在,但進度較慢。對長期工業專案而言,Zephyr + STM32 是更乾淨的路徑。

中介軟體與生態系

工具鏈只是開始,中介軟體與 SDK 生態系通常會決定實際專案速度。

STM32 生態系:

  • TouchGFX,適用於顯示器的嵌入式 GUI 框架
  • X-CUBE 中介軟體套件(USB、LPWAN、馬達控制、Azure IoT)
  • Azure RTOS(ThreadX、FileX、NetX Duo),由 Microsoft 支援且免權利金
  • Zephyr RTOS,具備深入 STM32 Device Tree 支援
  • ST Motor Control Workbench,與 STM32G4/F4 綁定的 FOC 調校 GUI

ESP32 生態系:

  • ESP-IDF component registry,包含數百個社群維護驅動程式
  • Matter SDK(esp-matter),官方晶片級實作
  • ESP RainMaker,面向消費性 IoT 產品的零伺服器雲端後端
  • ESPHome,以 YAML 定義智慧家庭裝置韌體,擁有龐大的 Home Assistant 社群
  • Arduino-ESP32,具備數千個函式庫,能快速上手

STM32 中介軟體更偏向工業認證路徑。ESP32 中介軟體則是為快速推出連網產品而打造。

除錯工具

  • ST-Link 除錯(STM32):使用平價 ST-Link 燒錄器(官方 Nucleo 評估板上通常約 3 美元)或 Segger J-Link、ULINK 等高階選項的標準 SWD(Serial Wire Debug)流程。這可在硬體層級進行即時中斷點、變數觀察與記憶體檢查,而不需要停止核心執行。
  • USB-JTAG 除錯(ESP32):較新的 ESP32-S3 與 RISC-V C 系列晶片支援直接透過 USB-C 介面進行原生 JTAG 除錯。舊型號需要外部 ESP-Prog 除錯器才能使用硬體中斷點,因此多數開發者預設仍使用 serial USB-CDC 的 print statement 除錯。

總結:ESP32 更快完成第一次閃燈。當您需要真正除錯時,STM32 更快。

stm32 evaluation board with hardware debugging tools

圖:具備測試儀器與 STM32 評估板的專業硬體除錯配置。

為什麼許多商用產品同時使用 STM32 與 ESP32

混合架構

為了克服兩種晶片各自的限制,工程師通常會將功能負載分配到專用協處理器拓撲中:

  • STM32 負責:即時控制迴路、高速類比感測器擷取(透過 ADC/DMA)、嚴格硬體安全互鎖,以及精準高頻馬達或電源供應器(SMPS)PWM 控制。
  • ESP32 負責:複雜 2.4 GHz Wi-Fi 與 Bluetooth 協定堆疊、安全雲端交易訊息(MQTT/HTTPS)、背景 OTA 韌體更新,以及流暢的手機 App BLE 配對。

兩者透過 UART 或 SPI 通訊,通常由 STM32 擔任主控,ESP32 作為「無線數據機」。

同時使用兩者的真實產品

  • 智慧家電:STM32 負責馬達與安全,ESP32 負責 App 連線。
  • 電動車充電器:STM32 負責 CCS/CHAdeMO 與安全,ESP32 負責 OCPP 雲端。
  • 智慧能源電表:STM32 負責計量,ESP32 負責 Wi-Fi 回報。
  • 工業閘道器:STM32 負責 Modbus/CAN 現場端,ESP32 負責雲端上行。

這種分工讓每顆晶片各自發揮所長,也能在不動控制韌體的情況下更新無線堆疊。

FAQs

Q:STM32 與 ESP32 可以一起用在自訂 PCB 上嗎?

可以。這是常見的商用設計模式。STM32 作為主要微控制器,負責安全關鍵與即時控制迴路;ESP32 則作為專用無線協處理器,透過 SPI 或 UART 通訊。

Q:ESP32 是否可耐受 5V?

不可以。ESP32 GPIO 腳位嚴格工作於 3.3 V。若要將 ESP32 連接到 5 V 感測器或致動器而不損壞晶片,必須使用外部電平轉換器。不過,許多 STM32 腳位原生具備 5 V 耐受能力。

Q:專業工程師會在 STM32 或 ESP32 上使用 FreeRTOS 嗎?

會。FreeRTOS 是 ESP32 的標準配置,因為官方 ESP-IDF 框架原生建立在 FreeRTOS 之上。在 STM32 上,專業工程師會使用 FreeRTOS 或 ThreadX 管理複雜狀態機與網路堆疊,但對高頻控制迴路,仍偏好裸機執行。

Q:對 STM32 與 ESP32 來說,Zephyr 是否比 FreeRTOS 更好?

對大型 STM32 專案而言,Zephyr 通常更受青睞,因為其 device-tree 架構、標準化驅動與不依賴單一供應商的生態系,有助於長期維護。FreeRTOS 仍是 ESP32 上最常見的選擇,因為 ESP-IDF 建立在其之上,並完整支援 Wi-Fi 與 Bluetooth 功能。

結論:STM32 vs ESP32——該選哪一個?

STM32 vs ESP32 的討論中,沒有放諸四海皆準的勝者。正確選擇取決於您的產品主要是即時控制系統,還是連網 IoT 裝置。

如果您的專案需要確定性時序、精準類比量測、馬達控制、低功耗睡眠模式、工業通訊、安全相關設計或長期產品供貨,請選擇 STM32。STM32 更適合馬達驅動、PLC、計量設備、工業控制器、醫療設備、電池供電感測器與車規系統等應用。

如果您的專案以無線連線、雲端通訊、智慧家庭整合、快速原型或低成本消費性 IoT 為核心,請選擇 ESP32。憑藉內建 Wi-Fi、Bluetooth、Matter、Thread 與預認證模組,ESP32 通常更適合 MQTT 閘道器、智慧家電、連網感測器、Home Assistant 裝置與消費性電子。

對許多商用產品而言,最佳答案不是 STM32 或 ESP32,而是 STM32 與 ESP32。常見架構是讓 STM32 負責即時控制、ADC 取樣、安全互鎖與工業 I/O,而 ESP32 負責 Wi-Fi、Bluetooth、OTA 更新、雲端訊息與手機 App 配對。這種混合設計能讓每顆晶片各自做最擅長的事。

注意

簡而言之:當精度、確定性、功耗效率與工業可靠性最重要時,STM32 勝出。當無線連線、上市速度與成本最重要時,ESP32 勝出。

持續學習