Vysvětlení rozvrhu pinů ESP32: Bezpečnostní piny, pravidla zapojení a příklad

Nov 25 2025
Zdroj: DiGi-Electronics
Procházet: 2162

Pinout ESP32 je jednou z jeho největších předností a zároveň jedním z nejčastějších zdrojů zmatků. Při silném multiplexování, přísných závislostech na bootovacím režimu a citlivém analogovém chování je správný výběr pinů důležitý pro stabilní provoz. Tento článek jasně organizuje každou hlavní skupinu pinů, abyste se vyhnuli konfliktům, zabránili selháním bootování a navrhli spolehlivý hardware založený na ESP32.

Figure 1. ESP32 Pinout

Pochopení rozmístění pinů ESP32

ESP32 je výkonný a flexibilní mikrokontrolér široce používaný v IoT, automatizaci a chytrých zařízeních. Jeho pokročilé schopnosti vycházejí z vysoce multiplexovaného systému pinoutů, ve kterém mnoho funkcí sdílí stejné fyzické piny. Patří sem digitální I/O, ADC kanály, kapacitní dotykové senzory, komunikační sběrnice, piny v RTC doméně a vnitřní připojení pro SPI flash a bootovací konfiguraci. Protože mnoho funkcí sdílí piny, nesprávné zapojení může způsobit neúspěšné spouštění, šumové odečty ADC nebo deaktivaci periferií.

Rozložení pinů ESP32 DevKit

Figure 2. ESP32 DevKit Pin Layout

Vývojové desky ESP32 jsou obvykle dostupné ve verzích s 30 a 38 piny, obě nabízejí stejné základní funkce, ale s drobnými rozdíly v dostupných GPIO.

Skupiny pinů na vývojových deskách ESP32

SkupinaPopis
Napájecí pinyVIN (5 V), výstup 3,3 V, GND
Řídicí pinyEN (reset), IO0 (bootovací režim)
GPIO pinyDigitální I/O s multiplexováním
Analogové pinyKanály ADC1 a ADC2
Komunikační pinySPI, I2C, UART, I2S
Piny pouze pro vstupGPIO34–GPIO39
Flash-rezervované pinyGPIO6–GPIO11

Společné uspořádání hlaviček

Levý hlaviček

• EN, GPIO36–39, GPIO34–35

• GPIO32–33, 25–27

• VIN, GND, 3,3V

Pravý záběr

• GPIO0–23

• Čepy na popruhy (0, 2, 5, 12, 15)

Pochopení fyzického uspořádání usnadňuje předcházení chybám a efektivní plánování elektroinstalací.

Přehled GPIO ESP32

Figure 3. ESP32 GPIO

GPIO ESP32 jsou flexibilní díky interní I/O matici, která umožňuje mapovat periferie jako UART, SPI, I2C a PWM téměř kamkoli. GPIO podporují digitální vstup/výstup s vestavěnými pull-up/down rezistory, hraničně spouštěnými přerušeními a spolehlivým přepínáním při vysokých rychlostech. Typický kontinuální proud pohonu je 12–16 mA (vrcholy až do ~20–40 mA), proto jsou pro motory nebo relé potřeba externí měniče.

Pouze vstupní piny

Tyto piny nemohou ovládat výstup a jsou ideální pro senzory a analogové vstupy:

PinTypDoporučené použití
GPIO34Pouze vstupADC1 / senzory
GPIO35Pouze vstupADC1
GPIO36 (VP)Pouze vstupADC1 / Hallův senzor
GPIO39 (VN)Pouze vstupADC1

Bezpečné ESP32 piny k použití a piny, kterým se vyhnout

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

Ne všechny piny ESP32 se chovají stejně. Některé jsou bezpečné, jiné ovlivňují bootovací režim nebo jsou vázány na interní flash paměť.

Bezpečné odznaky (doporučeno všem uživatelům)

GPIOsPoznámky
4, 13–19, 21–27, 32, 33Žádný náraz na boot, ideální pro většinu periferií

Varovné piny (ovlivňují režim startu)

GPIOBoot funkceVyhnout se během bootu
GPIO0Režim flash/bootUdržujte HIGH (vstup) během běžného bootu
GPIO2Startovací napětíMusí být VYSOKÁ
GPIO5Volitelný bootovací režimVyhněte se tahání nízko
GPIO12Režim záblesku napětíMusím zůstat NÍZKÝ
GPIO15SPI režimMusím zůstat NÍZKÝ

