ESP32 腳位解析:安全腳位、接線規則與範例

Nov 25 2025
源: DiGi-Electronics
瀏覽: 1665

ESP32 的腳位配置是其最大優勢之一,也是最常見的混淆來源之一。由於重度多工、嚴格的開機模式依賴及敏感的類比行為,正確的腳位選擇對穩定運作至關重要。本文清楚組織每個主要腳位群組,幫助您避免衝突、防止開機失敗,並設計可靠的 ESP32 硬體。

Figure 1. ESP32 Pinout

了解 ESP32 腳位配置

ESP32 是一款強大且靈活的微控制器,廣泛應用於物聯網、自動化及智慧裝置。其進階能力來自高度多工的腳位排列系統,許多功能共用相同的物理腳位。這些包括數位輸入輸出、ADC通道、電容式觸控感測器、通訊匯流排、RTC領域腳位,以及用於SPI閃存與開機配置的內部連接。由於許多功能共用腳位,接線不當可能導致開機失敗、ADC 讀數雜訊或周邊設備被停用。

ESP32 DevKit 腳位配置

Figure 2. ESP32 DevKit Pin Layout

ESP32 開發板通常有 30 針與 38 針兩種版本,兩者核心功能相同,但可用的 GPIO 略有差異。

ESP32開發板上的2.1腳位群組

群組說明
電源別針VIN(5 V),3.3 V 輸出,GND
控制腳EN(重置)、IO0(開機模式)
GPIO 腳數位輸入輸出與多工
類比腳ADC1 與 ADC2 通道
通訊針SPI、I2C、UART、I2S
僅輸入腳位GPIO34–GPIO39
閃存保留針GPIO6–GPIO11

共同標頭配置

左側標題

• 英文、GPIO36–39、GPIO34–35

• GPIO32–33,25–27

• VIN、GND、3.3V

右側標頭

• GPIO0–23

• 綁帶銷(0、2、5、12、15)

了解實體佈局能更容易避免錯誤並有效規劃布線。

ESP32 GPIO 概述

Figure 3. ESP32 GPIO

ESP32 GPIO 因為內建 I/O 矩陣而具有彈性,讓 UART、SPI、I2C 和 PWM 等周邊設備幾乎可以映射到任何地方。GPIO 支援內建上拉/下拉電阻的數位輸入/輸出、邊緣觸發中斷,以及高速下可靠的切換。典型的連續驅動電流為12–16 mA(峰值最高可達~20–40 mA),因此馬達或繼電器需要外接驅動器。

僅輸入腳位

這些腳位無法驅動輸出,非常適合感測器和類比輸入:

類型推薦用途
GPIO34僅輸入ADC1 / 感測器
GPIO35僅輸入ADC1
GPIO36(VP)僅輸入ADC1 / 霍爾感測器
GPIO39(VN)僅輸入ADC1

安全的ESP32腳位使用與避免的腳位

Figure 4. Safe ESP32 Pins to Use and Pins to Avoid

並非所有 ESP32 腳位的表現都一樣。有些是安全的,而有些則會影響開機模式或與內部快閃記憶體相關。

安全別針(推薦給所有使用者)

GPIO註釋
4, 13–19, 21–27, 32, 33沒有靴子衝擊,非常適合大多數周邊產品

警告針腳(影響開機模式)

GPIO開機功能啟動時請避免
GPIO0快閃/開機模式正常開機時保持高(輸入)
GPIO2啟動電壓一定是高
GPIO5可選開機模式避免拉低
GPIO12閃光電壓模式必須保持低調
GPIO15SPI 模式必須保持低調

這些腳位在正常運作時是安全的,但外部元件在重置時不得將它們拉到無效的邏輯電平。他們的詳細靴子角色詳見第9節。

限制銷(禁止使用)

GPIO理由
GPIO6–11連接 SPI 快閃記憶體

使用這些可能會讓 ESP32 當機或當機。

ESP32 ADC 腳位

Figure 5. ESP32 ADC Pins

ESP32整合了兩個具不同作戰行為的SAR ADC單元:

• ADC1 — 所有感測器輸入皆可隨時使用並建議使用

• ADC2 — 與 Wi-Fi 子系統共用,當 Wi-Fi 啟用時即無法使用。

這是 ESP32 的主要限制之一,使得 ADC1 成為無線應用測量的可靠選擇。

ADC 單元頻道GPIO註釋
ADC1第0章至第7章GPIO32–39感測器的最佳選擇
ADC2第0章–第9章0、2、4、12–15、25–27Wi-Fi 期間無法使用

電壓範圍與精確度

ADC 預設的輸入範圍為 0–1.1 V,並可透過衰減擴展至約 3.3 V。兩台 ADC 單元皆為非線性,並可透過校正受益。類比效能會受到內部射頻活動的影響,因此將感測器線從天線外拉開並加裝簡單的遙控濾波器,能大幅提升穩定性。對於支援 Wi-Fi 的專案,必須在 ADC1 上放置類比感測器,以確保持續且無噪音的運作。

