ESP32 GPIO-Referenz für ESPHome — Welcher Pin wofür?

Die komplette Übersicht aller GPIO-Pins am ESP32-WROOM-32 DevKit. Geprüft gegen das offizielle Espressif Datasheet v5.2. Speziell aufbereitet für ESPHome & Home Assistant Nutzer.


Du stehst vor deinem ESP32, hast das Pinout-Diagramm offen — und fragst dich: „An welchen Pin hänge ich jetzt meinen Sensor?“ Genau diese Frage klärt dieser Guide. Nicht theoretisch, sondern mit klaren Empfehlungen aus der Praxis. Mir ging es früher extrem oft so, dass man sehr schnell verwirrt ist, welche nutzen wir für was. Teilweise hatte ich viele Minuten Debugging gebraucht, warum mein Sensor nicht funktionier hat. Am ende war es nur der falsche pin! Vor allem zu Arduino Zeiten 😉

Dieser Artikel ist übrigens genau der Stoff, den wir in Modul 1 des ESPHome Meisterkurses behandeln — nur dass du dort die Verkabelung live siehst, direkt mitbaust und jederzeit Fragen stellen kannst.

Das Ampelsystem: Grün, Gelb, Orange, Rot

Nicht alle 34 GPIOs des ESP32 sind gleichwertig. Manche sind perfekt für Sensoren, andere bringen dein Board zum Absturz. Deshalb arbeiten wir mit vier Kategorien:

Grün — Sicher & empfohlen: Diese Pins kannst du bedenkenlos für Sensoren, PWM, Relais und alles andere verwenden. Keine Überraschungen beim Booten.

Gelb — Nur Eingang: Diese Pins können ausschließlich lesen, nicht schreiben. Kein interner Pull-up/Pull-down. Perfekt für analoge Sensoren, aber du kannst damit keine LED oder kein Relais ansteuern.

Orange — Strapping-Pins (Vorsicht!): Diese Pins steuern beim Boot das Verhalten des Chips. Wenn dein Sensor den Pin im falschen Moment auf den falschen Pegel zieht, startet der ESP32 nicht. Nutzbar — aber nur, wenn du weißt, was du tust.

Rot — Verboten: Finger weg. Diese Pins sind für den SPI-Flash oder die serielle Kommunikation reserviert. Belegst du sie, crasht dein Board oder du verlierst die USB-Verbindung.

