Der Pinout des ESP32 ist eine seiner größten Stärken und eine der häufigsten Verwirrungsquellen. Bei starkem Multiplexing, strengen Boot-Modus-Abhängigkeiten und sensiblem analogem Verhalten ist korrekte Pin-Auswahl für stabilen Betrieb wichtig. Dieser Artikel organisiert jede wichtige Pin-Gruppe klar, damit Sie Konflikte vermeiden, Bootfehler vermeiden und zuverlässige ESP32-basierte Hardware entwerfen können.

Verständnis des ESP32-Pinouts
Der ESP32 ist ein leistungsstarker und flexibler Mikrocontroller, der weit verbreitet im IoT, in der Automatisierung und in intelligenten Geräten eingesetzt wird. Seine fortschrittlichen Fähigkeiten stammen aus einem stark multiplexierten Pinout-System, bei dem viele Funktionen dieselben physischen Pins teilen. Dazu gehören digitale I/O, ADC-Kanäle, kapazitive Berührungssensoren, Kommunikationsbusse, RTC-Domänen-Pins und interne Verbindungen für SPI-Flash- und Bootkonfiguration. Da viele Funktionen Pins teilen, kann eine fehlerhafte Verkabelung zu fehlgeschlagenen Boots, verrauschten ADC-Anzeigen oder deaktivierten Peripheriegeräten führen.
ESP32 DevKit Pin-Layout

ESP32-Entwicklungsplatinen sind typischerweise in 30-poligen und 38-poligen Versionen erhältlich, die beide dieselben Kernfunktionen anbieten, jedoch mit geringfügigen Unterschieden bei den verfügbaren GPIOs.
Pin-Gruppen auf ESP32-Entwicklungsboards
| Gruppe | Beschreibung |
|---|---|
| Stromstifte | VIN (5 V), 3,3 V Ausgang, GND |
| Steuerpins | EN (Reset), IO0 (Boot-Modus) |
| GPIO-Pins | Digitale I/O mit Multiplexing |
| Analoge Pins | ADC1- und ADC2-Kanäle |
| Kommunikationsstifte | SPI, I2C, UART, I2S |
| Nur Eingabe-Pins | GPIO34–GPIO39 |
| Flash-reservierte Pins | GPIO6–GPIO11 |
Gemeinsame Header-Anordnung
Linker Kopfball
• EN, GPIO36–39, GPIO34–35
• GPIO32–33, 25–27
• VIN, GND, 3,3V
Rechter Header
• GPIO0–23
• Boot-Strapping-Pins (0, 2, 5, 12, 15)
Das Verständnis des physischen Grundrisses erleichtert es, Fehler zu vermeiden und die Verkabelung effizient zu planen.
ESP32 GPIO Überblick

ESP32-GPIOs sind dank der internen I/O-Matrix flexibel, die es ermöglicht, Peripheriegeräte wie UART, SPI, I2C und PWM fast überall zu mappen. GPIOs unterstützen digitale Ein- und Ausgänge mit integrierten Pull-up/down-Widerständen, kantengesteuerten Interrupts und zuverlässiges Schalten bei hohen Geschwindigkeiten. Der typische Dauerstrom beträgt 12–16 mA (Spitzen bis ~20–40 mA), daher sind externe Treiber für Motoren oder Relais erforderlich.
Eingabe-nur-Pins
Diese Pins können keinen Ausgang antreiben und sind ideal für Sensoren und analoge Eingänge:
| Pin | Typ | Empfohlene Verwendung |
|---|---|---|
| GPIO34 | Nur Eingabe | ADC1 / Sensoren |
| GPIO35 | Nur Eingabe | ADC1 |
| GPIO36 (VP) | Nur Eingabe | ADC1 / Hall-Sensor |
| GPIO39 (VN) | Nur Eingabe | ADC1 |
Sichere ESP32-Pins zur Nutzung und Pins, die man vermeiden sollte