ESP32 DAC、PWM 與觸控腳位

ESP32 內建類比輸出與觸控感測器,簡化波形產生、調光、馬達控制及使用者介面。

DAC 概述

Figure 6. ESP32 DAC

兩個 8 位元 DAC 通道輸出真正的類比電壓:

DACGPIO
DAC1GPIO25
DAC2GPIO26

常見用途包括簡單音訊、類比波形、LED 衰落及偏壓電壓。輸出範圍通常為 0–3.3 V。

PWM(LEDC)

Figure 7. ESP32 PWM

LEDC 模組提供高解析度且靈活的 PWM:

• 16個頻道

• 最高 40 MHz 計時器基底

• 最高可達 20 位元解析度

• 完全可重新映射的GPIO

用於 LED 調光、馬達控制、伺服信號、音頻音調及一般調變。任何 GPIO 都可以透過 GPIO 矩陣承載 PWM 輸出。

觸控感應針腳

Figure 8. ESP32 Touch Sensor Pins

ESP32 的 10 個電容式觸控板可偵測手指接近度,對觸控按鈕、滑桿及喚醒觸發器非常實用。

觸控板GPIO
T0–T9GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32

這些感測器具備噪音過濾功能,且在低功耗尾流事件中表現良好。

ESP32 通訊腳

ESP32 包含豐富的通訊周邊設備,每個都能透過靈活的 GPIO 矩陣路由至多個腳位。這使得 I2C、SPI 和 UART 等介面幾乎可以被分配到任何地方,從而實現高度客製化的電路板佈局與周邊設備組合。

I2C(預設與自訂腳位)

Figure 9. ESP32 I2C Pins

ESP32 包含兩個 I2C 控制器,且在腳位選擇上有完全的彈性。雖然大多數開發板使用預設腳位,但 SDA 與 SCL 幾乎可重新分配至任何 GPIO。

訊號預設 GPIO註釋
SDAGPIO21完全可重新映射
SCLGPIO22完全可重新映射

任何兩個數位 GPIO 都可以作為 SDA 和 SCL。支援標準模式(100 kHz)、快速模式(400 kHz)及快速模式加頻(視主機板而定為 1 MHz)。部分電路板支援內部上拉,但建議使用外部 4.7 kΩ 電阻以穩定通訊。這種彈性使 ESP32 非常適合需要多感測器或非傳統腳位布線的系統。

ESP32 包含多條 SPI 匯流排,使用者裝置可支援 HSPI 與 VSPI。兩者都支援透過 GPIO 矩陣重新映射,但大多數板子與函式庫使用以下預設的 VSPI 配置,以避免與內部快閃記憶體連線衝突:

預設 VSPI 映射

• SCK → GPIO18

• MISO → GPIO19

• MOSI → GPIO23

• CS → GPIO5

VSPI 通常被推薦用於顯示器、SD 卡及高速周邊設備。雖然腳位可重新映射,但使用預設值能確保最大相容性,減少時序問題,避免重複先前章節已涵蓋的限制。

UART(序列)

Figure 10. ESP32 UART Pins

ESP32 包含三個 UART 控制器,具備彈性路由,允許任何 UART 腳位移動至幾乎任何 GPIO。

UARTTX 針RX 腳主要目的
UART0GPIO1GPIO3閃爍、開機訊息、串列記錄
UART1GPIO10GPIO9可供使用者應用程式使用
UART2GPIO17GPIO16可供使用者應用程式使用

ESP32 深度睡眠與 RTC 腳位

ESP32 包含超低功耗(Ultra-Low-Power, ULP)子系統及專用的即時時脈(RTC)域,即使主 CPU 及周邊設備關閉,仍持續供電。此架構使得極低的功耗,常在微安培級,使ESP32適合長期電池供電應用。

深度睡眠允許晶片關閉主核心、大部分內部時脈,以及 Wi-Fi/藍牙無線電,同時仍透過 RTC 周邊監控選定的腳位與感測器。

Figure 11. ESP32 RTC Pins

ESP32 可透過多個獨立觸發器從深度睡眠中喚醒。每個尾流源都運作於RTC域內,該領域設計為以最低功耗保持活躍。

