ESP32:n pinout on yksi sen suurimmista vahvuuksista ja yksi yleisimmistä sekaannuksen lähteistä. Raskaan multiplexauksen, tiukkojen käynnistystilan riippuvuuksien ja herkän analogisen käyttäytymisen vuoksi oikea nastojen valinta on tärkeää vakaalle toiminnalle. Tämä artikkeli järjestää jokaisen merkittävän pin-ryhmän selkeästi, jotta voit välttää ristiriitoja, estää käynnistysvirheitä ja suunnitella luotettavaa ESP32-pohjaista laitteistoa.

ESP32-pinoutin ymmärtäminen
ESP32 on tehokas ja joustava mikrokontrolleri, jota käytetään laajasti IoT:ssä, automaatiossa ja älylaitteissa. Sen kehittyneet ominaisuudet perustuvat erittäin moniplexattuun pinout-järjestelmään, jossa monet toiminnot jakavat samat fyysiset nasnat. Näihin kuuluvat digitaalinen I/O, ADC-kanavat, kapasitiiviset kosketusanturit, viestintäväylät, RTC-domain-pinnit sekä sisäiset yhteydet SPI-flash- ja käynnistyskonfiguraatiota varten. Koska monet toiminnot jakavat pinnit, virheellinen johdotus voi aiheuttaa epäonnistuneita käynnistyksiä, kohinaisia ADC-lukemia tai oheislaitteiden pois käytöstä.
ESP32 DevKit-nastojen asettelu

ESP32-kehityskortit ovat tyypillisesti saatavilla sekä 30- että 38-nastaisina versioina, jotka molemmat tarjoavat samat ydintoiminnot, mutta GPIO:issa on pieniä eroja.
Pin-ryhmät ESP32-kehityskortteilla
| Ryhmä | Kuvaus |
|---|---|
| Virtapinnit | VIN (5 V), 3,3 V lähtö, GND |
| Ohjauspinnit | EN (reset), IO0 (käynnistystila) |
| GPIO-pinnit | Digitaalinen I/O multiplexauksella |
| Analogiset pinnit | ADC1- ja ADC2-kanavat |
| Viestintäpinssit | SPI, I2C, UART, I2S |
| Pelkästään syötteeseen tarkoitetut pinnit | GPIO34–GPIO39 |
| Flash-varatut pinnit | GPIO6–GPIO11 |
Yhteinen otsikkojärjestely
Vasen otsikko
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3.3V
Oikea otsikko
• GPIO0–23
• Boot-strapping -tapit (0, 2, 5, 12, 15)
Fyysisen pohjaratkaisun ymmärtäminen helpottaa virheiden välttämistä ja johdotusten suunnittelua tehokkaasti.
ESP32 GPIO:n yleiskatsaus

ESP32 GPIO:t ovat joustavia sisäisen I/O-matriisin ansiosta, joka mahdollistaa oheislaitteiden kuten UART, SPI, I2C ja PWM kartoittamisen lähes minne tahansa. GPIO:t tukevat digitaalista sisääntuloa/lähtöä sisäänrakennetuilla ylös-/alasvetovastuksilla, reunalaukaisimilla keskeytyksillä ja luotettavalla kytkennällä suurilla nopeuksilla. Tyypillinen jatkuva vetovirta on 12–16 mA (huippu jopa ~20–40 mA), joten moottoreille tai releille tarvitaan ulkoiset elementit.
Pelkästään syötteeseen tarkoitetut pinnit
Nämä pinnit eivät voi tuottaa ulostuloa ja sopivat erinomaisesti antureille ja analogisille tuloille:
| Pin | Tyyppi | Suositeltu käyttö |
|---|---|---|
| GPIO34 | Vain syöte | ADC1 / anturit |
| GPIO35 | Vain syöte | ADC1 |
| GPIO36 (VP) | Vain syöte | ADC1 / Hall-anturi |
| GPIO39 (VN) | Vain syöte | ADC1 |
Turvalliset ESP32-nastoja käytettäväksi ja nastoja vältettäväksi