Nicht alle ESP32-Pins verhalten sich gleich. Einige sind sicher, während andere den Boot-Modus beeinflussen oder an internen Flash-Speicher gebunden sind.
Sichere Pins (empfohlen für alle Nutzer)
| GPIOs | Anmerkungen |
|---|---|
| 4, 13–19, 21–27, 32, 33 | Kein Boot-Impact, ideal für die meisten Peripheriegeräte |
Warn-Pins (beeinflussen den Startmodus)
| GPIO | Boot-Funktion | Während des Bootes vermeiden |
|---|---|---|
| GPIO0 | Flash-/Boot-Modus | Halten Sie HOCH (Eingabe) während des normalen Boots |
| GPIO2 | Boot-Spannung | Muss HOCH sein |
| GPIO5 | Optionaler Bootmodus | Vermeiden Sie es, tief zu ziehen |
| GPIO12 | Flash-Spannungsmodus | Muss NIEDRIG bleiben |
| GPIO15 | SPI-Modus | Muss NIEDRIG bleiben |
Diese Pins sind im normalen Betrieb sicher zu verwenden, aber externe Komponenten dürfen sie beim Zurücksetzen nicht auf ungültige Logikpegel ziehen. Ihre detaillierten Stiefelrollen werden in Abschnitt 9 erklärt.
Eingeschränkte Pins (Nicht verwenden)
| GPIO | Grund |
|---|---|
| GPIO6–11 | Verbunden mit SPI-Flash-Speicher |
Wenn man diese benutzt, kann das ESP32 einfrieren oder abstürzen.
ESP32 ADC-Pins

Der ESP32 integriert zwei SAR-ADC-Einheiten mit unterschiedlichem Einsatzverhalten:
• ADC1 — Immer verfügbar und empfohlen für alle Sensoreingaben
• ADC2 — Wird mit dem Wi-Fi-Subsystem geteilt und wird nicht mehr verfügbar, sobald WLAN aktiv ist
Dies ist eine der Hauptbeschränkungen des ESP32, der ADC1 zur zuverlässigen Wahl für Messungen in drahtlosen Anwendungen macht.
| ADC-Einheit | Kanäle | GPIOs | Anmerkungen |
|---|---|---|---|
| ADC1 | CH0–CH7 | GPIO32–39 | Beste Wahl für Sensoren |
| ADC2 | CH0–CH9 | 0, 2, 4, 12–15, 25–27 | Unbenutzbar während WLAN |
Spannungsbereich & Genauigkeit
Die ADCs unterstützen einen Standard-Eingangsbereich von 0–1,1 V, der mit Dämpfung auf etwa 3,3 V erdehnbar ist. Beide ADC-Einheiten sind nichtlinear und profitieren von einer Kalibrierung. Die analoge Leistung kann durch die interne HF-Aktivität beeinflusst werden, daher kann das Wegführen von Sensorleitungen weg von der Antenne und das Hinzufügen einfacher RC-Filter die Stabilität erheblich verbessern. Bei WLAN-fähigen Projekten sollten immer analoge Sensoren auf ADC1 platziert werden, um einen kontinuierlichen und rauschfreien Betrieb zu gewährleisten.
ESP32 DAC, PWM und Touch-Pins
Der ESP32 verfügt über integrierte analoge Ausgänge und Touch-Sensoren, die die Erzeugung von Wellenformen, das Dimmen, die Motorsteuerung und die Benutzeroberflächen vereinfachen.
DAC-Überblick

Zwei 8-Bit-DAC-Kanäle geben echte analoge Spannungen aus:
| DAC | GPIO |
|---|---|
| DAC1 | GPIO25 |
| DAC2 | GPIO26 |
Häufige Anwendungen sind einfache Audio, analoge Wellenformen, LED-Fading und Vorspannungen. Der Ausgangsbereich liegt typischerweise zwischen 0 und 3,3 V.
6,2 PWM (LEDC)

Das LEDC-Modul bietet hochauflösende, flexible PWM:
• 16 Kanäle
• Bis zu 40 MHz Timerbasis
• Bis zu 20-Bit-Auflösung
• Vollständig umprogrammierbare GPIOs
Verwendet für LED-Dimming, Motorsteuerung, Servosignale, Audiotöne und allgemeine Modulation. Jedes GPIO kann einen PWM-Ausgang über die GPIO-Matrix hosten.
Berührungssensor-Pins

