Die ESP32 Pinbelegung wirkt auf den ersten Blick kompliziert, weil der Chip extrem flexibel ist: Fast jeder Pin kann mehrere Funktionen übernehmen, viele Signale lassen sich per „Pin-Matrix“ umleiten, und je nach Board (z. B. ESP32 DevKit, NodeMCU-Style, WROOM/WROVER-Module) sind nicht alle Pins gleich gut oder überhaupt erreichbar. Genau diese Flexibilität ist im IoT-Alltag ein Vorteil – sie ist aber auch die häufigste Ursache für Fehlersuche: Ein Relais schaltet nicht, der ESP32 bootet plötzlich nicht mehr, ADC-Werte springen, oder Touch-Buttons reagieren unzuverlässig. In diesem Artikel erhalten Sie eine praxisnahe, leicht verständliche Orientierung über die wichtigsten GPIO-Eigenschaften, über kapazitive Touch-Pins (Touch Sensor) und über das ADC-System (Analog-Digital-Wandler) inklusive typischer Fallstricke. Der Fokus liegt auf dem klassischen ESP32 (z. B. ESP32-WROOM-32), wie er auf vielen beliebten Entwicklungsboards eingesetzt wird. Dabei lernen Sie nicht nur „welcher Pin kann was“, sondern vor allem, welche Pins sich für zuverlässige Schaltungen eignen, welche Pins Sie besser meiden und wie Sie Ihre Hardware so planen, dass Boot, Funk und Analogmessung stabil zusammenarbeiten.
Grundprinzip: GPIO-Nummern, Board-Pins und warum „Pinout“ nicht immer gleich „Pinbelegung“ ist
Beim ESP32 müssen Sie sauber zwischen GPIO-Nummer (die logische Nummer im Chip, z. B. GPIO23) und der Board-Beschriftung (z. B. „D23“, „IO23“ oder schlicht „23“) unterscheiden. Manche Boards drucken die GPIO-Nummer direkt auf die Platine, andere nutzen eine eigene „Dx“-Notation. Für verlässliche Schaltpläne ist die GPIO-Nummer die beste Referenz.
Hinzu kommt: Einige Pins sind intern für den Flash-Speicher reserviert, andere sind beim Booten als Strapping-Pins beteiligt. Und wiederum andere sind nur als Eingang nutzbar. Wer diese Kategorien kennt, vermeidet 80 % der typischen Anfängerfehler.
GPIO-Kategorien, die Sie sofort kennen sollten
„Sichere“ Universal-GPIOs für Ein- und Ausgänge
Für viele Projekte suchen Sie Pins, die als digitale Ein- und Ausgänge (Input/Output) ohne Boot-Nebenwirkungen funktionieren. Die meisten „normalen“ GPIOs sind grundsätzlich geeignet, solange sie nicht zu den Boot-Strapping-Pins oder Flash-Pins gehören und Ihr Board sie tatsächlich herausführt. Als Faustregel sind viele GPIOs im Bereich 16–27 (abhängig vom Board) oft unkompliziert nutzbar, während bestimmte Spezialpins besondere Beachtung verlangen.
Input-only Pins: GPIO34 bis GPIO39
GPIO34 bis GPIO39 sind beim klassischen ESP32 nur Eingänge. Diese Pins können nicht als Output verwendet werden und haben keine internen Pull-up/Pull-down-Widerstände. Das ist wichtig für Taster- oder Sensorsignale: Sie müssen externe Pull-ups/Pull-downs vorsehen, wenn das Signal sonst „floatet“. Eine kompakte Referenz dazu finden Sie z. B. in der GPIO-Übersicht: ESP32 GPIO-Pinout-Referenz.
Flash-/SPI-Pins: GPIO6 bis GPIO11 meiden
Viele ESP32-Module (insbesondere ESP-WROOM-32) nutzen bestimmte Pins für die interne SPI-Flash-Anbindung. Diese Pins (typischerweise GPIO6 bis GPIO11) sind für den Betrieb des Flash-Speichers wichtig und sollten nicht für eigene Schaltungen verwendet werden. Auch wenn einige Boards sie herausführen, ist das in der Praxis eine häufige Fehlerquelle.
Boot-Strapping-Pins: Vorsicht bei GPIO0, GPIO2, GPIO5, GPIO12, GPIO15
Strapping-Pins werden beim Reset/Booten ausgewertet und beeinflussen Boot-Modus oder Spannungs-/Konfigurationsoptionen. Beim klassischen ESP32 gehören typischerweise GPIO0, GPIO2, GPIO5, GPIO12 und GPIO15 zu dieser Gruppe. Das bedeutet nicht, dass Sie sie grundsätzlich nicht nutzen dürfen – aber Ihre Beschaltung darf beim Boot nicht den falschen Pegel erzwingen. Für eine verlässliche Beschreibung des Boot-Verhaltens ist die esptool-Dokumentation sehr hilfreich: ESP32 Boot Mode Selection (Strapping Pins).
Kapazitive Touch-Pins: So funktionieren sie und welche GPIOs dazugehören
Der klassische ESP32 besitzt einen kapazitiven Touch-Sensor, der Änderungen in der Kapazität erkennt – typischerweise ausgelöst durch eine Berührung. Das ist ideal für Touch-Tasten, Slider-Flächen oder „unsichtbare“ Bedienelemente hinter Kunststoff. Technisch misst der ESP32 Lade-/Entladeverhalten an bestimmten Touch-Kanälen. Eine offizielle technische Einführung und API-Referenz finden Sie in der Espressif-Dokumentation: Capacitive Touch Sensor (ESP-IDF).
Touch-Kanäle und zugehörige GPIOs (klassischer ESP32)
Beim klassischen ESP32 sind Touch-Kanäle (T0–T9) typischerweise folgenden GPIOs zugeordnet. Diese Zuordnung ist in vielen Tutorials und Pinout-Referenzen konsistent, z. B. in ESP32 Touch Pins (Arduino):
- T0: GPIO4
- T1: GPIO0
- T2: GPIO2
- T3: GPIO15
- T4: GPIO13
- T5: GPIO12
- T6: GPIO14
- T7: GPIO27
- T8: GPIO33
- T9: GPIO32
Wichtige Praxis-Hinweise zu Touch-Pins
- Überlappung mit Strapping-Pins: GPIO0, GPIO2, GPIO12 und GPIO15 sind sowohl Touch-Pins als auch Strapping-Pins. Wenn Sie diese als Touch-Tasten verwenden, muss die Hardware so ausgelegt sein, dass sie beim Booten keine falschen Pegel erzwingt. Orientieren Sie sich an den Boot-Regeln in der Boot-Mode-Dokumentation.
- Störanfälligkeit: Touch-Messung reagiert auf Layout, Masseführung, Kabel, Feuchtigkeit und Nähe zu Netzteilen/Relais. Kurze Leitungen, saubere Masseflächen und Abschirmung helfen.
- Kalibrierung ist normal: Touch-Werte sind nicht „absolut“. Sie brauchen Schwellwerte, die Sie im realen Gehäuse und bei realer Montage festlegen.
- Wake-up aus Deep Sleep: Touch eignet sich gut als Aufweckquelle, wenn Sie batteriebetriebene Geräte bauen.
ADC beim ESP32: ADC1 vs. ADC2 und warum das so wichtig ist
Der ESP32 hat zwei ADC-Einheiten (häufig als ADC1 und ADC2 bezeichnet). Beide können analoge Spannungen messen, aber im IoT-Alltag zählt ein entscheidender Unterschied: ADC2 ist oft eingeschränkt, sobald WLAN aktiv ist (je nach Framework/Timing), weil interne Ressourcen geteilt werden. Deshalb ist es gängige Best Practice, für stabile Analogmessungen in WLAN-Projekten möglichst ADC1-Pins zu verwenden.
Die offizielle ESP-IDF-Dokumentation erläutert ADC-Funktionen und weist auch auf interne Abhängigkeiten hin, z. B. beim Hall-Sensor und bei belegten Kanälen: ADC (ESP32) – ESP-IDF Programming Guide.
ADC1: Typische GPIOs und Vorteile
ADC1 ist im Alltag meist die „sicherere“ Wahl, insbesondere wenn Ihr ESP32 parallel WLAN nutzt. Typische ADC1-GPIOs beim klassischen ESP32 sind:
- GPIO36 (ADC1_CH0)
- GPIO37 (ADC1_CH1, nicht auf jedem Board herausgeführt)
- GPIO38 (ADC1_CH2, nicht auf jedem Board herausgeführt)
- GPIO39 (ADC1_CH3)
- GPIO32 (ADC1_CH4)
- GPIO33 (ADC1_CH5)
- GPIO34 (ADC1_CH6, input-only)
- GPIO35 (ADC1_CH7, input-only)
Beachten Sie: GPIO34–GPIO39 sind Eingänge. Das passt gut zu Analogmessungen, aber Sie dürfen dort keine Ausgänge erwarten und keine internen Pull-ups nutzen.
ADC2: Typische GPIOs und WLAN-Konflikt in der Praxis
ADC2 ist beim klassischen ESP32 typischerweise auf folgenden GPIOs verfügbar:
- GPIO4 (ADC2_CH0)
- GPIO0 (ADC2_CH1)
- GPIO2 (ADC2_CH2)
- GPIO15 (ADC2_CH3)
- GPIO13 (ADC2_CH4)
- GPIO12 (ADC2_CH5)
- GPIO14 (ADC2_CH6)
- GPIO27 (ADC2_CH7)
- GPIO25 (ADC2_CH8)
- GPIO26 (ADC2_CH9)
Viele dieser Pins sind gleichzeitig Touch-Pins oder Strapping-Pins. Das ist der Grund, warum Analogmessung „irgendwie“ funktioniert, aber in echten WLAN-Szenarien instabil wird oder beim Boot Probleme macht. Wenn Ihr Projekt WLAN dauerhaft nutzt (Webserver, MQTT, Cloud), planen Sie Analogmessungen bevorzugt über ADC1.
ADC-Genauigkeit: Warum Analogwerte „springen“ und wie Sie es besser machen
Ein verbreiteter Irrtum ist, dass ADC-Werte beim ESP32 wie bei einem präzisen Messgerät stabil und linear sind. In der Praxis beeinflussen mehrere Faktoren die Messqualität: Eingangswiderstand, Störsignale, Spannungsversorgung, Leiterbahnen, Abtastrate und die gewählte Dämpfung (Attenuation). Der ESP32 ist für IoT-Sensorik sehr gut geeignet, aber Sie sollten die Messung bewusst „engineering-tauglich“ aufbauen.
Spannungsteiler korrekt dimensionieren
Wenn Sie höhere Spannungen messen (z. B. Batterien), nutzen Sie einen Spannungsteiler. Die Ausgangsspannung am ADC-Pin ist:
Wählen Sie R1 und R2 so, dass Vout den ADC-Eingangsbereich nicht überschreitet und der Teiler nicht zu hochohmig ist. Zu hohe Widerstände machen die Messung anfälliger für Rauschen und Abtastfehler. Ein praxisnaher Einstieg in ADC-Messungen (inklusive analogRead-Beispiele) findet sich in vielen Lernressourcen, etwa hier: ESP32 ADC – Voltage Measuring Example.
Typische Maßnahmen für stabilere Analogmessungen
- ADC1 bevorzugen, wenn WLAN aktiv ist.
- Mehrfach messen und mitteln (z. B. 16–64 Samples), um Rauschen zu reduzieren.
- RC-Filter am Eingang (kleiner Kondensator gegen GND), wenn das Signal stark rauscht.
- Saubere Versorgung: Instabile 3,3-V-Schienen führen zu instabilen ADC-Werten.
- GND-Führung beachten: Analoge Quellen und schaltende Lasten (Relais, Motoren) räumlich trennen.
GPIO-Praxis: Pull-ups, Pull-downs, Open-Drain und Pegel
Der ESP32 arbeitet typischerweise mit 3,3-V-Logik. Viele Sensoren sind 3,3-V-kompatibel, aber bei 5-V-Modulen (z. B. manche I²C-Backpacks, alte Relaisboards) brauchen Sie Pegelwandlung oder geeignete Boards. Auch wichtig: Interne Pull-up/Pull-downs sind praktisch, aber nicht bei allen Pins verfügbar (z. B. nicht bei GPIO34–GPIO39). Für zuverlässige Taster- und Bussignale sind externe Widerstände oft die robustere Lösung.
Typische Verdrahtungsregeln für stabile GPIO-Schaltungen
- Taster: externer Pull-up/Pull-down, kurze Leitung, ggf. Entprellung (Hardware oder Software).
- I²C: Pull-ups sind Pflicht (typisch 2,2–10 kΩ, abhängig von Buslänge und Anzahl Teilnehmer).
- Relais/MOSFET: Freilaufdiode bei Spulen, separate Versorgung für Lasten, Masse sternförmig führen.
- Input-only Pins nur als Sensor-/Tastereingänge, nie als LED/Relais-Ausgang planen.
Überlappungen verstehen: Touch, ADC, Strapping – und warum Pinwahl Planungssache ist
Der ESP32 ist so leistungsfähig, weil viele Funktionen überlappen. Genau das erfordert Planung. Ein typischer Konflikt sieht so aus: Sie wählen GPIO0 als Touch-Taste (T1) und gleichzeitig als ADC2-Eingang – dann wundern Sie sich, warum der ESP32 nicht mehr zuverlässig bootet oder warum die Messung mit aktiviertem WLAN nicht funktioniert. Die Lösung ist nicht „mehr Code“, sondern eine sauberere Pinstrategie.
Bewährte Pinstrategie für Einsteiger und solide Projekte
- Für Analogmessungen: möglichst ADC1-Pins wählen (z. B. GPIO32–GPIO35, GPIO36, GPIO39).
- Für Touch-Tasten: bevorzugt Touch-Pins, die keine Strapping-Pins sind (z. B. GPIO27, GPIO32, GPIO33), sofern Ihr Board diese sauber herausführt.
- Strapping-Pins nur mit Bedacht verwenden (GPIO0/2/12/15/5), insbesondere wenn externe Module beim Boot definierte Pegel anlegen könnten.
- Flash-Pins meiden (GPIO6–GPIO11), auch wenn sie „verfügbar“ wirken.
Pinbelegung auf beliebten ESP32-Boards: Was sich in der Praxis unterscheidet
Viele Anleitungen zeigen einen idealisierten Chip-Pinout. In der Realität hängt viel vom Board ab: Manche DevKits führen GPIO37/38 gar nicht heraus, manche Boards haben zusätzliche Komponenten (RGB-LED, USB-UART, Auto-Reset-Schaltung), und manche nutzen bestimmte Pins bereits intern. Wenn Sie mit einem ESP32 DevKit V1 arbeiten, kann eine Board-spezifische Pinout-Grafik helfen, die physischen Header-Pins korrekt zuzuordnen, etwa: ESP32 DevKit V1 Pinout. Für die technische Grundlage bleiben aber immer Datenblatt und offizielle Peripherie-Dokumentation die beste Referenz.
Häufige Fehlerbilder und die passende Pin-Ursache
- ESP32 startet nicht mehr oder bleibt im Bootloader: Strapping-Pin (z. B. GPIO0) wird durch externe Schaltung beim Reset auf LOW gezogen; siehe Boot Mode Selection.
- ADC-Werte sind mit WLAN unbrauchbar: Messung läuft auf ADC2 statt ADC1; ADC1 bevorzugen und ADC2-Kollisionen vermeiden.
- Taster reagiert zufällig: Eingang „floatet“, weil interne Pull-ups fehlen (häufig bei GPIO34–GPIO39); externe Widerstände setzen.
- Touch-Taste löst ohne Berührung aus: lange Leitungen, schlechte Masseführung, Störungen durch Relais/Netzteile; Layout und Schwellwerte optimieren.
- Ein Pin verhält sich „komisch“: Pin wird vom Board intern genutzt (LED, Flash, USB-UART) oder ist ein Spezialpin (Strapping/Input-only).
Weiterführende, verlässliche Referenzen zur ESP32 Pinbelegung
- ESP32 Datasheet (Datenblatt als PDF)
- Boot Mode Selection & Strapping-Pins (esptool)
- Kapazitiver Touch-Sensor (ESP-IDF)
- ADC-Referenz (ESP-IDF)
- GPIO-Pinout-Referenz mit Praxis-Hinweisen
IoT-PCB-Design, Mikrocontroller-Programmierung & Firmware-Entwicklung
PCB Design • Arduino • Embedded Systems • Firmware
Ich biete professionelle Entwicklung von IoT-Hardware, einschließlich PCB-Design, Arduino- und Mikrocontroller-Programmierung sowie Firmware-Entwicklung. Die Lösungen werden zuverlässig, effizient und anwendungsorientiert umgesetzt – von der Konzeptphase bis zum funktionsfähigen Prototyp.
Diese Dienstleistung richtet sich an Unternehmen, Start-ups, Entwickler und Produktteams, die maßgeschneiderte Embedded- und IoT-Lösungen benötigen. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
IoT-PCB-Design & Schaltplanerstellung
-
Leiterplattenlayout (mehrlagig, produktionstauglich)
-
Arduino- & Mikrocontroller-Programmierung (z. B. ESP32, STM32, ATmega)
-
Firmware-Entwicklung für Embedded Systems
-
Sensor- & Aktor-Integration
-
Kommunikation: Wi-Fi, Bluetooth, MQTT, I²C, SPI, UART
-
Optimierung für Leistung, Stabilität & Energieeffizienz
Lieferumfang:
-
Schaltpläne & PCB-Layouts
-
Gerber- & Produktionsdaten
-
Quellcode & Firmware
-
Dokumentation & Support zur Integration
Arbeitsweise:Strukturiert • Zuverlässig • Hardware-nah • Produktorientiert
CTA:
Planen Sie ein IoT- oder Embedded-System-Projekt?
Kontaktieren Sie mich gerne für eine technische Abstimmung oder ein unverbindliches Angebot. Finden Sie mich auf Fiverr.

