
Prispevki
ESP32-S3 pinout: katere pine lahko uporabljaš (in katerim se izogneš)

ESP32-S3 pinout
ESP32-S3 ima 45 GPIO pinov. Ampak ne kar kateregakoli — nekateri te bodo pokvarili projekt, eden pa ti lahko celo poškoduje čip. Ta vodič ti pove točno, katere pine lahko uporabljaš brez skrbi, katerim se izogneš in zakaj.
Ker pa ima čip 45 pinov z zelo različnimi vlogami, je prav, da pred prvim projektom razumeš, kateri so resnično prosti za tvojo uporabo — in kateri ti bodo povzročili težave še pred prvim zagonom.
Vodič velja za vse priljubljene module: ESP32-S3-WROOM-1, MINI-1 in N16R8. Razlike med njimi so v velikosti Flash in PSRAM ter številu dostopnih GPIO — ne v sami arhitekturi pinov. Vse, kar je opisano za strapping pine, ADC in periferijo, velja za vse tri.
Koliko pinov ima ESP32-S3?
Čip ima 45 programabilnih GPIO pinov, oštevilčenih od 0 do 48 — ampak ne po vrsti. GPIO 22–25 ne obstajajo.
Celoten seznam: 0–21, 26–48
Razvojna plošča pa je druga zgodba:
| GPIO skupaj | |
|---|---|
| ESP32-S3 čip | 45 |
| DevKitC-1 plošča | ~36–38 |
Zakaj razlika? GPIO 26–32 so interno vezani na Flash in PSRAM. Na DevKitC-1 jih na headerjih pogosto sploh ni — kar je prav, ker če bi jih uporabil, bi se čip sesul.
Uradni PDF pinout: Espressifov ESP32-S3 Series Datasheet ali Technical Reference Manual.

Oštevilčevanje brez GPIO 22–25 ni napaka v kodi — ti naslovi v silikoniju preprosto ne obstajajo. Espressif jih je izpustil med zasnovo čipa, zato se jih v nobeni knjižnici ne da nasloviti. Isto velja za GPIO 49–GPIO 53, ki obstajajo samo na čipu v obliki SPI Flash signalov in niso dostopni navzven.
Praktična posledica: ko pišete kodo in iterira po GPIO 0–48, preskočite 22–25 — sicer dobite napako gpio: gpio_num error. Priporočamo eksplicitne sezname namesto zank po obsegu.
Pini, ki ti pokvarijo dan
To je del, ki ga večina prebere prehitro — in potem ure išče, zakaj čip ne zažene.
ESP32-S3 preveri štiri strapping pine takoj ob zagonu, preden sploh pomisli na tvojo kodo. Napačna vrednost na napačnem pinu pomeni ali napačen zagonski način ali — pri GPIO 45 — možno trajno poškodbo čipa.
| GPIO | Privzeto | HIGH | LOW | Tveganje |
|---|---|---|---|---|
| 0 | Pull-up (HIGH) | Normalni zagon | Download Mode | Srednje |
| 45 | LOW | Flash/PSRAM na 1,8V | Flash/PSRAM na 3,3V | Visoko |
| 46 | — | Boot logi izklopljeni | Boot logi vklopljeni | Nizko |
| 3 | — | JTAG prek USB | JTAG prek GPIO | Nizko |
GPIO 45 je tisti, ki zahteva posebno pozornost. Večina modulov potrebuje 3,3V Flash. Če vezje pri zagonu potegne GPIO 45 na HIGH, nastaviš napetost na 1,8V — in čip ne more brati kode iz pomnilnika. V najslabšem primeru: trajna škoda.
- GPIO 45 — nič kar bi ga vleklo na HIGH. Pika.
- GPIO 0 — tipke ali kondenzatorji na masi brez pull-up upora so klasična napaka pri prvem projektu.
- GPIO 26–32 — interni Flash/PSRAM. Uporaba = “Illegal Instruction” ali neskončna boot zanka. Na DevKitC-1 jih na headerjih pogosto sploh ni.