Die 10 kapazitiven Touchpads des ESP32 erkennen die Nähe der Finger und sind nützlich für Tasten, Schieberegler und Wecktrigger.
| Touch Pad | GPIO |
|---|---|
| T0–T9 | GPIO4, 0, 2, 15, 13, 12, 14, 27, 33, 32 |
Diese Sensoren verfügen über eine Rauschfilterung und funktionieren gut für schwache Aufwachereignisse.
ESP32-Kommunikationspins
Der ESP32 umfasst eine umfangreiche Auswahl an Kommunikationsperipheriegeräten, die jeweils über die flexible GPIO-Matrix an mehrere Pins geleitet werden können. Dadurch können Schnittstellen wie I2C, SPI und UART nahezu überall zugewiesen werden, was hochgradig anpassbare Board-Layouts und Peripheriekombinationen ermöglicht.
I2C (Standard- und benutzerdefinierte Pins)

Der ESP32 verfügt über zwei I2C-Controller mit voller Flexibilität bei der Pin-Auswahl. Obwohl die meisten Entwicklungsplatinen die Standardpins verwenden, können sowohl SDA als auch SCL nahezu jedem GPIO zugewiesen werden.
| Signal | Standard-GPIO | Anmerkungen |
|---|---|---|
| SDA | GPIO21 | Vollständig umzuweisen |
| SCL | GPIO22 | Vollständig umzuweisen |
Beliebige zwei digitale GPIOs können als SDA und SCL fungieren. Unterstützt sowohl Standardmodus (100 kHz), Fastmode (400 kHz) als auch Fastmode Plus (1 MHz je nach Platine). Unterstützt interne Pull-ups auf einigen Platinen, aber externe 4,7 kΩ-Widerstände werden für stabile Kommunikation empfohlen. Diese Flexibilität macht den ESP32 ideal für Systeme, die mehrere Sensoren oder unkonventionelle Pin-Routing benötigen.
Der ESP32 verfügt über mehrere SPI-Busse, wobei HSPI und VSPI für Benutzergeräte verfügbar sind. Beide unterstützen die Neuzuordnung über die GPIO-Matrix, aber die meisten Platinen und Bibliotheken verwenden folgende Standard-VSPI-Konfiguration, die Konflikte mit internen Flash-Verbindungen vermeidet:
Standard-VSPI-Mapping
• SCK → GPIO18
• MISO → GPIO19
• MOSI → GPIO23
• CS → GPIO5
VSPI wird typischerweise für Displays, SD-Karten und Hochgeschwindigkeitsperipheriegeräte bevorzugt. Während Pins neu zugeordnet werden können, sorgt die Verwendung der Standardwerte für maximale Kompatibilität und reduziert Timing-Probleme, ohne die bereits in früheren Abschnitten behandelten Einschränkungen zu wiederholen.
UART (Fortsetzungsserien)

Der ESP32 verfügt über drei UART-Controller mit flexiblem Routing, das es ermöglicht, dass alle UART-Pins nahezu zu jedem GPIO wechseln können.
| UART | TX Pin | RX Pin | Hauptzweck |
|---|---|---|---|
| UART0 | GPIO1 | GPIO3 | Flashen, Startmeldungen, serielle Protokollierung |
| UART1 | GPIO10 | GPIO9 | Verfügbar für Benutzeranwendungen |
| UART2 | GPIO17 | GPIO16 | Verfügbar für Benutzeranwendungen |
ESP32 Tiefschlaf- und RTC-Pins
Der ESP32 verfügt über ein Ultra-Low-Power (ULP)-Subsystem und eine dedizierte Echtzeituhr (RTC)-Domäne, die auch dann mit Strom versorgt bleiben, wenn die Haupt-CPU und Peripheriegeräte ausgeschaltet sind. Diese Architektur ermöglicht einen extrem niedrigen Stromverbrauch, oft im Mikroamperebereich, wodurch der ESP32 für langfristige batteriebetriebene Anwendungen geeignet ist.
Deep Sleep ermöglicht es dem Chip, die Hauptkerne, die meisten internen Taktraten und die Wi-Fi/Bluetooth-Funkgeräte abzuschalten, während ausgewählte Pins und Sensoren weiterhin über die RTC-Peripheriegeräte überwacht werden.

