ESP32's pinout er en af dens største styrker og en af de mest almindelige kilder til forvirring. Med tung multipleksning, strenge boot-mode-afhængigheder og følsom analog adfærd er korrekt pinvalg vigtigt for stabil drift. Denne artikel organiserer alle større pin-grupper tydeligt, så du kan undgå konflikter, forhindre bootfejl og designe pålidelig ESP32-baseret hardware.

Forståelse af ESP32-pinouten
ESP32 er en kraftfuld og fleksibel mikrocontroller, der er bredt anvendt inden for IoT, automatisering og smarte enheder. Dens avancerede kapaciteter kommer fra et stærkt multiplexet pinout-system, hvor mange funktioner deler de samme fysiske ben. Disse inkluderer digitale I/O-kanaler, ADC-kanaler, kapacitive touchsensorer, kommunikationsbusser, RTC-domæneben og interne forbindelser til SPI-flash og bootkonfiguration. Fordi mange funktioner deler ben, kan forkert ledningsføring forårsage fejlede opstartsfejl, støjende ADC-aflæsninger eller deaktiverede perifere enheder.
ESP32 DevKit pin-layout

ESP32-udviklingskort findes typisk i 30-pins og 38-bens versioner, som begge eksponerer de samme kernefunktioner, men med mindre forskelle i tilgængelige GPIO'er.
Pin-grupper på ESP32 Dev Boards
| Gruppe | Beskrivelse |
|---|---|
| Strømstifter | VIN (5 V), 3,3 V udgang, GND |
| Kontrolbenene | EN (reset), IO0 (boot-tilstand) |
| GPIO-pins | Digital I/O med multiplexing |
| Analoge ben | ADC1- og ADC2-kanaler |
| Kommunikationspinne | SPI, I2C, UART, I2S |
| Input-only ben | GPIO34–GPIO39 |
| Flash-reserverede pins | GPIO6–GPIO11 |
Fælles header-arrangement
Venstre hoved
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3,3V
Højre overskrift
• GPIO0–23
• Boot-strapping pins (0, 2, 5, 12, 15)
At forstå det fysiske layout gør det lettere at undgå fejl og planlægge ledningsføringen effektivt.
ESP32 GPIO Oversigt

ESP32 GPIO'er er fleksible takket være den interne I/O-matrix, som gør det muligt at kortlægge perifere enheder som UART, SPI, I2C og PWM næsten hvor som helst. GPIO'er understøtter digital indgang/udgang med indbyggede pull-up/down-modstande, kantudløste afbrydelser og pålidelig omkobling ved høje hastigheder. Typisk kontinuerlig drivstrøm er 12–16 mA (topper op til ~20–40 mA), så eksterne drivere kræves til motorer eller relæer.
Input-only ben
Disse ben kan ikke styre output og er ideelle til sensorer og analoge indgange:
| Pin | Type | Anbefalet brug |
|---|---|---|
| GPIO34 | Kun input | ADC1 / sensorer |
| GPIO35 | Kun input | ADC1 |
| GPIO36 (VP) | Kun input | ADC1 / Hall-sensor |
| GPIO39 (VN) | Kun input | ADC1 |
Sikre ESP32-ben at bruge og pins at undgå

Ikke alle ESP32-ben opfører sig ens. Nogle er sikre, mens andre påvirker boot-tilstand eller er knyttet til intern flashhukommelse.
Sikre pins (Anbefales til alle brugere)
| GPIO'er | Noter |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Ingen støvlepåvirkning, ideelt til de fleste perifere enheder |
Caution-pins (påvirker opstartstilstand)
| GPIO | Bootfunktion | Undgå under opstart |
|---|---|---|
| GPIO0 | Flash/Boot-tilstand | Hold HØJ (input) under normal opstart |
| GPIO2 | Bootspænding | Det må være HØJT |
| GPIO5 | Valgfri boot-tilstand | Undgå at trække lavt |
| GPIO12 | Flash voltage-tilstand | Skal holde sig LAVT |
| GPIO15 | SPI-tilstand | Skal holde sig LAVT |
Disse ben er sikre at bruge under normal drift, men eksterne komponenter må ikke trække dem til ugyldige logikniveauer under nulstilling. Deres detaljerede roller for støvler forklares i afsnit 9.
Begrænsede pins (må ikke bruges)
| GPIO | Årsag |
|---|---|
| GPIO6–11 | Forbundet til SPI flashhukommelse |
Brug af disse kan fryse eller få ESP32 til at crashe.
ESP32 ADC-pins

