Pinout-ul ESP32 este unul dintre cele mai mari puncte forte ale sale și una dintre cele mai frecvente surse de confuzie. Cu multiplexare intensă, dependențe stricte de boot și comportament analogic sensibil, selectarea corectă a pinilor este importantă pentru o funcționare stabilă. Acest articol organizează clar fiecare grup principal de pini astfel încât să poți evita conflictele, să previi defecțiunile de pornire și să proiectezi hardware fiabil bazat pe ESP32.

Înțelegerea pinout-ului ESP32
ESP32 este un microcontroler puternic și flexibil, folosit pe scară largă în IoT, automatizare și dispozitive inteligente. Capabilitățile sale avansate provin dintr-un sistem de pinout multiplexat puternic, în care multe funcții împart aceiași pini fizici. Acestea includ I/O digitală, canale ADC, senzori tactile capacitive, magistrale de comunicații, pini RTC și conexiuni interne pentru configurarea flash și boot SPI. Deoarece multe funcții împart pini, cablarea necorespunzătoare poate cauza defecțiuni la booturi, citiri zgomotoase ale ADC-urilor sau dezactivarea perifericelor.
Dispunerea pinilor ESP32 DevKit

Plăcile de dezvoltare ESP32 vin de obicei în versiuni cu 30 și 38 de pini, ambele expunând aceleași funcții de bază, dar cu diferențe minore în GPIO-urile disponibile.
Grupuri de pini pe plăcile de dezvoltare ESP32
| Grup | Descriere |
|---|---|
| Power Pins | VIN (5 V), ieșire 3,3 V, GND |
| Pini de control | EN (resetare), IO0 (mod boot) |
| Pini GPIO | I/O digitală cu multiplexare |
| Pini analogici | Canalele ADC1 și ADC2 |
| Pini de comunicație | SPI, I2C, UART, I2S |
| Pini doar de intrare | GPIO34–GPIO39 |
| Pinuri Rezervate Flash-Rezervate | GPIO6–GPIO11 |
Aranjamentul comun al antetului
Lovitură de cap stângă
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3,3V
Header dreapta
• GPIO0–23
• Pine de prindere a portbagajului (0, 2, 5, 12, 15)
Înțelegerea configurației fizice face mai ușoară evitarea greșelilor și planificarea eficientă a cablajului.
Prezentare generală ESP32 GPIO

GPIO-urile ESP32 sunt flexibile datorită matricei interne de I/O, care permite maparea perifericelor precum UART, SPI, I2C și PWM aproape oriunde. GPIO-urile suportă intrare/ieșire digitală cu rezistențe încorporate de pull-up/down, întreruperi declanșate pe margine și comutare fiabilă la viteze mari. Curentul tipic de acționare continuă este de 12–16 mA (cu vârfuri de până la ~20–40 mA), astfel că sunt necesare drivere externe pentru motoare sau relee.
Pini doar de intrare
Acești pini nu pot conduce ieșirea și sunt ideali pentru senzori și intrări analogice:
| Pin | Tip | Utilizare recomandată |
|---|---|---|
| GPIO34 | Doar intrare | ADC1 / senzori |
| GPIO35 | Doar intrare | ADC1 |
| GPIO36 (VP) | Doar intrare | ADC1 / Senzor Hall |
| GPIO39 (VN) | Doar intrare | ADC1 |
Pini ESP32 siguri de folosit și pini de evitat

Nu toți pinii ESP32 se comportă la fel. Unele sunt sigure, în timp ce altele influențează modul de pornire sau sunt legate de memoria flash internă.
Pini siguri (recomandat pentru toți utilizatorii)
| GPIO-uri | Note |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Fără impact de boot, ideal pentru majoritatea perifericelor |
Pini de precauție (Afectează modul de pornire)
| GPIO | Funcția de boot | Evită în timpul pornirii |
|---|---|---|
| GPIO0 | Mod Flash/Boot | Menține HIGH (input) în timpul pornirii normale |
| GPIO2 | Tensiunea de boot | Trebuie să fie HIGH |
| GPIO5 | Mod de boot opțional | Evită să tragi jos |
| GPIO12 | Modul de tensiune flash | Trebuie să rămân JOS |
| GPIO15 | Modul SPI | Trebuie să rămân JOS |
Acești pini sunt siguri pentru utilizare în funcționare normală, dar componentele externe nu trebuie să le tragă la niveluri logice invalide în timpul resetării. Rolurile lor detaliate de eliminare sunt explicate în Secțiunea 9.
Pinuri restricționate (Nu folosiți)
| GPIO | Motiv |
|---|---|
| GPIO6–11 | Conectat la memoria flash SPI |
Folosirea acestora poate îngheța sau bloca ESP32.
Pini ADC ESP32