Der ESP32 kann durch mehrere unabhängige Auslöser aus dem Tiefschlaf erwachen. Jede Wake-Quelle arbeitet innerhalb der RTC-Domäne, die so konzipiert ist, dass sie mit minimalem Stromverbrauch aktiv bleibt.
| Wake-Typ | GPIOs / Anmerkungen |
|---|---|
| Externe RTC GPIO | GPIO32, GPIO33, GPIO25, GPIO26, GPIO27 — Unterstützung für Edge- oder Level-Wake-up |
| Kapazitive Touchpads | T0–T9 — erkennt Fingernähe oder Berührung während des Tiefschlafs |
| Timer-Aufwachen | Der RTC-Timer kann das Gerät nach einem programmierten Intervall wecken |
| ULP Co-Prozessor | (Optional) Ein benutzerdefinierter Energiesparcode kann ausgeführt werden, um Sensoren zu überprüfen, bevor die Haupt-CPU aufwacht |
Diese Pins gehören zur RTC-Domäne und bleiben auch aktiv, wenn CPU und reguläre GPIOs abgeschaltet sind. Sie unterstützen das Aufwachen durch auf- und abfallende Kanten oder einfache Pegelerkennung. Wird häufig für Wake-on-Motion, magnetische Schalter und Energiespar-Trigger verwendet.
ESP32 Boot-, Strapping- und EN-Pin-Funktionen

Der ESP32 verwendet mehrere Strapping-Pins, die die Schlüsselkonfigurationen des Systems während des Zurücksetzens oder Hochfahrens bestimmen. Diese Pins werden nur beim Booten abgetastet und kehren dann zur normalen GPIO-Funktion zurück. Sicherzustellen, dass sie beim Reset nicht auf ungültige Werte getrieben werden, ist für ein konsistentes Startverhalten nützlich.
Riemen-Pin-Tisch
| Pin | Boot-Rolle | Erforderlicher Zustand beim Booten |
|---|---|---|
| GPIO0 | Wählt Bootloader / Flash-Modus aus | LOW = in den Blitzmodus wechseln; HOCH = normaler Start |
| GPIO2 | Definiert die interne Startspannung | Muss HOCH bleiben |
| GPIO5 | SPI-Bootkonfiguration | Muss HOCH bleiben |
| GPIO12 | Wählt Blitzspannung (3,3 V / 1,8 V) aus | Muss für 3,3 V Blitz NIEDRIG bleiben |
| GPIO15 | Setzt den SPI-Kommunikationsmodus während des Bootes | Muss NIEDRIG bleiben |
Dieser Abschnitt liefert die maßgebliche Referenz für Strapping-Verhalten. Frühere Abschnitte fassen nur die praktischen Auswirkungen zusammen; Verwenden Sie diese Tabelle, wenn Sie Pins auf benutzerdefinierten Leiterplatten zuweisen oder Buttons und Sensoren integrieren.
EN-Pin (Aktivieren / Zurücksetzen)
Der EN-(Enable)-Pin fungiert als Master-Reset-Eingang für den ESP32.
EN-Pin-Verhalten:
• Das Ziehen von EN LOW setzt den Chip sofort zurück.
• Das Zurücksetzen auf HOCH aktiviert die internen Schaltkreise und startet die Startsequenz neu.
• Auf Entwicklungsplatinen (z. B. ESP32-DevKitC, NodeMCU-ESP32) ist EN an die USB-zu-serielle Schnittstelle gebunden, um einen automatischen Reset während des Flashens zu ermöglichen.
ESP32 Stromstifte