Tyto piny jsou bezpečné k použití při běžném provozu, ale vnější součástky je nesmí při resetu stáhnout na neplatné logické úrovně. Jejich podrobné role na botách jsou vysvětleny v oddílu 9.

Omezené piny (nepoužít)

GPIODůvod
GPIO6–11Připojeno k SPI flash paměti

Používání těchto zařízení může ESP32 zamrznout nebo spadnout.

ESP32 ADC piny

Figure 5. ESP32 ADC Pins

ESP32 integruje dvě jednotky SAR ADC s odlišným provozním chováním:

• ADC1 — Vždy dostupný a doporučený pro všechny vstupy senzorů

• ADC2 — Sdílený s Wi-Fi subsystémem a stává se nedostupným, kdykoli je Wi-Fi aktivní

To je jedno z klíčových omezení ESP32, díky čemuž je ADC1 spolehlivou volbou pro měření v bezdrátových aplikacích.

Jednotka ADCKanályGPIOsPoznámky
ADC1KAP0–KAPITOLA 7GPIO32–39Nejlepší volba senzorů
ADC2KAP0–KAPITOLA 90, 2, 4, 12–15, 25–27Nepoužitelné během Wi-Fi

Rozsah napětí a přesnost

ADC podporují výchozí rozsah vstupu 0–1,1 V, který lze prodloužit až na přibližně 3,3 V s útlumem. Obě jednotky ADC jsou nelineární a těží z kalibrace. Výkon analogového signálu může ovlivnit vnitřní RF aktivita, takže vedení senzorových vodičů od antény a přidání jednoduchých RC filtrů může výrazně zlepšit stabilitu. U projektů s podporou Wi-Fi vždy umisťujte analogové senzory na ADC1, aby byl zajištěn nepřetržitý a bezšumový provoz.

ESP32 DAC, PWM a dotykové piny

ESP32 obsahuje integrované analogové výstupy a dotykové senzory, které zjednodušují generování vln, stmívání, ovládání motoru a uživatelská rozhraní.

Přehled DAC 6.1

Figure 6. ESP32 DAC

Dva 8bitové DAC kanály vysílají skutečné analogové napětí:

DACGPIO
DAC1GPIO25
DAC2GPIO26

Mezi běžné použití patří jednoduchý audio, analogové vlnové průběhy, LED vyblednutí a napětí předpětí. Výstupní rozsah je obvykle 0–3,3 V.

PWM (LEDC)

Figure 7. ESP32 PWM

Modul LEDC poskytuje vysoce rozlišující, flexibilní PWM:

• 16 kanálů

• Základna časovače až 40 MHz

• Až 20bitové rozlišení

• Plně přeskupitelné GPIO

Používá se pro stmívání LED, řízení motorů, servo signály, audio tóny a obecnou modulaci. Každé GPIO může hostovat výstup PWM prostřednictvím GPIO matice.

Dotykové snímače

Figure 8. ESP32 Touch Sensor Pins

ESP32 má 10 kapacitních dotykových panelů – detekuje blízkost prstů a jsou užitečné pro dotyková tlačítka, posuvníky a spouště probuzení.

TouchpadGPIO
T0–T9GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32

Tyto senzory obsahují filtrování hluku a dobře fungují pro nízkoenergetické probuzení.

ESP32 komunikační piny

ESP32 obsahuje bohatou sadu komunikačních periferií, z nichž každé lze vést na více pinů přes flexibilní GPIO matici. To umožňuje přiřazování rozhraní jako I2C, SPI a UART téměř kdekoli, což umožňuje vysoce přizpůsobitelné uspořádání desek a kombinace periferií.

I2C (výchozí a vlastní piny)

Figure 9. ESP32 I2C Pins

ESP32 obsahuje dva I2C řadiče s plnou volbou pinů. Ačkoli většina vývojových desek používá výchozí piny, SDA i SCL lze přeřazit téměř na jakékoli GPIO.

SignálVýchozí GPIOPoznámky
SDAGPIO21Plně přeskupitelné
SCLGPIO22Plně přeskupitelné

Jakékoliv dva digitální GPIO mohou fungovat jako SDA a SCL. Podporuje jak standardní režim (100 kHz), rychlý režim (400 kHz), tak rychlý režim plus (1 MHz v závislosti na desce). Podporuje vnitřní pull-up na některých deskách, ale pro stabilní komunikaci se doporučují externí rezistory 4,7 kΩ. Tato flexibilita činí ESP32 ideálním pro systémy vyžadující více senzorů nebo nekonvenční vedení pinů.