Kaikki ESP32-pinnit eivät käyttäyty samalla tavalla. Jotkut ovat turvallisia, kun taas toiset vaikuttavat käynnistystilaan tai ovat sidoksissa sisäiseen flash-muistiin.
Safe Pins (Suositellaan kaikille käyttäjille)
| GPIO:t | Huomautuksia |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Ei käynnistysiskua, ihanteellinen useimmille oheislaitteille |
Varoitusnasat (vaikuttavat käynnistystilaan)
| GPIO | Käynnistystoiminto | Vältä käynnistyksen aikana |
|---|---|---|
| GPIO0 | Flash/Boot-tila | Pidä HIGH (input) normaalin käynnistyksen aikana |
| GPIO2 | Käynnistysjännite | Täytyy olla KORKEA |
| GPIO5 | Valinnainen käynnistystila | Vältä vetämistä alas |
| GPIO12 | Välähdysjännitetila | Täytyy pysyä MATALANA |
| GPIO15 | SPI-tila | Täytyy pysyä MATALANA |
Nämä nasat ovat turvallisia käyttää normaalissa käytössä, mutta ulkoiset komponentit eivät saa vetää niitä virheellisille logiikkatasoille nollauksen aikana. Heidän yksityiskohtaiset boot-roolinsa selitetään kohdassa 9.
Rajoitetut pinnit (Ei käytetä)
| GPIO | Syy |
|---|---|
| GPIO6–11 | Yhdistetty SPI-flash-muistiin |
Näiden käyttö voi jäätyä tai kaataa ESP32:n.
ESP32 ADC-nasat

ESP32 yhdistää kaksi erilaista toimintakäyttäytymistä omaavaa SAR-ADC-yksikköä:
• ADC1 — Aina saatavilla ja suositeltu kaikille anturituloille
• ADC2 — Jaettu Wi-Fi-alijärjestelmän kanssa ja muuttuu pois käytettävistä aina, kun Wi-Fi on aktiivinen
Tämä on yksi ESP32:n keskeisistä rajoituksista, mikä tekee ADC1:stä luotettavan valinnan mittauksiin langattomissa sovelluksissa.
| ADC-yksikkö | Kanavat | GPIO:t | Huomautuksia |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Paras valinta antureille |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Käyttökelvoton Wi-Fi:n aikana |
Jännitealue ja tarkkuus
ADC:t tukevat oletusarvoista 0–1,1 V tuloaluetta, joka voidaan laajentaa noin 3,3 V:iin vaimennuksella. Molemmat ADC-yksiköt ovat epälineaarisia ja hyötyvät kalibroinnista. Analogiseen suorituskykyyn voi vaikuttaa sisäinen RF-aktiivisuus, joten anturilinjojen ohjaaminen pois antennista ja yksinkertaisten RC-suodattimien lisääminen voi parantaa merkittävästi vakautta. Wi-Fi-yhteensopivissa projekteissa kannattaa aina sijoittaa analogiset anturit ADC1:een jatkuvan ja häiriöttömän toiminnan varmistamiseksi.
ESP32 DAC-, PWM- ja kosketuspinnit
ESP32:ssa on sisäänrakennettuja analogisia ulostuloja ja kosketussensoreita, jotka yksinkertaistavat aaltomuotojen generointia, himmennystä, moottorin ohjausta ja käyttöliittymiä.
DAC:n yleiskatsaus

Kaksi 8-bittistä DAC-kanavaa tuottaa aitoja analogisia jännitteitä:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Yleisiä käyttötarkoituksia ovat yksinkertainen ääni, analogiset aaltomuodot, LED-häivytys ja esijännitteet. Lähtöalue on tyypillisesti 0–3,3 V.
PWM (LEDC)

LEDC-moduuli tarjoaa korkearesoluutioisen ja joustavan PWM:n:
• 16 kanavaa
• Jopa 40 MHz:n ajastinpohja
• Jopa 20-bittinen resoluutio
• Täysin uudelleenlaadittavat GPIO:t
Käytetään LED-himmennykseen, moottorin ohjaukseen, servosignaaleihin, äänisävyihin ja yleiseen modulaatioon. Mikä tahansa GPIO voi isännöidä PWM-lähtöä GPIO-matriisin kautta.
Kosketusanturipinnit