尾流類型GPIOs/註解
外部 RTC GPIOGPIO32、GPIO33、GPIO25、GPIO26、GPIO27 — 支援邊緣或電平喚醒
電容式觸控板T0–T9 — 在深度睡眠時偵測手指接近或觸碰
計時器喚醒RTC 計時器可在設定間隔後喚醒裝置
ULP 協同處理器(可選)自訂的低功耗程式碼可以在喚醒主 CPU之前執行感測器檢查。
這些腳位屬於 RTC 域,即使 CPU 和一般 GPIO 關閉,仍保持活躍。它們支援透過升降邊緣或簡單的電平偵測喚醒。常用於喚醒動作、磁性開關及低功率觸發器。
Figure 12.ESP32 Strapping Pins
ESP32 使用多個綁帶腳位,在重置或開機時決定關鍵系統配置。這些腳位僅在開機時取樣,然後恢復正常 GPIO 功能。確保重置時不會被驅動到無效水準,有助於啟動行為的一致性。
綁針桌
啟動角色啟動時必須的州份
GPIO0選擇開機載入程式 / 閃存模式LOW = 進入閃光燈模式;HIGH = 正常啟動
GPIO2定義內部開機電壓電平必須保持高中
GPIO5SPI 開機設定必須保持高中
GPIO12選擇閃光電壓(3.3 V / 1.8 V)必須保持低電位以維持 3.3 V 閃光燈
GPIO15在開機時設定 SPI 通訊模式必須保持低

本節提供綁帶行為的權威參考。前幾節僅總結實際效果;在為自訂 PCB 指派腳位或整合按鈕與感測器時,請使用此表。

EN 腳(啟用/重置)

EN(啟用)腳位作為 ESP32 的主重置輸入。

EN 針腳行為:

• 拉取 EN LOW 會立即重置晶片。

• 將它放回高電平,會啟動內部迴路並重新啟動開機序列。

• 在開發板(例如 ESP32-DevKitC、NodeMCU-ESP32)上,EN 綁定於 USB 轉序列介面,以允許在刷機時自動重置。

ESP32 電源腳位

Figure 13. ESP32 Power Pins

ESP32 對電源品質很敏感,因為它的 Wi-Fi 和藍牙無線電會產生短且高振幅的電流脈衝。穩定的電力傳輸確保開機可靠、減少電壓重置及穩定的無線效能。

電源針摘要

電壓使用
車輛識別碼5 V 輸入供電至車載調壓器(通常為AMS1117或ME6211),產生3.3 V
3對33.3 V 輸出來自機載 LDO 的穩定輸出;用於驅動外部低電流邏輯與感測器
GND所有子系統的電氣參考與回傳路徑

推薦的 ESP32 腳位與接線範例

選擇合適的 ESP32 腳位是確保穩定運作、訊號路由乾淨,並避免與啟動或內部閃存連接衝突的必要條件。以下建議重點介紹最可靠且無衝突的常見功能腳位。

旗幟選擇

功能最佳別針註釋
I2C21(SDA)、22(SCL)預設硬體測試組合;大多數板子都能用。
SPI18(SCK)、19(MISO)、23(MOSI)、5(CS)這些腳位會乾淨俐落地映射到 VSPI,避免使用快閃記憶體連接腳位。
UART16(RX)、17(德州)專用的 UART2 腳位,開機和除錯都很安全。
PWM(LEDC)4、16–19、21–27、32–33高彈性範圍;PWM 幾乎可以路由到任何 GPIO。
ADC32–39(ADC1)即使 Wi-Fi 啟用,ADC1 頻道仍可使用。

結論

掌握 ESP32 腳位配置可以消除猜測,避免實際組裝中出現的許多問題,從雜訊的 ADC 讀數到無止盡的開機迴路。透過了解安全腳位、綁帶行為、電力完整性及深度睡眠路由,您可以設計出穩定、可預測且無線連線的電路。以上述針腳映射和指引為基礎,打造無憂的 ESP32 專案。

常見問題 [常見問題]

我該如何為 Freenove ESP32-S3 分組板設定 PlatformIO?

使用標準的 ESP32-S3 開發模組設定。在你的platformio.ini中,請補充:

[環境:ESP32S3]

Platform = espressif32

板 = ESP32-S3-DevKitc-1

Framework = Arduino(Arduino)

這與 Freenove 的腳位相符,允許正常編譯並透過 USB 上傳。

ESP32 同時能執行多少個周邊設備?

由於 GPIO 矩陣,ESP32 可以同時執行多個 I²C、SPI、UART、PWM 和 ADC 功能,只要避免使用受限腳位並控制在 CPU 與時序限制內。主要瓶頸是 Wi-Fi 和電源品質時的 ADC2,而不是腳位數。

為什麼我的 ESP32 在連接感測器或模組時會重啟?

意外的重置通常來自 Wi-Fi 突發、馬達或電源調節不良所造成的電壓下降。使用1 A或更高的5 V電源,加入10–100 μF的體積電容,並隔離雜訊負載,可防止電壓降壓。

我可以用 ESP32 的 3.3 V 腳位來供電給外接模組嗎?

可以,但僅限於低電流裝置(通常在300–500 mA以下,視機載LDO而定)。高耗電周邊設備如馬達、伺服機及大型LED燈條必須使用獨立電源供應器,以避免重置與過熱。

在使用多個周邊設備時,我該如何選擇最佳的 ESP32 腳位?

優先使用非綁帶腳位,避免使用GPIO6–11,ADC1上放置類比感測器,並盡可能使用預設的VSPI/I²C/UART腳位。這減少了衝突,確保所有周邊設備能協同運作,不會產生重新映射的問題。