ESP32 integrerer to SAR ADC-enheder med forskellig operationel adfærd:
• ADC1 — Altid tilgængelig og anbefalet for alle sensorinput
• ADC2 — Deles med Wi-Fi-subsystemet og bliver utilgængelig, når Wi-Fi er aktivt
Dette er en af de væsentligste begrænsninger ved ESP32, hvilket gør ADC1 til det pålidelige valg til målinger i trådløse applikationer.
| ADC-enhed | Kanaler | GPIO'er | Noter |
|---|---|---|---|
| ADC1 | KAP0–KAP7 | GPIO32–39 | Bedste valg til sensorer |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Ubrugelig under Wi-Fi |
Spændingsområde og nøjagtighed
ADC'erne understøtter et standard indgangsområde på 0–1,1 V, som kan udvides til omkring 3,3 V med dæmpning. Begge ADC-enheder er ikke-lineære og drager fordel af kalibrering. Analog ydeevne kan påvirkes af intern RF-aktivitet, så at føre sensorlinjer væk fra antennen og tilføje simple RC-filtre kan forbedre stabiliteten betydeligt. For Wi-Fi-aktiverede projekter skal man altid placere analoge sensorer på ADC1 for at sikre kontinuerlig og støjfri drift.
ESP32 DAC-, PWM- og touch-pins
ESP32 inkluderer indbyggede analoge udgange og touchsensorer, der forenkler bølgeformgenerering, dæmpning, motorstyring og brugergrænseflader.
DAC Oversigt

To 8-bit DAC-kanaler udsender sande analoge spændinger:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Almindelige anvendelser inkluderer simpel lyd, analoge bølgeformer, LED-fading og biasspændinger. Udgangsområdet er typisk 0–3,3 V.
PWM (LEDC)

LEDC-modulet leverer højopløsnings, fleksibel PWM:
• 16 kanaler
• Op til 40 MHz timerbase
• Op til 20-bit opløsning
• Fuldt omkortbare GPIO'er
Bruges til LED-dæmpning, motorstyring, servosignaler, lydtoner og generel modulation. Enhver GPIO kan hoste et PWM-output via GPIO-matricen.
6,3 berøringssensorbenene

ESP32's 10 kapacitive touchpads registrerer fingernærhed og er nyttige til touchknapper, skydeknapper og vækningstriggere.
| Touch Pad | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Disse sensorer inkluderer støjfiltrering og fungerer godt til lav-effekt vågne-hændelser.
ESP32 kommunikationspinne
ESP32 indeholder et rigt sæt kommunikationsperiferiudstyr, som hver især kan føres til flere ben gennem den fleksible GPIO-matrix. Dette gør det muligt at tildele grænseflader som I2C, SPI og UART næsten hvor som helst, hvilket muliggør meget tilpasselige printkortlayouts og kombinationer af periferiudstyr.
I2C (Standard og brugerdefinerede pins)

ESP32 inkluderer to I2C-controllere med fuld fleksibilitet i valg af pins. Selvom de fleste udviklingskort bruger standardbenene, kan både SDA og SCL omplaceres til næsten enhver GPIO.
| Signal | Standard GPIO | Noter |
|---|---|---|
| SDA | GPIO21 | Fuldstændig omkortbar |
| SCL | GPIO22 | Fuldstændig omkortbar |
To digitale GPIO'er kan fungere som SDA og SCL. Understøtter både standardmode (100 kHz), fastmode (400 kHz) og fastmode plus (1 MHz afhængigt af kortet). Understøtter interne pull-ups på nogle kort, men eksterne 4,7 kΩ modstande anbefales for stabil kommunikation. Denne fleksibilitet gør ESP32 ideel til systemer, der kræver flere sensorer eller utraditionel pin-routing.
ESP32 inkluderer flere SPI-busser, hvor HSPI og VSPI er tilgængelige for brugerenheder. Begge understøtter omkortlægning via GPIO-matricen, men de fleste kort og biblioteker bruger følgende standard VSPI-konfiguration, som undgår konflikter med interne flashforbindelser:
Standard VSPI-kortlægning
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI foretrækkes typisk til skærme, SD-kort og højhastighedsperiferiudstyr. Selvom benene kan omplaceres, sikrer brugen af standardindstillingerne maksimal kompatibilitet og reducerer timingproblemer uden at gentage begrænsninger, der allerede er dækket i tidligere sektioner.
UART (Seriel)