ESP32 obsahuje více sběrnic SPI, přičemž pro uživatelská zařízení jsou k dispozici HSPI a VSPI. Obě podporují přemapování přes GPIO matici, ale většina desek a knihoven používá následující výchozí konfiguraci VSPI, která zabraňuje konfliktům s interními flash připojeními:

Výchozí mapování VSPI

• SCK → GPIO18

• MISO → GPIO19

• MOSI → GPIO23

• CS → GPIO5

VSPI je obvykle preferován pro displeje, SD karty a vysokorychlostní periferie. I když jsou piny přeměňovatelné, použití výchozích zajišťuje maximální kompatibilitu a snižuje časové problémy bez opakování omezení, která už byla popsána v předchozích částech.

UART (sériové)

Figure 10. ESP32 UART Pins

ESP32 obsahuje tři UART řadiče s flexibilním směrováním, které umožňuje přesun jakýchkoli UART pinů téměř na jakýkoli GPIO.

UARTTX PINPin RXHlavní účel
UART0GPIO1GPIO3Flashování, bootovací zprávy, sériové logování
UART1GPIO10GPIO9Dostupné pro uživatelské aplikace
UART2GPIO17GPIO16Dostupné pro uživatelské aplikace

ESP32 Deep-Sleep a RTC piny

ESP32 obsahuje subsystém Ultra-Low-Power (ULP) a dedikovanou doménu Real-Time Clock (RTC), která zůstává napájena i při vypnutí hlavního CPU a periferií. Tato architektura umožňuje extrémně nízkou spotřebu energie, často v mikroampérovém rozsahu, což činí ESP32 vhodným pro dlouhodobé aplikace napájené bateriemi.

Hluboký spánek umožňuje čipu vypnout hlavní jádra, většinu interních hodin a Wi-Fi/Bluetooth rádia, přičemž stále monitoruje vybrané piny a senzory přes RTC periferie.

Figure 11. ESP32 RTC Pins

ESP32 se může probudit z hlubokého spánku prostřednictvím několika nezávislých spouštěčů. Každý zdroj vlny pracuje uvnitř domény RTC, která je navržena tak, aby zůstala aktivní s minimální spotřebou energie.

Typ stopyGPIO / Poznámky
Externí RTC GPIOGPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — podpora probuzení na hraně nebo úrovni
Kapacitní dotykové podložkyT0–T9 — detekuje blízkost prstů nebo dotek během hlubokého spánku
Časovač probuzeníRTC časovač může zařízení probudit po naprogramovaném intervalu
ULP koprocesor(Volitelné) Vlastní kód pro nízkou spotřebu může zkontrolovat senzory před probuzením hlavního CPU

Tyto piny patří do domény RTC a zůstávají aktivní i tehdy, když jsou CPU a běžné GPIO vypnuté. Podporují probuzení pomocí stoupajících/klesajících hran nebo jednoduché detekce úrovně. Běžně se používá pro probuzení při pohybu, magnetické spínače a nízkoenergetické spouště.

Funkce bootu, strappingu a EN pinů ESP32

Figure 12.ESP32 Strapping Pins

ESP32 používá několik pinů pro popruhy, které určují klíčové konfigurace systému během resetu nebo zapnutí. Tyto piny jsou vzorkovány pouze při startu a poté se vrátí k normální GPIO funkci. Zajištění, že nejsou při resetu vystaveny neplatným úrovním, je užitečné pro konzistentní chování při startu.

Stůl na připevnění kolíků

PinBoot RolePožadovaný stav při spuštění
GPIO0Výběr bootloader / flash režimuLOW = vstup do režimu blesku; HIGH = normální spuštění
GPIO2Definuje vnitřní úroveň startovacího napětíMusí zůstat VYSOKÝ
GPIO5SPI konfigurace bootuMusí zůstat VYSOKÝ
GPIO12Volí napětí blesku (3,3 V / 1,8 V)Musí zůstat NÍZKÁ pro 3,3 V flash
GPIO15Nastavuje komunikační režim SPI během bootuMusí zůstat NÍZKÁ

Tato sekce poskytuje autoritativní referenci pro chování při připlétání. Dřívější části shrnují pouze praktické účinky; tuto tabulku použijte při přiřazování pinů na vlastních PCB nebo při integraci tlačítek a senzorů.

EN PIN (Povolit / Resetovat)

Pin EN (Enable) slouží jako vstup pro hlavní reset pro ESP32.

Chování EN pinu:

• Vytažením EN LOW čip se okamžitě resetuje.

• Uvolnění zpět na HIGH spustí vnitřní obvody a restartuje bootovací sekvenci.