ESP32:n 10 kapasitiivista kosketuslevyä tunnistavat sormien läheisyyden ja ovat hyödyllisiä kosketuspainikkeissa, liukusäätimissä ja herätysliipaisimissa.
| Kosketuslevy | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Näihin antureihin kuuluu kohinan suodatus ja ne toimivat hyvin matalan virran heräämistilanteissa.
ESP32-viestintäpinnit
ESP32 sisältää monipuolisen joukon viestintäoheislaitteita, joista jokainen voidaan reitittää useille pinneille joustavan GPIO-matriisin kautta. Tämä mahdollistaa rajapintojen kuten I2C, SPI ja UART määrittämisen lähes missä tahansa, mikä mahdollistaa erittäin muokattavat piirilevyjen asettelut ja oheisyhdistelmät.
I2C (oletus- ja mukautetut pinnit)

ESP32:ssa on kaksi I2C-ohjainta, jotka tarjoavat täyden joustavuuden nastojen valinnassa. Vaikka useimmat kehityskortit käyttävät oletuspinnejä, sekä SDA että SCL voidaan siirtää lähes mille tahansa GPIO:lle.
| Signaali | Oletus GPIO | Huomautuksia |
|---|---|---|
| SDA | GPIO21 | Täysin uudelleenlaadittavissa |
| SCL | GPIO22 | Täysin uudelleenlaadittavissa |
Mikä tahansa kaksi digitaalista GPIO:ta voi toimia SDA:na ja SCL:nä. Tukee sekä standarditilaa (100 kHz), pikatilaa (400 kHz) että fast-mode plus -tilaa (1 MHz levystä riippuen). Tukee sisäisiä leuanvetoja joillakin emolevyillä, mutta ulkoisia 4,7 kΩ vastuksia suositellaan vakaaseen viestintään. Tämä joustavuus tekee ESP32:sta ihanteellisen järjestelmiin, jotka vaativat useita antureita tai epätavallista nastojen reititystä.
ESP32 sisältää useita SPI-väyliä, ja HSPI sekä VSPI ovat saatavilla käyttäjän laitteille. Molemmat tukevat uudelleenkartoitusta GPIO-matriisin kautta, mutta useimmat emolevyt ja kirjastot käyttävät seuraavaa oletusVSPI-konfiguraatiota, joka välttää ristiriidat sisäisten flash-yhteyksien kanssa:
Oletus VSPI-kartoitus
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI on tyypillisesti suositeltu näytöille, SD-korteille ja nopeille oheislaitteille. Vaikka pinnit voidaan uudelleenmäärittää, oletusten käyttö takaa maksimaalisen yhteensopivuuden ja vähentää ajoitusongelmia ilman aiemmissa osioissa käsiteltyjä rajoituksia.
UART (sarjamuoto)

ESP32:ssa on kolme UART-ohjainta, joissa on joustava reititys, jonka avulla minkä tahansa UART-pinnin siirtyminen lähes mihin tahansa GPIO:hun.
| UART | TX Pin | RX Pin | Ensisijainen tarkoitus |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Flashaus, käynnistysviestit, sarjalokit |
| UART1 | GPIO10 | GPIO9 | Saatavilla käyttäjäsovelluksiin |
| UART2 | GPIO17 | GPIO16 | Saatavilla käyttäjäsovelluksiin |
ESP32 syvä uni ja RTC-pinnit
ESP32:ssa on Ultra-Low-Power (ULP) -alijärjestelmä ja omistettu reaaliaikakello (RTC) -alue, jotka pysyvät virran päällä, vaikka pääprosessori ja oheislaitteet olisivat pois päältä. Tämä arkkitehtuuri mahdollistaa erittäin alhaisen virrankulutuksen, usein mikroampeerin alueella, mikä tekee ESP32:sta sopivan pitkäaikaisiin paristokäyttöisiin sovelluksiin.
Syvä lepotila mahdollistaa pääytimien sammuttamisen, suurimman osan sisäisistä kellotaajuuksista sekä Wi-Fi/Bluetooth-radioista, samalla kun se seuraa valittuja pinnejä ja antureita RTC-oheislaitteiden kautta.