ESP32 integrează două unități ADC SAR cu comportamente operaționale diferite:
• ADC1 — Întotdeauna disponibil și recomandat pentru toate intrările senzorilor
• ADC2 — Partajat cu subsistemul Wi-Fi și devine indisponibil ori de câte ori Wi-Fi-ul este activ
Aceasta este una dintre principalele limitări ale ESP32, făcând din ADC1 alegerea de încredere pentru măsurători în aplicații wireless.
| Unitatea ADC | Canale | GPIO-uri | Note |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Cea mai bună alegere pentru senzori |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Inutilizabil în timpul Wi-Fi |
Interval de tensiune și precizie
ADC-urile suportă un interval implicit de intrare 0–1,1 V, extensibil până la aproximativ 3,3 V cu atenuare. Ambele unități ADC sunt neliniare și beneficiază de calibrare. Performanța analogică poate fi afectată de activitatea internă RF, astfel că direcționarea liniilor senzorilor departe de antenă și adăugarea unor filtre RC simple pot îmbunătăți semnificativ stabilitatea. Pentru proiectele cu Wi-Fi activ, plasați întotdeauna senzori analogici pe ADC1 pentru a asigura o funcționare continuă și fără zgomot.
DAC, PWM și pini tactili ESP32
ESP32 include ieșiri analogice integrate și senzori tactili care simplifică generarea formelor de undă, dimming-ul, controlul motorului și interfețele cu utilizatorul.
Prezentare generală DAC

Două canale DAC de 8 biți emit tensiuni analogice reale:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Utilizările comune includ audio simplu, forme de undă analogice, estomparea LED-urilor și tensiuni de polarizare. Intervalul de ieșire este de obicei 0–3,3 V.
PWM (LEDC)

Modulul LEDC oferă PWM flexibil și de înaltă rezoluție:
• 16 canale
• Bază de timer de până la 40 MHz
• Rezoluție de până la 20 de biți
• GPIO-uri complet remapabile
Folosit pentru dimming LED, controlul motorului, semnale servo, tonuri audio și modulație generală. Orice GPIO poate găzdui o ieșire PWM prin Matricea GPIO.
Pini de senzor tactil

Cele 10 touchpad-uri capacitive ale ESP32 detectează proximitatea degetelor și sunt utile pentru butoane tactile, glisoare și declanșatoare de trezire.
| Touch Pad | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Acești senzori includ filtrarea zgomotului și funcționează bine pentru evenimente de urmărire cu consum redus de energie.
Pini de comunicație ESP32
ESP32 include un set bogat de periferice de comunicație, fiecare capabil să fie rutat către mai mulți pini prin matrice GPIO flexibilă. Acest lucru permite atribuirea de interfețe precum I2C, SPI și UART aproape oriunde, permițând configurații de plăci și combinații de periferice foarte personalizabile.
I2C (Pini implicit și personalizați)

ESP32 include două controllere I2C, cu flexibilitate totală asupra selecției pinilor. Deși majoritatea plăcilor de dezvoltare folosesc pinii implicit, atât SDA, cât și SCL pot fi reatribuite aproape oricărui GPIO.
| Semnal | GPIO implicit | Note |
|---|---|---|
| SDA | GPIO21 | Complet remapabil |
| SCL | GPIO22 | Complet remapabil |
Oricare două GPIO-uri digitale pot acționa ca SDA și SCL. Suportă atât modul standard (100 kHz), fast-mode (400 kHz) cât și fast-mode plus (1 MHz, în funcție de placă). Suportă pull-up-uri interne pe unele plăci, dar rezistențele externe de 4,7 kΩ sunt recomandate pentru comunicații stabile. Această flexibilitate face ca ESP32 să fie ideal pentru sistemele care necesită mai mulți senzori sau rutare neconvențională a pinilor.
ESP32 include mai multe magistrale SPI, cu HSPI și VSPI disponibile pentru dispozitivele utilizatorilor. Ambele suportă remaparea prin matricea GPIO, dar majoritatea plăcilor și bibliotecilor folosesc următoarea configurație implicită VSPI, care evită conflictele cu conexiunile interne de flash:
Cartografierea VSPI implicită
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI este de obicei preferat pentru ecrane, carduri SD și periferice de mare viteză. Deși pinii pot fi reconfigurați, folosirea implicitelor asigură compatibilitate maximă și reduce problemele de sincronizare fără a repeta restricțiile deja acoperite în secțiunile anterioare.
UART (Serial)