Kateri GPIO so res varni?
Pri ESP32-S3 so vsi GPIO dvosmerni — na originalnem ESP32 so bili GPIO 34, 35, 36 in 39 samo za vhod. Tu te omejitve ni več. Celoten pregled pinov klasičnega čipa najdeš v vodiču ESP32 pinout.
| Samo-vhodni GPIO | Dvosmerni GPIO | |
|---|---|---|
| ESP32 (original) | GPIO 34, 35, 36, 39 | Ostali |
| ESP32-S3 | Nobenih | Vseh 45 |
Za digitalni izhod:
| Skupina | GPIO |
|---|---|
| Najvarnejši | 1, 2, 4–18 |
| Varni | 33–44, 47–48 |
| Uporabi premišljeno | 19, 20 (USB), 39–42 (JTAG) |
| Izogni se | 0, 3, 45, 46 (strapping); 26–32 (Flash/PSRAM) |
Za tokove: maksimum je 40 mA na pin, ampak za zanesljivo delovanje ostani pod 20 mA. Skupni limit vseh GPIO skupaj je ~1100–1200 mA. Izhodni tok je nastavljiv v kodi na 5, 10, 20 ali 40 mA.

Najboljša skupina za splošno rabo so GPIO 1–21 in GPIO 33–48 (kjer ni Flash/PSRAM). V tej skupini ne boste naleteli na boot konflikte, input-only omejitve ali strapping vedenje — kar priključite, to dobite.
Izjeme, ki si jih zapomnite: GPIO 19 in 20 sta nativni USB D−/D+, zato ju na DevKitC-1 ne reciklirajte za tipkovnico ali senzor. GPIO 3 nima pull-up upora in ob zagonu pulzira — neustrezen za stanje, ki ga berete takoj po resetu. GPIO 46 je v novejših modulih bolj prilagodljiv kot v prvih revizijah, a preverite datasheet revizije svojega modula.
Praktični pinout za pogosta vezja
Preden pogledaš datasheet, tukaj je pet najpogostejših vezij in katera pinska izbira je prava:
| Projekt | Signal | GPIO | Opomba |
|---|---|---|---|
| LED ali rele | Digitalni izhod | 2, 4–18 | Kateri koli iz najvarnejše skupine |
| Tipka | Digitalni vhod | 4–18 | Ne GPIO 0 — strapping pin |
| Analogni senzor + WiFi | ADC | 1–10 | Samo ADC1 — ADC2 ob WiFi ne deluje |
| Zaslon ali senzor I2C | SDA / SCL | 8 / 9 | Privzeti; GPIO Matrix omogoča premik kamorkoli |
| SD kartica ali SPI zaslon | SCK / MISO / MOSI / CS | 12 / 13 / 11 / 10 | SPI2; SPI0/1 rezervirana za Flash |
Za kompleksnejša vezja — ko kombiniraš I2C, SPI in UART hkrati — si vnaprej nariši tabelo zasedenih pinov. GPIO Matrix ti da fleksibilnost, ampak prekrivajoče periferije so pogosta past pri načrtovanju.
Touch pini (GPIO 1–14) so koristni za tipke brez mehanskega kontakta — kapacitivni dotik zaznaš brez enega samega upora ali kondenzatorja. Enako jih lahko uporabiš za prebujanje čipa iz deep sleep režima, kar pride prav pri baterijsko napajanih projektih.
Periferija
ADC
20 ADC kanalov v dveh skupinah — in tukaj je tista stvar, ki jo mnogi odkrijejo prepozno:
| ADC | GPIO | Ob aktivnem WiFi |
|---|---|---|
| ADC1 | GPIO 1–10 | Dela normalno |
| ADC2 | GPIO 11–20 | Ne uporabljaš — WiFi driver povzroča konflikte |
Preprosto: projekt z WiFi + analogni senzor = vedno ADC1. Več očem ESP32-S3 zmore glejte v vodiču za začetnike.
I2C
| Signal | Privzeti GPIO |
|---|---|
| SDA | GPIO 8 |
| SCL | GPIO 9 |
GPIO Matrix ti omogoča, da jih v kodi preslikaš kamorkoli.
SPI
Štiri SPI vodila, od tega dve za tvojo uporabo: SPI2 in SPI3. SPI0 in SPI1 sta rezervirani za Flash/PSRAM.
| Signal | GPIO |
|---|---|
| SCK | 12 |
| MISO | 13 |
| MOSI | 11 |
| CS | 10 |
UART
| UART | TX | RX | Namen |
|---|---|---|---|
| UART0 | GPIO 43 | GPIO 44 | Programiranje / Serial Monitor |
| UART1, UART2 | Po izbiri | Po izbiri | Tvoji projekti |
Touch senzorji
GPIO 1–14, skupaj 14 kanalov. Uporabno za tipke brez mehanskega kontakta ali prebujanje iz deep sleep — čip zazna dotik brez kakršnegakoli pritiska.
PWM (LEDC)
Ni posebnih PWM pinov — signal gre na katerikoli GPIO prek GPIO Matrix. LEDC periferija: 8 neodvisnih kanalov, do 14-bitna ločljivost, hardware fading brez obremenjevanja CPE, deluje tudi v low-power načinih.
Pogoste napake pri delu z ESP32-S3
ADC2 ne deluje ob aktivnem WiFi
Klasičen primer: vremenska postaja pošilja podatke prek WiFi, analogni senzor vlage je na GPIO 11. Senzor vrača napačne vrednosti ali sploh ne dela. Razlog: WiFi gonilnik zasede strojno opremo ADC2. Rešitev je preprosta — analogni senzorji vedno na ADC1 (GPIO 1–10).
GPIO 0 s kondenzatorjem brez pull-up upora
Kondenzator ali tipka, vezana neposredno na GND brez zunanjega pull-up upora, ob zagonu potegne GPIO 0 na LOW. Čip vstopi v Download Mode in tvoja koda se sploh ne zažene. Vedno dodaj zunanji pull-up, če vezje zahteva kondenzator na GPIO 0.
GPIO 26–32: boot zanka in napaka „Illegal Instruction“
Ti pini so interno vezani na Flash in PSRAM. Vsak zunanji signal na katerem koli od njih prekine komunikacijo med procesorjem in pomnilnikom. Posledica je takojšnje sesutje ali neskončna boot zanka. Na DevKitC-1 teh pinov na headerjih pogosto sploh ni — kar je prav.
GPIO 45 — visoko tveganje za trajno škodo
Če karkoli ob zagonu potegne GPIO 45 na HIGH, čip nastavi napetost Flash in PSRAM na 1,8 V namesto 3,3 V. Pomnilnik ne deluje, čip se ne zažene. V najslabšem primeru: trajna poškodba. Pravilo brez izjem — na GPIO 45 ne priključuješ ničesar.
Napajalni pini
Orientacija: USB konektorji stran od tebe.
| Pin | Lokacija | Kaj naredi |
|---|---|---|
| 5V (EXT/VIN) | Levi header J1, pin 1 | Vhod 5V ali izhod 5V ob USB |
| 3,3V (3V3) | Desni header J3, pin 1 | Izhod LDO regulatorja |
| GND | J1 pin 2, J3 pin 2, J3 pin 22 | Tri ozemljitvene točke |
LDO regulator zmore 600 mA do 1 A skupaj. Ker ESP32-S3 med WiFi/BT prenosom sam porabi do 500 mA, za zunanje komponente ostane med 100 in 500 mA.
Prek 5V VIN pina lahko ploščo napajaš brez USB. Samo ne priključuj hkrati zunanjega 5V in USB kabla brez preverjanja zaščitne diode na plošči.
LDO regulator na DevKitC-1 zmore skupaj 600 mA do 1 A. ESP32-S3 sam porabi do 500 mA med aktivnim WiFi/BT prenosom, kar pomeni, da za zunanje naprave ostane razmeroma malo rezerve. Če napajate servo motor, zaslon ali senzorje z večjo porabo, napajajte ESP32-S3 prek 5V pina in zunanje naprave neposredno iz napajanja — ne skozi 3,3V pin plošče.
Pin EN (Enable) je reset pin: ko ga potegnete nizko, se procesor ustavi. Koristno za watchdog vezja in deep sleep aplikacije, kjer zunanji RTC nadzoruje, kdaj se S3 prebudi. Interno ima pull-up, zato brez zunanjega vezja deluje normalno.
Posebni pini
Nativni USB — GPIO 19 in 20
GPIO 19 = USB D−, GPIO 20 = USB D+. Brez zunanjega pretvornika podpira:
- CDC — USB Serial za programiranje in Serial Monitor
- HID — tipkovnica, miška, gamepad
- MSC — USB pomnilnik, drag & drop na Flash
- DFU — posodobitev firmware prek USB
JTAG
| Signal | GPIO |
|---|---|
| MTCK | 39 |
| MTDO | 40 |
| MTDI | 41 |
| MTMS | 42 |
Za večino projektov zadostuje interni USB JTAG prek GPIO 19/20 — brez ESP-Prog ali zunanjega vmesnika.
Boot gumb — GPIO 0
Ročni vstop v Flash Mode:
- Drži BOOT gumb
- Pritisni in spusti RESET (EN)
- Spusti BOOT
Čip čaka na nov firmware.

