ESP32 Pinbelegung (Pinout) – Welche Pins für was?

Teilen:
ESP32 Pinbelegung (Pinout) – Welche Pins für was?

Wenn du an deinem ESP32 externe Komponenten anschließen möchtest, solltest du die Funktionen der einzelnen GPIO-Pins kennen. Nicht jeder Pin eignet sich für analoge Eingangssignale oder PWM-Ausgänge – und einige Pins haben Einschränkungen, die Fehlfunktionen verursachen können.

Hinweis

Hinweis: Die ESP32-GPIO-Pins haben bei jedem Entwicklungsboard dieselben Funktionen, jedoch sind nicht bei jedem Board die gleichen Pins herausgeführt. Diese Anleitung bezieht sich auf das ESP32 DevKitC V4 – eines der beliebtesten und verbreitetsten Boards.

ESP32 WROOM-32 Modul

Der reine WROOM-32-Chip interessiert die meisten Hobbyisten wenig – hier kurz zur Einordnung:

ESP32 WROOM-32 Modul
ESP32 WROOM-32 Modul

ESP32 DevKitC V4 – das Referenz-Board

Noch kein ESP32? Das ESP32 DevKitC V4* ist das meistgenutzte Board – günstig, gut dokumentiert und in fast jeder Anleitung als Referenz verwendet.

  • ESP32 DevKitC V4 bei Amazon*

Das Board führt 38 der 48 möglichen Pins heraus, alle sind direkt auf der Platine beschriftet.

ESP32 DevKitC V4 mit Pinbeschriftung
ESP32 DevKitC V4 mit Pinbeschriftung

GPIO-Pins – Allgemeine Übersicht

Die meisten GPIO-Pins des ESP32 können als digitale Ein- oder Ausgänge konfiguriert werden. Einige haben wichtige Einschränkungen:

Pin-BereichFunktion / Einschränkung
GPIO 0–39Standard GPIO – digitaler Ein- oder Ausgang möglich
Input only GPIO 34–39Nur als Eingang nutzbar – kein Ausgang möglich
Flash GPIO 6–11Intern mit Flash-Speicher verbunden – nicht für externe Nutzung verwenden
UART GPIO 1, 3UART0 TX/RX – mit USB verbunden, für Debugging reserviert

ESP32 GPIO-Pin Übersicht

Analoge Eingänge (ADC)

Der ESP32 hat einen integrierten 12-Bit ADC (Analog-Digital-Wandler) mit zwei Kanälen:

ADC-KanalGPIO-PinsBesonderheit
ADC1GPIO 32, 33, 34, 35, 36, 37, 38, 39Immer verfügbar ✓
ADC2GPIO 0, 2, 4, 12, 13, 14, 15, 25, 26, 27Nicht nutzbar wenn WLAN aktiv ist ⚠

ADC-Pins des ESP32

Achtung

Analoge Ausgänge (DAC)

Nur zwei Pins unterstützen echte analoge Ausgaben (Digital-Analog-Wandler):

DAC-KanalGPIO-PinVerwendung
DAC1GPIO 25Analoge Spannung 0–3,3 V ausgeben
DAC2GPIO 26Analoge Spannung 0–3,3 V ausgeben

DAC-Pins des ESP32

DAC-Ausgänge eignen sich z.B. für Tonausgabe oder die Ansteuerung analoger Aktoren.

Pulse Width Modulation (PWM)

PWM wird für die Helligkeitsregelung von LEDs, Servos oder Motorsteuerungen verwendet. Beim ESP32 kann jeder GPIO-Pin für PWM genutzt werden – über das LEDC-Peripheral mit bis zu 16 unabhängigen PWM-Kanälen.

EigenschaftWert
Verfügbar aufAllen GPIO-Pins (außer Input-only GPIO 34–39)
PWM-Kanäle16 unabhängige Kanäle
Auflösung1–16 Bit (einstellbar)
Frequenz1 Hz – 40 MHz (abhängig von Auflösung)
PeripheralLEDC (LED Control)

PWM-Eigenschaften des ESP32

Tipp

I2C – Inter-Integrated Circuit

I2C wird für die Kommunikation mit Sensoren, Displays (z.B. OLED) und anderen Peripheriegeräten verwendet. Die Standard-Pins beim ESP32:

SignalStandard-PinHinweis
SDA (Daten)GPIO 21Per Software auf anderen GPIO umlegbar
SCL (Clock)GPIO 22Per Software auf anderen GPIO umlegbar

I2C Standard-Pins

SPI – Serial Peripheral Interface

SPI für schnelle Datenübertragung mit SD-Karten, Displays oder Sensoren. Standard-Pins:

SignalStandard-Pin
MOSI (Master → Slave)GPIO 23
MISO (Slave → Master)GPIO 19
SCLK (Clock)GPIO 18
CS (Chip Select)GPIO 5

SPI Standard-Pins

UART – Serielle Kommunikation

