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:
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: gpiomö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
pullupoderpulldownkonfigurieren
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)
| Sensor | Pin | Protokoll |
|---|---|---|
| LD2450 RX | GPIO16 | UART2 |
| LD2450 TX | GPIO17 | UART2 |
| BH1750 (Lux) | GPIO21/22 | I²C |
| BME280 (Temp/Feuchte) | GPIO21/22 | I²C (gleicher Bus) |
| AM312 PIR | GPIO27 | Digital |
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)
| Funktion | Pin | Hinweis |
|---|---|---|
| Warmweiß PWM | GPIO18 | Über D4184 MOSFET |
| Kaltweiß PWM | GPIO19 | Über D4184 MOSFET |
CO2-Sensor (SCD41 + Temperatur)
| Sensor | Pin | Protokoll |
|---|---|---|
| SCD41 | GPIO21/22 | I²C |
| Status-LED (optional) | GPIO23 | Digital |
Outdoor/Zisterne (Deep Sleep + Füllstand)
| Sensor | Pin | Hinweis |
|---|---|---|
| Ultraschall/Analog | GPIO32 oder GPIO33 | ADC1 (WiFi-kompatibel) |
| DS18B20 Temperatur | GPIO4 | One-Wire |
| Batteriespannung | GPIO34 | ADC1, 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.

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.