ESP32 include trei controlere UART, cu rutare flexibilă care permite ca orice pin UART să se mute pe aproape orice GPIO.
| UART | PIN TX | PIN RX | Scopul principal |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Flashing, mesaje de boot, înregistrare serială |
| UART1 | GPIO10 | GPIO9 | Disponibil pentru aplicații de utilizator |
| UART2 | GPIO17 | GPIO16 | Disponibil pentru aplicații de utilizator |
Pini ESP32 Deep-Sleep & RTC
ESP32 include un subsistem Ultra-Low-Consum (ULP) și un domeniu dedicat Real-Time Clock (RTC) care rămân alimentate chiar și atunci când CPU-ul principal și perifericele sunt oprit. Această arhitectură permite un consum extrem de scăzut de energie, adesea în intervalul microamperilor, ceea ce face ESP32 potrivit pentru aplicații pe termen lung cu baterii.
Sleep adânc permite cipului să oprească nucleele principale, majoritatea ceasurilor interne și radiourile Wi-Fi/Bluetooth, monitorizând în același timp pini și senzori selectați prin perifericele RTC.

ESP32 se poate trezi din somnul profund prin mai mulți factori declanșatori independenți. Fiecare sursă de urmărire operează în interiorul domeniului RTC, care este proiectat să rămână activ cu un consum minim de energie.
| Tipul urmei | GPIO-uri / Note |
|---|---|
| GPIO RTC extern | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — susțin trezirea muchiei sau nivelului |
| Pad-uri tactile capacitive | T0–T9 — detectează proximitatea degetului sau atingerea în timpul somnului profund |
| Trezirea cu cronometrul | Cronometrul RTC poate trezi dispozitivul după un interval programat |
| Co-procesor ULP | (Opțional) Codul personalizat pentru consum redus poate rula pentru a verifica senzorii înainte de a trezi CPU-ul principal |
Acești pini aparțin domeniului RTC și rămân activi chiar și atunci când CPU-ul și GPIO-urile obișnuite sunt oprite. Ele susțin trezirea prin margini ascendente/descendente sau prin detectarea simplă a nivelurilor. Este folosit frecvent pentru trezire la mișcare, întrerupătoare magnetice și declanșatoare cu putere redusă.
Funcții de boot ESP32, Strapping și PIN EN

ESP32 folosește mai mulți pini de prindere care determină configurațiile cheie ale sistemului în timpul resetării sau pornirii. Acești pini sunt eșantionați doar la pornire și apoi revin la funcția normală GPIO. Asigurarea că acestea nu sunt conduse la niveluri invalide în timpul resetării este utilă pentru un comportament consecvent la pornire.
Masa cu ace de prindere
| Pin | Rol de Boot | State Obligatorie la Boot |
|---|---|---|
| GPIO0 | Selectează bootloader / mod flash | LOW = intră în modul de bliț; HIGH = pornire normală |
| GPIO2 | Definește nivelul de tensiune intern de boot | Trebuie să rămână SUS |
| GPIO5 | Configurația bootului SPI | Trebuie să rămână SUS |
| GPIO12 | Selectează tensiunea de bliț (3,3 V / 1,8 V) | Trebuie să rămână LOW pentru bliț de 3,3 V |
| GPIO15 | Setează modul de comunicare SPI în timpul pornirii | Trebuie să rămână LOW |
Această secțiune oferă referința autoritară pentru comportamentul de strângere. Secțiunile anterioare rezumă doar efectele practice; folosiți acest tabel atunci când atribuiți pini pe PCB-uri personalizate sau integrați butoane și senzori.
PIN EN (Activare / Resetare)
Pinul EN (Enable) acționează ca intrare master reset pentru ESP32.
Comportamentul PIN EN:
• Tragerea EN LOW resetează imediat cipul.
• Eliberarea înapoi la HIGH pornește circuitele interne și repornește secvența de pornire.
• Pe plăcile de dezvoltare (de exemplu, ESP32-DevKitC, NodeMCU-ESP32), EN este legat de interfața USB-to-serial pentru a permite resetarea automată în timpul flash-ului.
Pini de alimentare ESP32