Der ESP32 hat drei UART-Schnittstellen:

UARTTX-PinRX-PinHinweis
UART0GPIO 1GPIO 3USB/Debugging – nicht für externe Geräte verwenden
UART1GPIO 9GPIO 10Flash-Speicher – nicht verwenden
UART2GPIO 17GPIO 16Empfohlen für serielle Verbindungen ✓

UART-Pins des ESP32

Kapazitive Touch-Sensoren

10 GPIO-Pins können als berührungsempfindliche Touch-Eingänge konfiguriert werden – ideal für Touch-Buttons ohne mechanische Taster:

Touch-KanalGPIO-PinZusatzfunktionen
Touch0GPIO 4ADC2, RTC GPIO
Touch1GPIO 0ADC2, RTC GPIO, Boot-Pin
Touch2GPIO 2ADC2, RTC GPIO
Touch3GPIO 15ADC2, RTC GPIO
Touch4GPIO 13ADC2, RTC GPIO
Touch5GPIO 12ADC2, RTC GPIO
Touch6GPIO 14ADC2, RTC GPIO
Touch7GPIO 27ADC2, RTC GPIO
Touch8GPIO 33ADC1, RTC GPIO
Touch9GPIO 32ADC1, RTC GPIO

Touch-Pins des ESP32

RTC GPIOs – Deep-Sleep Wake-up

Im Deep-Sleep-Modus verbraucht der ESP32 unter 0,1 mA. Diese Pins bleiben auch im Deep-Sleep aktiv und können den ESP32 aufwecken:

RTC GPIOGPIO-PinZusatzfunktionen
RTC GPIO0GPIO 36ADC1, Input only
RTC GPIO3GPIO 39ADC1, Input only
RTC GPIO4GPIO 34ADC1, Input only
RTC GPIO5GPIO 35ADC1, Input only
RTC GPIO6GPIO 25ADC2, DAC1
RTC GPIO7GPIO 26ADC2, DAC2
RTC GPIO8GPIO 33ADC1, Touch8
RTC GPIO9GPIO 32ADC1, Touch9
RTC GPIO10GPIO 4ADC2, Touch0
RTC GPIO11GPIO 0ADC2, Touch1, Boot-Pin
RTC GPIO12GPIO 2ADC2, Touch2
RTC GPIO13GPIO 15ADC2, Touch3
RTC GPIO14GPIO 13ADC2, Touch4
RTC GPIO15GPIO 12ADC2, Touch5
RTC GPIO16GPIO 14ADC2, Touch6
RTC GPIO17GPIO 27ADC2, Touch7

RTC GPIO-Pins des ESP32

Pins mit Einschränkungen – Übersicht

PinEinschränkung
Flash GPIO 6–11Intern mit Flash-Speicher verbunden – nicht extern verwenden
UART GPIO 1, 3UART0 – mit USB verbunden, für Debugging genutzt
Input only GPIO 34–39Nur Eingang – kein Ausgang möglich, kein interner Pull-Up/Down
GPIO 0Boot-Modus-Pin – beim Booten muss dieser Pin HIGH sein
GPIO 2Muss beim Booten LOW oder floating sein – nicht als Ausgang mit Pull-Up verwenden
GPIO 12Beeinflusst Flash-Spannung beim Booten – mit Vorsicht verwenden

GPIO-Pins mit Einschränkungen

Warnung

Wie viele GPIO-Pins hat der ESP32 DevKitC V4?
Das Board führt 38 GPIO-Pins heraus. Davon sind jedoch GPIO 6–11 (Flash) und GPIO 1/3 (UART0/USB) für interne Zwecke reserviert – effektiv nutzbar sind also ca. 30 Pins.
Warum funktioniert mein ADC2-Pin nicht mehr wenn WLAN aktiv ist?
ADC2 teilt sich die Hardware mit dem WLAN-Modul. Sobald WLAN gestartet wird, übernimmt das WLAN-Modul die Kontrolle und ADC2 liefert fehlerhafte Werte. Lösung: ADC1-Pins (GPIO 32–39) für analoge Eingaben verwenden.
Kann ich alle GPIO-Pins als PWM-Ausgang verwenden?
Fast alle – außer den reinen Eingangspins (GPIO 34–39) und den für Flash und UART reservierten Pins. Die meisten Standardpins funktionieren problemlos als PWM-Ausgang über das LEDC-Peripheral.
Welche Pins empfiehlst du für einfache digitale Ein-/Ausgänge?
Sichere Pins ohne bekannte Einschränkungen: GPIO 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33. GPIO 34–39 nur als Eingang.
Stimmt die Pinbelegung für alle ESP32-Boards?
Die GPIO-Funktionen sind beim ESP32-Chip identisch. Jedoch führen verschiedene Boards unterschiedliche Pins heraus. Das DevKitC V4 ist das Referenzboard mit den meisten herausgeführten Pins.

Hat dir der Artikel gefallen? Teile ihn!