• Na vývojových deskách (např. ESP32-DevKitC, NodeMCU-ESP32) je EN propojen s USB-sériovým rozhraním, aby umožnil automatický reset během flashování.

ESP32 napájecí piny

Figure 13. ESP32 Power Pins

ESP32 je citlivý na kvalitu napájení, protože jeho Wi-Fi a Bluetooth rádia přitahují krátké, vysokoamplitudové proudové pulzy. Stabilní dodávka energie zajišťuje spolehlivé spouštění, snížené resety výpadků napětí a konzistentní bezdrátový výkon.

Shrnutí Power Pin

PinNapětíPoužít
VIN5 V vstupNapájí palubní regulátor (typicky AMS1117 nebo ME6211), aby generoval 3,3 V
3V33,3 V výstupRegulovaný výstup z palubního LDO; používá se k napájení externí nízkoproudové logiky a senzorů
GNDElektrický referenční a návratový kanál pro všechny podsystémy

Doporučené piny ESP32 a příklady zapojení

Výběr správných pinů na ESP32 je nutný pro stabilní provoz, čisté směrování signálu a vyhnutí se konfliktům s boot-strapováním nebo interními flash připojeními. Následující doporučení zdůrazňují nejspolehlivější a nejkonfliktnější piny pro běžné funkce.

Volba odznaků

FunkceNejlepší odznakyPoznámky
I2C21 (SDA), 22 (SCL)Výchozí hardwarově testovaný pár; Funguje to ve většině fór.
SPI18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS)Tyto piny se čistě mapují na VSPI a vyhýbají se připojeným pinům s flashem.
UART16 (RX), 17 (TX)Dedikované UART2 piny, bezpečné pro bootování a ladění.
PWM (LEDC)4, 16–19, 21–27, 32–33Dosah s vysokou pružností; PWM lze směrovat téměř na jakékoli GPIO.
ADC32–39 (ADC1)Kanály ADC1 zůstávají použitelné i při aktivní Wi-Fi.

Závěr

Ovládnutí ESP32 pinoutu odstraňuje odhady a zabraňuje mnoha problémům, které se objevují v reálných sestavách, od hlučných odečtů ADC až po nekonečné smyčky bootování. Pochopením bezpečných pinů, chování pásků, integrity napájení a hlubokého spánku můžete navrhnout obvody, které zůstanou stabilní, předvídatelné a připravené na bezdrátové připojení. Použijte výše uvedené mapy pinů a pokyny jako základ pro bezproblémové projekty ESP32.

Často kladené otázky [FAQ]

Jak nakonfiguruji PlatformIO pro Freenove ESP32-S3 Breakout Board?

Použijte standardní nastavení vývojového modulu ESP32-S3. Ve svém platformio.ini přidejte do:

[Prostředí:ESP32S3]

platforma = espressif32

Board = ESP32-S3-DevKitC-1

Framework = Arduino

To odpovídá rozložení pinů Freenove, což umožňuje běžnou kompilaci a nahrávání přes USB.

Kolik periferií může ESP32 provozovat současně?

Díky GPIO matici může ESP32 současně provozovat více funkcí I²C, SPI, UART, PWM a ADC, pokud se vyhnete omezeným pinům a zůstanete v limitech CPU a časování. Hlavní úzká místa jsou ADC2 během Wi-Fi a kvalita napájení, ne počet pinů.

Proč se můj ESP32 restartuje při připojení senzorů nebo modulů?

Neočekávané resety obvykle vznikají kvůli poklesům napětí způsobeným výbuchy Wi-Fi, motory nebo špatně regulovanými zdroji. Použitím zdroje 5 V s napětím 1 A nebo vyšším se přidání objemových kondenzátorů o výkonu 10–100 μF a izolace hlučných zátěží zabraňuje výpadkům napětí.

Mohu použít 3.3 V pin ESP32 k napájení externích modulů?

Ano, ale pouze u zařízení s nízkým proudem (obvykle pod 300–500 mA, v závislosti na vestavěném LDO). Periferie s vysokou odběrovou spotřebou, jako jsou motory, serva a velké LED pásky, musí používat samostatný zdroj, aby se zabránilo resetům a přehřátí.

Jak vybrat nejlepší piny ESP32 při použití více periferií?

Upřednostňujte piny bez páskování, vyhněte se GPIO6–11, umístěte analogové senzory na ADC1 a používejte výchozí piny VSPI/I²C/UART, pokud je to možné. To snižuje konflikty a zajišťuje, že všechny periferie mohou fungovat společně bez problémů s přemapováním.