ESP32 este sensibil la calitatea consumului de energie deoarece radiourile sale Wi-Fi și Bluetooth atrag impulsuri scurte de curent de mare amplitudine. Livrarea stabilă a puterii asigură pornire fiabilă, reducerea resetărilor de tip brownout și performanță wireless constantă.
Rezumatul Power Pin
| Pin | Tensiune | Utilizare |
|---|---|---|
| VIN | Intrare 5 V | Alimentează regulatorul de la bord (de obicei AMS1117 sau ME6211) pentru a genera 3,3 V |
| 3V3 | Ieșire 3,3 V | Ieșire reglată de la LDO-ul de la bord; Folosită pentru alimentarea logicii și senzorii externi de curent redus |
| GND | — | Referință electrică și cale de întoarcere pentru toate subsistemele |
Exemple recomandate de pini și cablaje ESP32
Alegerea pinilor potriviți pe ESP32 este necesară pentru o funcționare stabilă, o rutare clară a semnalului și evitarea conflictelor cu boot-strap-ul sau conexiunile interne de bliț. Următoarele recomandări evidențiază cele mai fiabile pinuri fără conflicte pentru funcții comune.
Alegerea insignelor
| Funcție | Cele mai bune insigne | Note |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Pereche testate hardware implicite; Funcționează în majoritatea consiliilor. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Acești pini se mapează curat către VSPI și evită pinii conectați la flash. |
| UART | 16 (RX), 17 (TX) | Pini UART2 dedicați, siguri pentru boot și depanare. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Autonomie cu flexibilitate ridicată; PWM poate fi rutat către aproape orice GPIO. |
| ADC | 32–39 (ADC1) | Canalele ADC1 rămân utilizabile chiar și atunci când Wi-Fi-ul este activ. |
Concluzie
Stăpânirea pinout-ului ESP32 elimină presupunerile și previne multe dintre problemele care apar în build-urile reale, de la citiri zgomotoase ADC până la bucle nesfârșite de boot. Prin înțelegerea pinilor siguri, comportamentului de prindere, integrității alimentării și rutării în somn profund, poți proiecta circuite care să rămână stabile, previzibile și pregătite pentru wireless. Folosește pin maps și ghidurile de mai sus ca fundație pentru proiecte ESP32 fără probleme.
Întrebări frecvente [FAQ]
Cum configurez PlatformIO pentru Freenove ESP32-S3 Breakout Board?
Folosește setările standard ale modulului de dezvoltare ESP32-S3. În platformio.ini, adaugă:
[env:esp32s3]
platformă = espressif32
Tablă = esp32-s3-devkitc-1
Cadru = arduino
Aceasta se potrivește cu pinout-ul Freenove, permițând compilarea și încărcarea normală prin USB.
Câte periferice poate rula ESP32 simultan?
Datorită matricei GPIO, ESP32 poate rula simultan mai multe funcții I²C, SPI, UART, PWM și ADC, atâta timp cât eviți pinii restricționați și rămâi în limitele CPU și temporizării. Principalele blocaje sunt ADC2 în timpul Wi-Fi-ului și calitatea surselor de alimentare, nu numărul de pini.
De ce repornește ESP32-ul meu când conectez senzori sau module?
Resetările neașteptate apar de obicei din scăderi de tensiune cauzate de explozii Wi-Fi, motoare sau surse slab reglementate. Folosirea unei surse de 1 A sau mai mare de 5 V, adăugarea condensatoarelor de 10–100 μF și izolarea sarcinilor zgomotoase previn căderile de tensiune.
Pot folosi pinul de 3,3 V al ESP32 pentru a alimenta modulele externe?
Da, dar doar pentru dispozitive cu curent redus (de obicei sub 300–500 mA, în funcție de LDO-ul integrat). Perifericele cu consum mare, precum motoarele, servomotoarele și benzile LED mari, trebuie să folosească o sursă de alimentare separată pentru a evita resetările și supraîncălzirea.
Cum aleg cei mai buni pini ESP32 când folosesc mai multe periferice?
Prioritizați pinii care nu sunt fixați, evitați GPIO6–11, plasați senzori analogici pe ADC1 și folosiți pinii VSPI/I²C/UART implicit când este posibil. Acest lucru reduce conflictele și asigură că toate perifericele pot funcționa împreună fără probleme de remapare.