$ ./tools/esp-pins/
ESP-Pin-Checker
Welcher Pin taugt wofür? Belegung für ESP32, ESP32-C3, ESP32-S3 und D1 mini prüfen — mit Warnung vor Strapping-Pins und ADC2 und fertigem ESPHome-Schnipsel.
// esp32 devkit (wroom-32)
Gilt für die verbreiteten 30- und 38-poligen DevKit-Boards mit ESP32-WROOM-32. GPIO0 und GPIO6–11 sind nur auf der 38-poligen Variante herausgeführt.
| Pin | Funktion | Hinweis | |
|---|---|---|---|
| GPIO0 bedingt | bedingt | Strapping-Pin, BOOT-Taster Analog: ADC2 (nicht mit WLAN) | |
| GPIO1 TX0 bedingt | bedingt | UART0 TX: Log-Ausgabe und Flashen | |
| GPIO2 D2 bedingt | bedingt | Strapping-Pin, oft Onboard-LED Analog: ADC2 (nicht mit WLAN) | |
| GPIO3 RX0 bedingt | bedingt | UART0 RX: Flashen; beim Start HIGH | |
| GPIO4 D4 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO5 D5 bedingt | bedingt | Strapping-Pin, Signal beim Start; SPI SS (Standard) | |
| GPIO6 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO7 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO8 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO9 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO10 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO11 tabu | tabu | Mit dem Flash-Speicher verbunden — nicht verwenden. | |
| GPIO12 D12 bedingt | bedingt | Strapping-Pin, muss beim Start LOW sein Analog: ADC2 (nicht mit WLAN) | |
| GPIO13 D13 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO14 D14 bedingt | bedingt | Gibt beim Start kurz ein Signal aus Analog: ADC2 (nicht mit WLAN) | |
| GPIO15 D15 bedingt | bedingt | Strapping-Pin, Signal beim Start Analog: ADC2 (nicht mit WLAN) | |
| GPIO16 RX2 frei | frei | Auf WROVER-Modulen für PSRAM belegt | |
| GPIO17 TX2 frei | frei | Auf WROVER-Modulen für PSRAM belegt | |
| GPIO18 D18 frei | frei | SPI SCK (Standard) | |
| GPIO19 D19 frei | frei | SPI MISO (Standard) | |
| GPIO21 D21 frei | frei | I²C SDA (Standard) | |
| GPIO22 D22 frei | frei | I²C SCL (Standard) | |
| GPIO23 D23 frei | frei | SPI MOSI (Standard) | |
| GPIO25 D25 frei | frei | DAC1 Analog: ADC2 (nicht mit WLAN) | |
| GPIO26 D26 frei | frei | DAC2 Analog: ADC2 (nicht mit WLAN) | |
| GPIO27 D27 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO32 D32 frei | frei | Analog: ADC1 | |
| GPIO33 D33 frei | frei | Analog: ADC1 | |
| GPIO34 D34 bedingt | bedingt | Nur Eingang, kein Pull-up Analog: ADC1 | |
| GPIO35 D35 bedingt | bedingt | Nur Eingang, kein Pull-up Analog: ADC1 | |
| GPIO36 VP bedingt | bedingt | Nur Eingang, kein Pull-up Analog: ADC1 | |
| GPIO39 VN bedingt | bedingt | Nur Eingang, kein Pull-up Analog: ADC1 |
// esp32-c3 supermini
Log-Ausgabe und Flashen laufen beim SuperMini über den eingebauten USB-Anschluss des Chips (GPIO18/19, nicht herausgeführt).
| Pin | Funktion | Hinweis | |
|---|---|---|---|
| GPIO0 frei | frei | Analog: ADC1 | |
| GPIO1 frei | frei | Analog: ADC1 | |
| GPIO2 bedingt | bedingt | Strapping-Pin, beim Start nicht auf LOW ziehen Analog: ADC1 | |
| GPIO3 frei | frei | Analog: ADC1 | |
| GPIO4 frei | frei | SPI SCK (Standard) Analog: ADC1 | |
| GPIO5 frei | frei | SPI MISO (Standard); als Analog-Eingang nicht nutzbar (ADC2 wird beim C3 nicht unterstützt) | |
| GPIO6 frei | frei | SPI MOSI (Standard) | |
| GPIO7 frei | frei | SPI SS (Standard) | |
| GPIO8 bedingt | bedingt | Strapping-Pin, Onboard-LED, I²C SDA (Standard) | |
| GPIO9 bedingt | bedingt | Strapping-Pin, BOOT-Taster, I²C SCL (Standard) | |
| GPIO10 frei | frei | ||
| GPIO20 RX frei | frei | UART0 RX (frei, solange das Log über USB läuft) | |
| GPIO21 TX bedingt | bedingt | UART0 TX: gibt beim Start Meldungen aus |
// esp32-s3 devkitc-1
Gilt für DevKitC-1 mit ESP32-S3-WROOM-1. Auf Modulen mit Oktal-Speicher (z. B. N8R8, N16R8) sind GPIO35–37 intern belegt.
| Pin | Funktion | Hinweis | |
|---|---|---|---|
| GPIO0 bedingt | bedingt | Strapping-Pin, BOOT-Taster | |
| GPIO1 frei | frei | Analog: ADC1 | |
| GPIO2 frei | frei | Analog: ADC1 | |
| GPIO3 bedingt | bedingt | Strapping-Pin (JTAG-Auswahl) Analog: ADC1 | |
| GPIO4 frei | frei | Analog: ADC1 | |
| GPIO5 frei | frei | Analog: ADC1 | |
| GPIO6 frei | frei | Analog: ADC1 | |
| GPIO7 frei | frei | Analog: ADC1 | |
| GPIO8 frei | frei | I²C SDA (Standard) Analog: ADC1 | |
| GPIO9 frei | frei | I²C SCL (Standard) Analog: ADC1 | |
| GPIO10 frei | frei | SPI SS (Standard) Analog: ADC1 | |
| GPIO11 frei | frei | SPI MOSI (Standard) Analog: ADC2 (nicht mit WLAN) | |
| GPIO12 frei | frei | SPI SCK (Standard) Analog: ADC2 (nicht mit WLAN) | |
| GPIO13 frei | frei | SPI MISO (Standard) Analog: ADC2 (nicht mit WLAN) | |
| GPIO14 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO15 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO16 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO17 frei | frei | Analog: ADC2 (nicht mit WLAN) | |
| GPIO18 bedingt | bedingt | Kurzes HIGH-Signal beim Einschalten Analog: ADC2 (nicht mit WLAN) | |
| GPIO19 bedingt | bedingt | USB D− (USB-Buchse des Chips); kurzes HIGH-Signal beim Einschalten Analog: ADC2 (nicht mit WLAN) | |
| GPIO20 bedingt | bedingt | USB D+ (USB-Buchse des Chips); kurzes HIGH-Signal beim Einschalten Analog: ADC2 (nicht mit WLAN) | |
| GPIO21 frei | frei | ||
| GPIO35 bedingt | bedingt | Bei Oktal-Speicher (N8R8, N16R8) intern belegt | |
| GPIO36 bedingt | bedingt | Bei Oktal-Speicher (N8R8, N16R8) intern belegt | |
| GPIO37 bedingt | bedingt | Bei Oktal-Speicher (N8R8, N16R8) intern belegt | |
| GPIO38 frei | frei | RGB-LED auf DevKitC-1 v1.1 | |
| GPIO39 frei | frei | ||
| GPIO40 frei | frei | ||
| GPIO41 frei | frei | ||
| GPIO42 frei | frei | ||
| GPIO43 TX bedingt | bedingt | UART0 TX: Log-Ausgabe und Flashen | |
| GPIO44 RX bedingt | bedingt | UART0 RX: Flashen | |
| GPIO45 bedingt | bedingt | Strapping-Pin, muss beim Start LOW sein | |
| GPIO46 bedingt | bedingt | Strapping-Pin (nur fürs Flashen) | |
| GPIO47 frei | frei | ||
| GPIO48 frei | frei | RGB-LED auf DevKitC-1 v1.0 |
// wemos d1 mini (esp8266)
Der ESP8266 hat nur einen Analog-Eingang (A0). Auf dem D1 mini misst er über einen Spannungsteiler bis etwa 3,2 V.
| Pin | Funktion | Hinweis | |
|---|---|---|---|
| GPIO16 D0 bedingt | bedingt | Kein I²C, kein 1-Wire, kein Interrupt, kein Pull-up; weckt aus dem Deep Sleep (mit RST verbinden); beim Start HIGH | |
| GPIO5 D1 frei | frei | I²C SCL (Standard) | |
| GPIO4 D2 frei | frei | I²C SDA (Standard) | |
| GPIO0 D3 bedingt | bedingt | Strapping-Pin, muss beim Start HIGH sein | |
| GPIO2 D4 bedingt | bedingt | Strapping-Pin, Onboard-LED, Signal beim Start | |
| GPIO14 D5 frei | frei | SPI SCK | |
| GPIO12 D6 frei | frei | SPI MISO | |
| GPIO13 D7 frei | frei | SPI MOSI | |
| GPIO15 D8 bedingt | bedingt | Strapping-Pin, muss beim Start LOW sein; SPI SS | |
| GPIO3 RX bedingt | bedingt | UART0 RX: Flashen; beim Start HIGH | |
| GPIO1 TX bedingt | bedingt | UART0 TX: Log-Ausgabe und Flashen | |
| A0 frei | frei | Einziger Analog-Eingang (0–3,2 V) Analog: ADC1 |
// esphome
Angaben nach den Datenblättern von Espressif und den Pinbelegungen der Boards, ohne Gewähr. Nachbauten weichen manchmal ab — im Zweifel den Aufdruck und den Schaltplan deines Boards prüfen. Alles läuft in deinem Browser.