ESP32 inkluderer tre UART-controllere med fleksibel routing, der gør det muligt for alle UART-ben at flytte til næsten enhver GPIO.
| UART | TX Pin | RX Pin | Primært formål |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Flashing, boot-meddelelser, seriel logning |
| UART1 | GPIO10 | GPIO9 | Tilgængelig for brugerapplikationer |
| UART2 | GPIO17 | GPIO16 | Tilgængelig for brugerapplikationer |
ESP32 Dybsøvn & RTC-pins
ESP32 inkluderer et Ultra-Low-Power (ULP) subsystem og et dedikeret Real-Time Clock (RTC) domæne, som forbliver tændt, selv når hoved-CPU og perifere enheder er slukket. Denne arkitektur muliggør ekstremt lavt strømforbrug, ofte i mikroampereområdet, hvilket gør ESP32 velegnet til langvarige batteridrevne applikationer.
Deep sleep gør det muligt for chippen at slukke hovedkernerne, de fleste interne ure og Wi-Fi/Bluetooth-radioerne, samtidig med at den overvåger udvalgte ben og sensorer via RTC-periferiudstyret.

ESP32 kan vågne fra dyb søvn gennem flere uafhængige triggere. Hver vågkilde opererer inden for RTC-domænet, som er designet til at forblive aktivt med minimal strømforbrug.
| Wake Type | GPIO'er / Noter |
|---|---|
| Ekstern RTC GPIO | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — understøttelse af edge eller niveau-wake-up |
| Kapacitive touchpads | T0–T9 — registrerer fingernærhed eller berøring under dyb søvn |
| Timer Vækning | RTC-timeren kan vække enheden efter et programmeret interval |
| ULP Co-processor | (Valgfrit) Brugerdefineret lavstrømskode kan køre for at tjekke sensorer, før hoved-CPU'en vækkes |
Disse ben tilhører RTC-domænet og forbliver aktive, selv når CPU og almindelige GPIO'er er slukket. De understøtter opvågning via stigende og faldende kanter eller simpel niveaudetektion. Bruges ofte til wake-on-motion, magnetiske kontakter og lav-effekt triggere.
ESP32 Boot-, Strapping- og EN-pinfunktioner

ESP32 bruger flere båndpins, der bestemmer nøglekonfigurationer under nulstilling eller opstart. Disse ben bliver kun samplet ved opstart og vender derefter tilbage til normal GPIO-funktion. At sikre, at de ikke drives til ugyldige niveauer under nulstilling, er nyttigt for konsistent opstartsadfærd.
Båndnålebord
| Pin | Støvlerolle | Påkrævet tilstand ved Boot |
|---|---|---|
| GPIO0 | Vælger bootloader / flash-tilstand | LAV = gå i flash-tilstand; HØJ = normal opstart |
| GPIO2 | Definerer internt opstartsspændingsniveau | Skal forblive HØJ |
| GPIO5 | SPI bootkonfiguration | Skal forblive HØJ |
| GPIO12 | Vælger flashspænding (3,3 V / 1,8 V) | Skal forblive LAV for 3,3 V flash |
| GPIO15 | Sætter SPI-kommunikationstilstand under opstart | Skal forblive LAVT |
Dette afsnit giver den autoritative reference for strapping-adfærd. Tidligere afsnit opsummerer kun de praktiske effekter; brug denne tabel, når du tildeler ben på specialdesignede printkort eller integrerer knapper og sensorer.
EN-pin (Aktiver / Nulstil)
EN (Enable) pinnen fungerer som master reset-indgangen til ESP32.
EN-pin-adfærd:
• Træk i EN LOW nulstiller chippen straks.
• Når man frigiver den tilbage til HØJ, aktiveres de interne kredsløb og opstartssekvensen igen.
• På udviklingskort (f.eks. ESP32-DevKitC, NodeMCU-ESP32) er EN koblet til USB-til-seriel grænsefladen for at muliggøre automatisk nulstilling under flashing.
ESP32 strømstifter