Teste hier gern mein Interaktiven Guide. (Feedback via Kontakt, falls das unklar ist, ist ganz neu 🙂 Mit den wichtigsten Pins für alle normalen Projekte:

ESP32 GPIO-Referenz für ESPHome
Sicher / empfohlen
Nur Eingang
Strapping / Vorsicht
Verboten
I²C / UART
Versorgung
ESP-32 WROOM-32 PWR D2 EN BOOT

Die grünen Pins — Deine Arbeitspferde

Diese Pins sind die erste Wahl für ESPHome-Projekte. Kein Boot-Stress, keine versteckten Fallen:

GPIO4 — Der Allrounder

Funktionen: ADC2_CH0, Touch0, RTC_GPIO10

GPIO4 ist der Klassiker für One-Wire-Sensoren wie den DS18B20 (Temperatur). Keine Boot-Einschränkungen, keine Sonderfunktionen die im Weg stehen. Im Meisterkurs der Standard-Pin für digitale Sensoren.

Typischer ESPHome-Einsatz: DS18B20 Temperatur, DHT22, AM312 PIR-Sensor.

GPIO13 — Der stille Held

Funktionen: ADC2_CH4, Touch4, HSPI MOSI, RTC_GPIO14

Keinerlei Boot-Probleme. Touch-fähig, PWM-tauglich, SPI-kompatibel. Einer der unterschätztesten Pins.

Typischer ESPHome-Einsatz: PWM-Output, zusätzlicher digitaler Sensor, Status-LED.

GPIO14 — Gut, aber mit Eigenheit

Funktionen: ADC2_CH6, Touch6, HSPI CLK, RTC_GPIO16

Grundsätzlich ein guter Pin. Kleine Eigenheit: Gibt beim Boot ein kurzes PWM-Signal aus. Wenn du damit einen MOSFET steuerst (z.B. LED-Streifen), kann das Licht beim Einschalten kurz aufblitzen. Lösung: Gate-Pulldown-Widerstand (10kΩ gegen GND).

Typischer ESPHome-Einsatz: PWM-Ausgang (mit Pulldown), SPI Clock.

GPIO16 & GPIO17 — Das UART2-Paar

Funktionen: U2RXD / U2TXD

Das Standard-UART2-Paar. Perfekt für Sensoren mit serieller Schnittstelle. Im Meisterkurs der Standard für den LD2450 mmWave-Radarsensor — den wir im Modul 3 „Präsenz“ Schritt für Schritt verdrahten und konfigurieren.

Typischer ESPHome-Einsatz: LD2450 Präsenzmelder (GPIO16=RX, GPIO17=TX), SML-Lesekopf für Stromzähler.

GPIO18 — PWM-Favorit

Funktionen: VSPI CLK

Sauberer Pin ohne Boot-Macken. Ideal für PWM-Ausgänge wie LED-Dimmer oder Servo-Steuerung.

Typischer ESPHome-Einsatz: PWM für LED-Streifen (WW/CW), MOSFET-Steuerung.

GPIO19 — Vielseitig

Funktionen: VSPI MISO, U0CTS

Keine Einschränkungen. Nutze ihn für alles, was du brauchst.

Typischer ESPHome-Einsatz: Zweiter PWM-Kanal, digitaler Sensor, SPI-Datenleitung.

GPIO23 — SPI & Output

Funktionen: VSPI MOSI

Noch ein sauberer Pin. Kein Boot-Problem, keine Überraschungen.

Typischer ESPHome-Einsatz: SPI-Display (z.B. ePaper), Output, PWM.

GPIO25 & GPIO26 — Die DAC-Twins

Funktionen: DAC_1/DAC_2, ADC2_CH8/CH9

Die einzigen Pins mit Digital-Analog-Wandler. Können echte Analogspannungen ausgeben (nicht nur PWM). Wichtig: ADC2 funktioniert NICHT bei aktivem WiFi — das betrifft alle ADC2-Pins.

Typischer ESPHome-Einsatz: Digitale Ausgänge, Schalter. DAC-Funktion selten gebraucht in ESPHome.

GPIO27 — Der Stressfreie

Funktionen: ADC2_CH7, Touch7, RTC_GPIO17

Einer der unkompliziertesten Pins überhaupt. Touch-fähig, keine Boot-Macken.

Typischer ESPHome-Einsatz: Zusätzlicher digitaler Sensor, Touch-Taster, Binary Sensor.

GPIO32 & GPIO33 — Die ADC1-Stars

Funktionen: ADC1_CH4/CH5, Touch9/Touch8, RTC_GPIO9/GPIO8

Das Besondere an diesen beiden: Sie sind an ADC1 angeschlossen. Das bedeutet, sie können analoge Werte messen, auch wenn WiFi aktiv ist. Alle ADC2-Pins (GPIO0, 2, 4, 12–15, 25–27) können das nicht — dort liefert der ADC bei aktivem WiFi Müll.

Typischer ESPHome-Einsatz: Analoge Sensoren (Bodenfeuchtesensor, Lichtsensor-Modul ohne I²C, Batteriespannungsmessung).

Aus der Praxis: „ADC2 + WiFi“ ist einer der häufigsten Fehler, die Kursteilnehmer in die Macherwerkstatt-Calls mitbringen. Die Lösung ist immer dieselbe: Umstecken auf GPIO32/33. In 30 Sekunden behoben — wenn man weiß, woran es liegt.


Die Spezialbusse — I²C und UART

GPIO21 (SDA) & GPIO22 (SCL) — Der I²C-Bus

Das sind die Kurs-Standard-Pins für I²C. Hier kommen alle I²C-Sensoren dran: BME280, SCD41, BH1750, AHT20/21, SHT31 und viele mehr.

Wichtige Regeln für I²C am ESP32:

  • Pullup-Widerstände (4,7kΩ auf 3,3V) an SDA und SCL — viele Breakout-Boards haben die schon onboard
  • Der ESP32 hat maximal 2 Hardware-I²C-Busse — Software-I²C über beliebige Pins ist in ESPHome nicht mit platform: gpio möglich
  • Zwei Sensoren mit gleicher I²C-Adresse auf demselben Bus = Register-Korruption. Lösung: Zweiten I²C-Bus auf anderen Pins konfigurieren, oder Sensor mit wechselbarer Adresse nutzen

ESPHome YAML-Beispiel:

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

Kurs-Tipp: Im ESPHome Meisterkurs arbeiten wir konsequent mit GPIO21/22 als I²C-Standard. Dadurch sind alle Projekt-Blaupausen — vom CO2-Sensor bis zum Präsenzmelder — sofort Pin-kompatibel. Du steckst um, kopierst die YAML, passt den Namen an, fertig. Copy & Verstehen statt jedes Mal von Null anfangen.

GPIO1 (TX) & GPIO3 (RX) — UART0 (Nicht anfassen!)

Diese Pins sind für die USB-Kommunikation reserviert. Belegst du sie mit Sensoren, verlierst du Logging und Flash-Fähigkeit. Kategorie Rot.

GPIO16 (RX) & GPIO17 (TX) — UART2 (Frei nutzbar)

Der zweite UART-Bus. Perfekt für serielle Sensoren. Keine Konflikte mit USB.


Die gelben Pins — Nur Eingang

GPIO34, GPIO35, GPIO36 (VP), GPIO39 (VN)

Diese vier Pins können nur lesen — sie haben keinen Output-Treiber und keine internen Pull-up/Pull-down-Widerstände.

Was heißt das konkret?

  • Du kannst damit Spannungen messen (ADC1 — funktioniert mit WiFi!)
  • Du kannst Taster anschließen — aber nur mit externem Pull-up/Pull-down-Widerstand
  • Du kannst KEINE LEDs, Relais oder andere Outputs damit steuern
  • Du kannst in ESPHome KEINEN internen pullup oder pulldown konfigurieren

Bester Einsatz in ESPHome: Analoge Sensormessungen über ADC1 (Batteriespannung, Photoresistor), Taster mit externem Pull-up.


Die orangenen Pins — Strapping (mit Vorsicht)

GPIO0 — Boot-Mode-Schalter

Wenn GPIO0 beim Booten LOW ist, geht der ESP32 in den Flash-Mode statt normal zu starten. Das ist gewollt, wenn du flashen willst — aber eine Katastrophe, wenn dein Sensor den Pin dauerhaft auf LOW zieht.

Regel: Verwende GPIO0 nicht für Sensoren, die beim Einschalten einen definierten Pegel haben (z.B. Relais, Pull-down-Sensoren).

GPIO2 — Boot & Onboard-LED

Auf vielen DevKit-Boards ist die blaue Onboard-LED an GPIO2 angeschlossen. Der Pin muss beim Flash-Vorgang LOW sein. Nach dem Boot ist er frei nutzbar — aber du riskierst ein kurzes Aufleuchten beim Start.

Regel: Für Status-LED okay, für kritische Steuerung nicht empfohlen.

GPIO5 — SDIO Timing

Strapping-Pin für SDIO Slave Timing. Nach dem Boot frei nutzbar. Gibt beim Boot ein kurzes HIGH-Signal aus — MOSFET-Treiber bekommen einen kurzen Impuls.

Regel: Nutzbar mit Gate-Pulldown. Besser GPIO18 oder GPIO19 für MOSFET-Steuerung.

GPIO12 (MTDI) — Der gefährlichste Strapping-Pin

Wenn GPIO12 beim Boot HIGH ist, setzt der ESP32 die VDD_SDIO-Spannung auf 1,8V statt 3,3V. Bei den meisten Boards führt das zum sofortigen Boot-Fehler. Dein Board startet nicht mehr, bis du GPIO12 vom Sensor trennst.

Regel: Nur nutzen, wenn der Sensor GPIO12 beim Boot garantiert auf LOW lässt. Im Zweifelsfall: Finger weg.

GPIO15 (MTDO) — Boot-Log-Blitz

Steuert die UART-Logging-Ausgabe beim Boot. Beim Start gibt der ESP32 über diesen Pin kurz Daten aus, was bei angeschlossenen LEDs/MOSFETs zu einem sichtbaren Blitz führt.

Regel: Nicht ideal für sichtbare Outputs (LEDs, Relais). Für Input-Sensoren akzeptabel.


Die roten Pins — Verboten

GPIO6 bis GPIO11 — SPI Flash

Diese sechs Pins sind intern mit dem SPI-Flash des ESP-WROOM-32 Moduls verbunden. Sie tauchen auf dem 30-Pin DevKit nicht mal als Header-Pins auf — und das aus gutem Grund. Auf dem 36-GPIO DOIT-Board sind sie zwar herausgeführt, aber: Niemals verwenden!

Belegst du einen dieser Pins, korrumpierst du den Flash-Speicher und dein Board crasht sofort.

GPIO1 (TX) & GPIO3 (RX) — Serial

Reserviert für USB-Kommunikation. Sensoren hier = keine Logs, kein Flash, kein Debugging.


Die wichtigsten Praxis-Regeln auf einen Blick

Regel 1 — ADC1 vs. ADC2: Wenn du analoge Werte messen willst und WiFi aktiv ist (also immer bei ESPHome), verwende nur ADC1-Pins: GPIO32, GPIO33, GPIO34, GPIO35, GPIO36, GPIO39. ADC2 liefert bei aktivem WiFi falsche Werte.

Regel 2 — I²C-Standard: GPIO21 = SDA, GPIO22 = SCL. Immer. Nicht kreativ werden, außer du brauchst einen zweiten I²C-Bus.

Regel 3 — UART für Radar/Seriell: GPIO16 = RX, GPIO17 = TX für UART2. Der Standard für LD2450 und andere serielle Sensoren.

Regel 4 — Boot-Pins meiden: GPIO0, GPIO2, GPIO12, GPIO15 nur nutzen, wenn du die Strapping-Logik verstanden hast. Für Anfänger: einfach die grünen Pins nehmen.

Regel 5 — PWM-Outputs: GPIO18, GPIO19, GPIO23 sind die stressfreisten Pins für MOSFET/LED-Steuerung. Kein Boot-Blitz, keine Strapping-Probleme.

Regel 6 — Pulldown für MOSFETs: Bei GPIO5 und GPIO14 immer einen 10kΩ Gate-Pulldown vorsehen, damit der MOSFET beim Boot nicht kurz durchschaltet.


Pin-Zuordnung nach Projekt

Hier wird’s konkret. Diese Tabellen nutze ich selbst für meine über 40 ESPHome-Projekte — und es sind dieselben Standards, die auch die Kursteilnehmer verwenden:

Präsenzmelder (LD2450 + PIR + Lux + Temperatur)

SensorPinProtokoll
LD2450 RXGPIO16UART2
LD2450 TXGPIO17UART2
BH1750 (Lux)GPIO21/22I²C
BME280 (Temp/Feuchte)GPIO21/22I²C (gleicher Bus)
AM312 PIRGPIO27Digital

Dieses Projekt ist der „Presence Pro“ aus Modul 3 des Meisterkurses. Komplett mit YAML-Vorlage, 3D-Druck-Gehäuse und Home-Assistant-Automation.

LED-Streifen (CW/WW)

FunktionPinHinweis
Warmweiß PWMGPIO18Über D4184 MOSFET
Kaltweiß PWMGPIO19Über D4184 MOSFET

CO2-Sensor (SCD41 + Temperatur)

SensorPinProtokoll
SCD41GPIO21/22I²C
Status-LED (optional)GPIO23Digital

Outdoor/Zisterne (Deep Sleep + Füllstand)

SensorPinHinweis
Ultraschall/AnalogGPIO32 oder GPIO33ADC1 (WiFi-kompatibel)
DS18B20 TemperaturGPIO4One-Wire
BatteriespannungGPIO34ADC1, nur Eingang

Die 5 häufigsten Fehler — und wie du sie vermeidest

Diese Fehler sehe ich regelmäßig — sowohl in der YouTube-Community als auch bei Kursteilnehmern in den Live-Calls:

Fehler 1: Sensor an GPIO12 → Board bootet nicht mehr. Der gefährlichste Strapping-Pin. Zieht der Sensor GPIO12 beim Boot auf HIGH, schaltet der ESP32 die Flash-Spannung auf 1,8V um. Lösung: Kabel abziehen, anderen Pin verwenden.

Fehler 2: Sensor an GPIO1 oder GPIO3 → Logging und Flash kaputt. Diese Pins sind für die USB-Kommunikation reserviert. Belegen = Blindflug. Lösung: Umstecken auf einen grünen Pin.

Fehler 3: ADC2-Pin für Analogmessung bei aktivem WiFi → Müllwerte. ESPHome nutzt immer WiFi. ADC2 ist damit unbrauchbar für analoge Messungen. Lösung: Nur ADC1-Pins verwenden (GPIO32–39).

Fehler 4: I²C ohne Pullup-Widerstände → Sensor antwortet nicht. Manche Breakout-Boards haben keine Pullups onboard. Lösung: 4,7kΩ zwischen SDA→3,3V und SCL→3,3V.

Fehler 5: MOSFET an GPIO5 ohne Pulldown → LED blitzt beim Boot. GPIO5 geht beim Boot kurz auf HIGH. Der MOSFET schaltet durch, das Licht geht kurz an. Lösung: 10kΩ vom Gate nach GND.

Teilnehmer-Zitat: „Ich verschwende weniger Zeit für die unprofessionellen anderen Vorgehensweisen Trial and Error. Ich erspar mir das Suchen auf YouTube.“ — Bernhard, Meisterkurs-Teilnehmer (10/10 Empfehlung)


Zusammenfassung

Der ESP32 hat viele Pins — aber nicht alle sind gleich. Wenn du dich an die grünen Pins hältst und die Standards für I²C (GPIO21/22) und UART (GPIO16/17) übernimmst, sparst du dir stundenlange Fehlersuche.

Der wichtigste Takeaway: Du musst nicht alle 34 GPIOs verstehen. Für 90% aller ESPHome-Projekte brauchst du vielleicht 8–10 Pins. Lerne diese gut, und du bist auf der sicheren Seite.


Wie geht’s weiter?

Dieser Guide gibt dir die Pin-Übersicht. Aber Pins sind nur der Anfang — danach kommt: Welchen Sensor wofür? Wie sieht die YAML aus? Wie kommt der Wert ins Home Assistant Dashboard?

Und wenn du nicht mehr einzelne Guides zusammenstückeln willst, sondern in 30 Tagen dein erstes eigenes ESPHome-Projekt stabil am Laufen haben willst — mit Video-Anleitungen, getesteten YAML-Vorlagen, Hardware-Einkaufsliste und Live-Support:

👉 ESPHome Meisterkurs entdecken — Von der Pin-Theorie zum fertigen Gerät in 30 Tagen.

Schon im Kurs und willst nach Modul 4 weiterbauen? In der Macherwerkstatt bauen wir jeden Monat neue Projekte, debuggen live und du bekommst Zugang zu den neuesten Modul-Erweiterungen (Deep Sleep, Displays, Relais-Steuerung und mehr).

👉 Macherwerkstatt — monatliche Live-Projekte & Community


Quelle: Espressif ESP32 Series Datasheet v5.2 (November 2025). Pin-Empfehlungen basierend auf 40+ eigenen ESPHome-Projekten und Praxiserfahrung aus dem ESPHome Meisterkurs von ALKLY.

Alkly Dumme Dinge Smart machen

Alex Kly (Alkly)

Ich glaube an ein Smart Home, das dir gehört – nicht der Cloud. Ich zeige dir, wie du Technik nutzt, um Energie zu sparen, Solar optimal einzubinden und dein Zuhause nachhaltig zu steuern.
Ein Zuhause, das mitdenkt, dich entlastet – und dich jeden Tag ein Stück freier macht.

Hat dir der Artikel geholfen?

Ja! 👍
Ne 🙁
Danke für dein Feedback!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert