ESP32-pinoutin selitys: Turvalliset pinnit, johdotussäännöt ja esimerkki

Nov 25 2025
Lähde: DiGi-Electronics
Selaa: 2428

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.

Figure 1. ESP32 Pinout

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

Figure 2. ESP32 DevKit Pin Layout

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
VirtapinnitVIN (5 V), 3,3 V lähtö, GND
OhjauspinnitEN (reset), IO0 (käynnistystila)
GPIO-pinnitDigitaalinen I/O multiplexauksella
Analogiset pinnitADC1- ja ADC2-kanavat
ViestintäpinssitSPI, I2C, UART, I2S
Pelkästään syötteeseen tarkoitetut pinnitGPIO34–GPIO39
Flash-varatut pinnitGPIO6–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

Figure 3. ESP32 GPIO

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:

PinTyyppiSuositeltu käyttö
GPIO34Vain syöteADC1 / anturit
GPIO35Vain syöteADC1
GPIO36 (VP)Vain syöteADC1 / Hall-anturi
GPIO39 (VN)Vain syöteADC1

Turvalliset ESP32-nastoja käytettäväksi ja nastoja vältettäväksi

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

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:tHuomautuksia
4, 13–19, 21–27, 32, 33Ei käynnistysiskua, ihanteellinen useimmille oheislaitteille

Varoitusnasat (vaikuttavat käynnistystilaan)

GPIOKäynnistystoimintoVältä käynnistyksen aikana
GPIO0Flash/Boot-tilaPidä HIGH (input) normaalin käynnistyksen aikana
GPIO2KäynnistysjänniteTäytyy olla KORKEA
GPIO5Valinnainen käynnistystilaVältä vetämistä alas
GPIO12VälähdysjännitetilaTäytyy pysyä MATALANA
GPIO15SPI-tilaTä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ä)

GPIOSyy
GPIO6–11Yhdistetty SPI-flash-muistiin

Näiden käyttö voi jäätyä tai kaataa ESP32:n.

ESP32 ADC-nasat

Figure 5. ESP32 ADC Pins

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öKanavatGPIO:tHuomautuksia
ADC1CH0–CH7GPIO32–39Paras valinta antureille
ADC2CH0–CH90, 2, 4, 12–15, 25–27Kä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

Figure 6. ESP32 DAC

Kaksi 8-bittistä DAC-kanavaa tuottaa aitoja analogisia jännitteitä:

DACGPIO
DAC1GPIO25
DAC2GPIO26

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)

Figure 7. ESP32 PWM

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

Figure 8. ESP32 Touch Sensor Pins

ESP32:n 10 kapasitiivista kosketuslevyä tunnistavat sormien läheisyyden ja ovat hyödyllisiä kosketuspainikkeissa, liukusäätimissä ja herätysliipaisimissa.

KosketuslevyGPIO
T0–T9GPIO4, 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)

Figure 9. ESP32 I2C Pins

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.

SignaaliOletus GPIOHuomautuksia
SDAGPIO21Täysin uudelleenlaadittavissa
SCLGPIO22Tä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)

Figure 10. ESP32 UART Pins

ESP32:ssa on kolme UART-ohjainta, joissa on joustava reititys, jonka avulla minkä tahansa UART-pinnin siirtyminen lähes mihin tahansa GPIO:hun.

UARTTX PinRX PinEnsisijainen tarkoitus
UART0GPIO1GPIO3Flashaus, käynnistysviestit, sarjalokit
UART1GPIO10GPIO9Saatavilla käyttäjäsovelluksiin
UART2GPIO17GPIO16Saatavilla 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.

Figure 11. ESP32 RTC Pins

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 TypeGPIO:t / Muistiinpanot
Ulkoinen RTC GPIOGPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — tue reuna- tai tason herätystä
Kapasitiiviset kosketuslevytT0–T9 — tunnistaa sormien läheisyyden tai kosketuksen syvän unen aikana
Ajastin herääminenRTC-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

Figure 12.ESP32 Strapping Pins

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

PinBoot-rooliPakollinen tila käynnistyksessä
GPIO0Valitsee käynnistyslataajan / flash-tilanLOW = siirry salamatilaan; HIGH = normaali käynnistys
GPIO2Määrittelee sisäisen käynnistysjännitetasonTäytyy pysyä KORKEANA
GPIO5SPI-käynnistysasetuksetTäytyy pysyä KORKEANA
GPIO12Valitsee salamajännitteen (3,3 V / 1,8 V)Täytyy pysyä MATALANA 3,3 V välähdykselle
GPIO15Asettaa SPI-viestintätila käynnistyksen aikanaTä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

Figure 13. ESP32 Power Pins

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

PinJänniteKäyttö
VIN5 V tuloSyöttää sisäänrakennetun säätimen (tyypillisesti AMS1117 tai ME6211) tuottaakseen 3,3 V
3V33,3 V lähtöSäädelty lähtö aluksen LDO:sta; Käytetään ulkoisen matalan virran logiikan ja antureiden virtalähteenä
GNDSä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

FunktioParhaat pinsitHuomautuksia
I2C21 (SDA), 22 (SCL)Oletuksena laitteistolla testattu pari; toimii useimmissa laudoissa.
SPI18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS)Nämä pinnit vastaavat selkeästi VSPI:hen ja välttävät flash-liitetyt pinnit.
UART16 (RX), 17 (TX)Omistetut UART2-pinnit, turvallisia käynnistykseen ja debuggaukseen.
PWM (LEDC)4, 16–19, 21–27, 32–33Korkean joustavuuden kantama; PWM voidaan ohjata lähes mihin tahansa GPIO:hon.
ADC32–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.