Nativni USB je ena od najpomembnejših novosti ESP32-S3 v primerjavi z originalnim ESP32. Brez zunanjega CH340 ali CP2102 pretvornika se S3 pojavi na računalniku kot serijska naprava, HID naprava ali pomnilniški disk — odvisno od tega, kako konfigurirate USB stack v ESP-IDF ali Arduino. To zmanjša stroške PCB-ja in poenostavi programiranje v produkciji.
JTAG debug pini (GPIO 39–42) so privzeto aktivni in vidni v OpenOCD takoj ob priključitvi. Če te pine potrebujete za GPIO v projektu, JTAG izklopite v menuconfig (CONFIG_ESP_SYSTEM_JTAG_ENABLE=n) ali prek efuse. Brez tega koraka boste opazili nepričakovano vedenje na teh štirih pinih.
Kateri modul izbrati: WROOM-1, MINI-1 ali N16R8?
ESP32-S3 čip pride v več modulih — vsak izpostavlja drugačno število pinov in ima drug pomnilnik.
| Modul | Flash | PSRAM | Rezervirani GPIO | Opomba |
|---|---|---|---|---|
| WROOM-1 N4 | 4 MB | — | 26–32 | Standardna izbira za večino projektov |
| WROOM-1 N16R8 | 16 MB | 8 MB Octal | 26–32 in 33–37 | Octal PSRAM zasede dodatnih 5 pinov |
| MINI-1 | 4 MB | — | 26–32 | Manjši format; manj izpostavljenih pinov na headerjih |
Ključna razlika pri N16R8: ker 8 MB PSRAM uporablja Octal SPI vmesnik, so zasedeni tudi GPIO 33–37. Teh pet pinov na N16R8 modulu ne smeš uporabljati za lastna vezja — drugače bo projekt deloval na standardnem modulu, na N16R8 pa se bo sesul.
Za večino začetnih in srednjih projektov je WROOM-1 N4 prava izbira — dovolj Flash, jasno definirani rezervirani pini, nič presenečenj. N16R8 pride v poštev, ko projekt zahteva obdelavo slik, zvoka ali lokalni model strojnega učenja, kjer 8 MB PSRAM naredi resnično razliko.
ESP32, S2 ali S3 — katerega vzeti?
| ESP32 | ESP32-S2 | ESP32-S3 | |
|---|---|---|---|
| GPIO skupaj | ~34 | 43 | 45 |
| Samo-vhodni GPIO | 4 | 0 | 0 |
| Nativni USB | Ne | Da | Da |
| ADC kanali | 18 | 20 | 20 |
| Touch kanali | 10 | 14 | 14 |
| Bluetooth | Da | Ne | BLE 5 |
| Jedra | 2 | 1 | 2 |
| AI pospeševanje | Ne | Ne | Da |
S3 je nadgradnja S2 z Bluetooth 5 LE, dvojedrnim procesorjem in AI vektorskimi inštrukcijami — za podrobno primerjavo ESP32-S3 vs ESP32 glejte ločen članek — pri skoraj enakem pinoutu. Če delaš nov brezžični projekt, je S3 logična izbira. Starih S2 projektov ni smiselno migrirati samo zaradi tega.
Proti originalnemu ESP32 je razlika večja: konec samo-vhodnih pinov, nativni USB, 11 GPIO pinov več. Za vsak nov projekt danes vzameš S3 — razen če imaš res specifičen razlog za starejši čip.
Kateri pini za tvoj naslednji projekt?
ESP32-S3 je izjemno zmogljiva platforma, a le če veste, kateri pini so resnično varni za vaš projekt. Večina začetniških težav izhaja iz enega ali dveh napačnih pinov — strapping pin, ki moti boot, ali ADC2 ob aktivnem WiFi. Z razumevanjem pinout-a se večini teh napak enostavno izognete že pri načrtovanju vezja.
Kratek povzetek za hitro referenco:
- Splošni digitalni izhod — GPIO 1, 2, 4–18. Brez skrbi.
- Analogno branje z aktivnim WiFi — samo ADC1, torej GPIO 1–10.
- I2C — GPIO 8 (SDA) in GPIO 9 (SCL), ali kateri koli drugi par prek GPIO Matrix.
- SPI — SPI2 (GPIO 11–13) ali SPI3; SPI0 in SPI1 sta rezervirana za Flash.
- Ne priključuj ničesar na GPIO 0, 3, 45, 46 (strapping) in GPIO 26–32 (Flash/PSRAM). Na modulu N16R8 velja enako za GPIO 33–37.
ESP32-S3 je eden izmed bolj prilagodljivih mikrokrmilnikov, ki so danes dostopni. GPIO Matrix ti da pravo svobodo pri načrtovanju — dokler se izogneš rezerviranim pinom. Za nove projekte je S3 danes naravna izbira. Oglejte si ESP32-S3 module in razvojne ploščice v naši ponudbi.