ESP32 voi herätä syvästä unesta useiden itsenäisten laukaisijoiden kautta. Jokainen herätyslähde toimii RTC-alueella, joka on suunniteltu pysymään aktiivisena mahdollisimman vähäisellä virrankulutuksella.
| Wake Type | GPIO:t / Muistiinpanot |
|---|---|
| Ulkoinen RTC GPIO | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — tue reuna- tai tason herätystä |
| Kapasitiiviset kosketuslevyt | T0–T9 — tunnistaa sormien läheisyyden tai kosketuksen syvän unen aikana |
| Ajastin herääminen | RTC-ajastin voi herättää laitteen ohjelmoidun ajan jälkeen |
| ULP-yhteisprosessori | (Valinnainen) Mukautettu vähävirtainen koodi voi tarkistaa anturit ennen pääprosessorin heräämistä |
Nämä pinnit kuuluvat RTC-alueeseen ja pysyvät aktiivisina, vaikka CPU ja tavalliset GPIO:t olisivat pois päältä. Ne tukevat heräämistä nousevien/laskevien reunojen tai yksinkertaisen tason tunnistuksen avulla. Yleisesti käytetty herätys-liikkeessä, magneettisissa kytkimissä ja vähävirtaisissa liipaisimissa.
ESP32:n käynnistys-, hihna- ja EN-nastan toiminnot

ESP32 käyttää useita kiinnitystappeja, jotka määrittävät avainjärjestelmän asetukset nollauksen tai käynnistyksen aikana. Nämä pinnit otetaan näytteenotolla vasta käynnistyksessä ja palaavat sitten normaaliin GPIO-toimintoon. On hyödyllistä varmistaa, ettei niitä ajeta virheellisille tasoille nollauksen aikana, jotta käynnistys toimii johdonmukaisesti.
Strapping Pin Table
| Pin | Boot-rooli | Pakollinen tila käynnistyksessä |
|---|---|---|
| GPIO0 | Valitsee käynnistyslataajan / flash-tilan | LOW = siirry salamatilaan; HIGH = normaali käynnistys |
| GPIO2 | Määrittelee sisäisen käynnistysjännitetason | Täytyy pysyä KORKEANA |
| GPIO5 | SPI-käynnistysasetukset | Täytyy pysyä KORKEANA |
| GPIO12 | Valitsee salamajännitteen (3,3 V / 1,8 V) | Täytyy pysyä MATALANA 3,3 V välähdykselle |
| GPIO15 | Asettaa SPI-viestintätila käynnistyksen aikana | Täytyy pysyä MATALANA |
Tämä osio tarjoaa auktoritatiivisen viitteen strapping-käyttäytymisestä. Aiemmat osiot tiivistävät vain käytännön vaikutukset; käytä tätä taulukkoa määrittäessäsi nastoja mukautetuille piirilevyille tai integroidessaan painikkeita ja antureita.
EN-pinni (Ota käyttöön / Nollaa)
EN (Enable) -pinni toimii ESP32:n pääreset-tulona.
EN-pinnin käyttäytyminen:
• EN LOW -vetäminen nollaa sirun välittömästi.
• Kun se vapautetaan takaisin HIGH-asentoon, sisäiset piirit käynnistyvät ja käynnistyssekvenssi käynnistyy uudelleen.
• Kehityskorteilla (esim. ESP32-DevKitC, NodeMCU-ESP32) EN on kytketty USB-sarjaliitäntään, mikä mahdollistaa automaattisen nollauksen flashauksen aikana.
ESP32-virtapinnit