ESP32 er følsom over for strømkvalitet, fordi dens Wi-Fi- og Bluetooth-radioer trækker korte, højamplitude-strømpulser. Stabil strømlevering sikrer pålidelig opstart, reducerede nulstillinger af brownout og ensartet trådløs ydeevne.
Power Pin Resumé
| Pin | Spænding | Brug |
|---|---|---|
| VIN | 5 V indgang | Forsyner den ombordværende regulator (typisk AMS1117 eller ME6211) for at generere 3,3 V |
| 3V3 | 3,3 V udgang | Reguleret output fra den ombordværende LDO; bruges til at drive ekstern lavstrømslogik og sensorer |
| GND | — | Elektrisk reference og returvej for alle delsystemer |
Anbefalede ESP32-ben og ledningseksempler
Valg af de rigtige ben på ESP32 er nødvendigt for stabil drift, ren signalrouting og for at undgå konflikter med bootstrapping eller interne flashforbindelser. Følgende anbefalinger fremhæver de mest pålidelige, konfliktfri pins til almindelige funktioner.
Nålevalg
| Funktion | Bedste nåle | Noter |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Standard hardware-testet par; Det virker i de fleste boards. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Disse ben er korrekt tilpasset VSPI og undgår flash-forbundne ben. |
| UART | 16 (RX), 17 (TX) | Dedikerede UART2-pins, sikre til opstart og fejlfinding. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Høj fleksibilitet; PWM kan rutes til næsten enhver GPIO. |
| ADC | 32–39 (ADC1) | ADC1-kanaler forbliver brugbare, selv når Wi-Fi er aktivt. |
Konklusion
At mestre ESP32-pinouten fjerner gætteriet og forhindrer mange af de problemer, der opstår i faktiske builds, fra støjende ADC-aflæsninger til endeløse bootloops. Ved at forstå sikre ben, båndadfærd, strømintegritet og dyb søvn-routing kan du designe kredsløb, der forbliver stabile, forudsigelige og trådløst klare. Brug pin-maps og retningslinjer ovenfor som dit fundament for problemfri ESP32-projekter.
Ofte stillede spørgsmål [FAQ]
Hvordan konfigurerer jeg PlatformIO til Freenove ESP32-S3 Breakout Board?
Brug de standard ESP32-S3 udviklingsmodulindstillinger. Tilføj i din platformio.ini:
[env:esp32s3]
platform = espressif32
Board = ESP32-s3-devkitc-1
Framework = Arduino
Dette matcher Freenoves pinout, hvilket tillader normal kompilering og upload via USB.
Hvor mange perifere enheder kan ESP32 køre samtidig?
På grund af GPIO-matricen kan ESP32 køre flere I²C-, SPI-, UART-, PWM- og ADC-funktioner samtidig, så længe du undgår begrænsede ben og holder dig inden for CPU- og timinggrænser. De største flaskehalse er ADC2 under Wi-Fi og strømforsyningens kvalitet, ikke pin-antal.
Hvorfor genstarter min ESP32, når jeg tilslutter sensorer eller moduler?
Uventede nulstillinger skyldes som regel spændingsfald forårsaget af Wi-Fi-udbrud, motorer eller dårligt regulerede forsyninger. Ved brug af en 1 A eller højere 5 V kilde, tilføjelse af 10–100 μF bulkkondensatorer og isolering af støjende belastninger forhindres brownouts.
13,4 Kan jeg bruge ESP32'ens 3,3 V ben til at forsyne eksterne moduler med strøm?
Ja, men kun for lavstrømsenheder (typisk under 300–500 mA, afhængigt af den indbyggede LDO). Ekstraudstyr med højt forbrug som motorer, servos og store LED-strips skal bruge en separat strømforsyning for at undgå nulstillinger og overophedning.
Hvordan vælger jeg de bedste ESP32-ben, når jeg bruger flere perifere enheder?
Prioriter ikke-stroppende ben, undgå GPIO6–11, placer analoge sensorer på ADC1, og brug standard VSPI/I²C/UART-ben, når det er muligt. Dette reducerer konflikter og sikrer, at alle perifere enheder kan fungere sammen uden problemer med omkortlægning.