Der ESP32 ist empfindlich gegenüber der Stromqualität, da seine WLAN- und Bluetooth-Funkgeräte kurze, hochamplitudige Stromimpulse aufnehmen. Stabile Stromversorgung sorgt für zuverlässiges Booten, weniger Brownout-Zurücksetzungen und eine konstante drahtlose Leistung.
Power Pin Zusammenfassung
| Pin | Spannung | Verwendung |
|---|---|---|
| VIN | 5 V Eingang | Speist den Bordregler (typischerweise AMS1117 oder ME6211), um 3,3 V zu erzeugen |
| 3V3 | 3,3 V Ausgang | Regulierte Ausgabe vom an Bord befindlichen LDO; verwendet zur Bestromung externer Niederstromlogik und -sensoren |
| GND | — | Elektrischer Referenz- und Rückweg für alle Teilsysteme |
Empfohlene Beispiele für ESP32-Pins und Verkabelung
Die Wahl der richtigen Pins am ESP32 ist notwendig für stabilen Betrieb, saubere Signalleitung und die Vermeidung von Konflikten mit Bootstrapping oder internen Flash-Verbindungen. Die folgenden Empfehlungen heben die zuverlässigsten, konfliktfreien Pins für gängige Funktionen hervor.
Pin-Auswahl
| Funktion | Beste Pins | Anmerkungen |
|---|---|---|
| I2C | 21 (SDA), 22 (SCL) | Standard-hardwaregetestetes Paar; Funktioniert in den meisten Boards. |
| SPI | 18 (SCK), 19 (MISO), 23 (MOSI), 5 (CS) | Diese Pins sind sauber auf VSPI abgebildet und vermeiden flash-verbundene Pins. |
| UART | 16 (RX), 17 (TX) | Dedizierte UART2-Pins, sicher zum Booten und Debuggen. |
| PWM (LEDC) | 4, 16–19, 21–27, 32–33 | Reichweite mit hoher Flexibilität; PWM kann an fast jedes GPIO weitergeleitet werden. |
| ADC | 32–39 (ADC1) | ADC1-Kanäle bleiben auch dann nutzbar, wenn WLAN aktiv ist. |
Fazit
Das Beherrschen des ESP32-Pinouts beseitigt Ratspiel und verhindert viele der Probleme, die in echten Builds auftreten – von lauten ADC-Anzeigen bis hin zu endlosen Bootloops. Indem Sie sichere Pins, Gurtverhalten, Energieintegrität und Tiefschlaf-Routing verstehen, können Sie Schaltungen entwerfen, die stabil, vorhersehbar und drahtlos bereit bleiben. Nutze die oben genannten Pin-Maps und Richtlinien als Grundlage für problemlose ESP32-Projekte.
Häufig gestellte Fragen [FAQ]
Wie konfiguriere ich PlatformIO für das Freenove ESP32-S3 Breakout Board?
Verwenden Sie die Standardeinstellungen des ESP32-S3-Entwicklungsmoduls. Füge in deinem platformio.ini hinzu:
[env:esp32s3]
Plattform = espressif32
Board = ESP32-s3-devkitc-1
Framework = Arduino
Dies entspricht dem Freenove-Pinout und ermöglicht normales Kompilieren und Hochladen über USB.
Wie viele Peripheriegeräte kann der ESP32 gleichzeitig laufen?
Dank der GPIO-Matrix kann der ESP32 mehrere I²C-, SPI-, UART-, PWM- und ADC-Funktionen gleichzeitig ausführen, solange man eingeschränkte Pins vermeidet und innerhalb der CPU- und Timing-Grenzen bleibt. Die Hauptengpässe sind ADC2 während WLAN und die Qualität des Netzteils, nicht die Anzahl der Pins.
Warum startet mein ESP32 neu, wenn ich Sensoren oder Module anschließe?
Unerwartete Zurücksetzungen entstehen meist durch Spannungsabbrüche, die durch Wi-Fi-Bursts, Motoren oder schlecht regulierte Netzteile verursacht werden. Die Verwendung einer 1-A- oder höheren 5-V-Quelle, das Hinzufügen von 10–100 μF Bulk-Kondensatoren und die Isolierung von verrauschten Lasten verhindern Spannungsausfälle.
Kann ich den 3,3-V-Pin des ESP32 verwenden, um externe Module mit Strom zu versorgen?
Ja, aber nur für Geräte mit niedrigem Strom (typischerweise unter 300–500 mA, je nach Bord-LDO). Peripheriegeräte mit hohem Verbrauch wie Motoren, Servos und große LED-Streifen müssen ein separates Netzteil verwenden, um Rückstarts und Überhitzung zu vermeiden.
Wie wähle ich die besten ESP32-Pins aus, wenn ich mehrere Peripheriegeräte benutze?
Priorisieren Sie nicht-strappende Pins, vermeiden Sie GPIO6–11, platzieren Sie analoge Sensoren auf ADC1 und verwenden Sie wenn möglich Standard-VSPI/I²C/UART-Pins. Dies reduziert Konflikte und stellt sicher, dass alle Peripheriegeräte ohne Probleme mit der Neuzuordnung zusammenarbeiten können.