ESP32 on herkkä virran laadulle, koska sen Wi-Fi- ja Bluetooth-radiot ottavat lyhyitä, korkean amplitudin virtapulsseja. Vakaa virransyöttö takaa luotettavan käynnistyksen, vähentyneet sähkökatkojen nollaukset ja tasaisen langattoman suorituskyvyn.
Power Pin -yhteenveto
| Pin | Jännite | Käyttö |
|---|---|---|
| VIN | 5 V tulo | Syöttää sisäänrakennetun säätimen (tyypillisesti AMS1117 tai ME6211) tuottaakseen 3,3 V |
| 3V3 | 3,3 V lähtö | Säädelty lähtö aluksen LDO:sta; Käytetään ulkoisen matalan virran logiikan ja antureiden virtalähteenä |
| GND | — | Sähköinen referenssi- ja paluupolku kaikille alijärjestelmille |
Suositellut ESP32-nastojen ja johdotuksen esimerkit
Oikeiden nastojen valinta ESP32:ssa on välttämätöntä vakaan toiminnan, selkeän signaalireitityksen ja käynnistys- tai sisäisten flash-yhteyksien ristiriitojen välttämiseksi. Seuraavat suositukset korostavat luotettavimmat ja konfliktivapaammat pinnit yleisiin toimintoihin.
Pinssivalinnat
| Funktio | Parhaat pinsit | Huomautuksia |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Oletuksena laitteistolla testattu pari; toimii useimmissa laudoissa. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Nämä pinnit vastaavat selkeästi VSPI:hen ja välttävät flash-liitetyt pinnit. |
| UART | 16 (RX), 17 (TX) | Omistetut UART2-pinnit, turvallisia käynnistykseen ja debuggaukseen. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Korkean joustavuuden kantama; PWM voidaan ohjata lähes mihin tahansa GPIO:hon. |
| ADC | 32–39 (ADC1) | ADC1-kanavat pysyvät käytettävissä, vaikka Wi-Fi olisi aktiivinen. |
Johtopäätös
ESP32-pinoutin hallitseminen poistaa arvailun ja estää monia ongelmia, joita esiintyy varsinaisissa kokoonpanoissa, aina meluisista ADC-lukemista loputtomiin käynnistyssilmukoihin. Ymmärtämällä turvalliset pinnit, kiinnityskäytännön, virran eheyden ja syvän unen reitityksen voit suunnitella piirejä, jotka pysyvät vakaina, ennustettavina ja langattomasti yhteensopivina. Käytä yllä olevia pin-karttoja ja ohjeita pohjana ongelmattomille ESP32-projekteille.
Usein kysytyt kysymykset [UKK]
Kuinka konfiguroin PlatformIO:n Freenove ESP32-S3 Breakout -kortille?
Käytä standardeja ESP32-S3 kehitysmoduulin asetuksia. Lisää platformio.ini:
[env:esp32s3]
alusta = espressif32
Lauta = ESP32-S3-DevKitc-1
Framework = Arduino
Tämä vastaa Freenoven pinoutia, mahdollistaen normaalin kääntämisen ja lataamisen USB:n kautta.
Kuinka monta oheislaitetta ESP32 voi käyttää samanaikaisesti?
GPIO-matriisin ansiosta ESP32 voi ajaa useita I²C-, SPI-, UART-, PWM- ja ADC-toimintoja samanaikaisesti, kunhan vältät rajoitetut pinnit ja pysyt CPU- ja ajoitusrajojen sisällä. Pääasialliset pullonkaulat ovat ADC2 Wi-Fi:ssä ja virtalähteen laadussa, eivät nastojen määrä.
Miksi ESP32-järjestelmäni käynnistyy uudelleen, kun yhdistät sensoreita tai moduuleja?
Odottamattomat nollaukset johtuvat yleensä jännitelaskuista, jotka johtuvat Wi-Fi-purkauksista, moottoreista tai huonosti säädellyistä virtalähteistä. 1 A tai suuremman 5 V lähteen käyttö, 10–100 μF tilavuuskondensaattoreiden lisääminen ja meluisten kuormien eristäminen estävät sähkökatkot.
Voinko käyttää ESP32:n 3.3 V pinniä ulkoisten moduulien virransyöttöön?
Kyllä, mutta vain pienivirtaisille laitteille (tyypillisesti alle 300–500 mA, riippuen koneen LDO:sta). Korkean virran oheislaitteet, kuten moottorit, servot ja suuret LED-nauhat, täytyy käyttää erillistä virtalähdettä nollauksien ja ylikuumenemisen välttämiseksi.
Miten valitsen parhaat ESP32-pinnit, kun käytän useita oheislaitteita?
Priorisoi ei-kiinnitysnastoja, vältä GPIO6–11:tä, aseta analogiset anturit ADC1:een ja käytä oletus-VSPI/I²C/UART-nastoja mahdollisuuksien mukaan. Tämä vähentää konflikteja ja varmistaa, että kaikki oheislaitteet voivat toimia yhdessä ilman uudelleenkartoitusongelmia.