Die ESP8266 GPIO Schnittstellen

Um eine Vielzahl von Schnittstellen auf kleinstem Raum bereitzustellen werden beim ESP8266EX die Schnittstellen durch Multiplexen mehrfach belegt. Dabei werden ein und dem selben Pin mehrere Funktionen zugewiesen. Die eigentliche Schnittstellen Funktion wird dann durch Anpassung der Firmware (Betriebssystem) zugewiesen. Das vorgenannte Multiplexen der ESP8266 Schnittstellen spiegelt sich gerade bei den GPIO Schnittstellen wieder. GPIO steht bezeichnend für General Purpose Input / Output zu deutsch, eine allgemeine Schnittstelle eines integrierten Schaltkreis. Dem entsprechend sind die ESP8266 GPIO Schnittstellen frei programmierbar, bzw. verwendbar. Die GPIO Schnittstellen eignen sich dabei sowohl für die Benutzereingabe als auch für das Interpretieren angeschlossener Technik. Im Eigentlichen unterscheidet man hier zwischen High und Low Level, wobei High Level als positiv – verbunden mit Plus – und Low Level negativ führend – verbunden mit Minus – bezeichnet.

Richtige Verwendung der GPIO Schnittstellen

Zwar verarbeitet der ESP8266EX Eingangsspannungen im Bereich von 3,0 bis 3,6 Volt dies bezieht sich allerdings lediglich auf die eigentliche Spannungsversorgung des ESP8266EX (Pin 1 VDDA). Nicht zuletzt durch das Multiplexen, die Mehrfachbelegung liegen spannungssensible Schaltkreise hinter dem jeweiligen GPIO. Insofern der jeweilige Pin als GPIO als universeller Input Output verwendet wird sollte folgender Grundsatz stets beachtet werden:

Um etwaige Schäden durch Spannungsspitzen oder Kriechstrom angeschlossener Geräte oder Sensoren zu vermeiden, sollte stets ein Vorwiderstand mit beispielsweise  10 KΩ vorgeschaltet werden.

Nachfolgend die GPIO Übersicht zum ESP8266EX (nicht zu verwechseln mit der Pinbelegung eines ESP8266 WLan Modul). 

PINBELEGUNG DES ESP8266EX

PIN Bezeichnung Standard Multplexing
8 GPIO17 Low / High Level Ruhezustand / Wake Up
9 GPIO14 Low / High Level HSPI_CLK
10 GPIO12 Low / High Level HSPI_MISO
12 GPIO13 Low / High Level HSPI_MOSI UART0_CTS
13 GPIO15 Low / High Level HSPI_CS UART0_RTS
14 GPIO2 Low / High Level High Flash Modus
15 GPIO0 Low / High Level Low Flash Modus SPI_CS
16 GPIO4 Low / High Level
18 GPIO9 Low / High Level SPIHD HSPIHD
19 GPIO10 Low / High Level SPIWP HSPIWP
20 GPIO11 Low / High Level SPI_CS0
21 GPIO6 Low / High Level SPI_CLK
22 GPIO7 Low / High Level SPI_MISO
23 GPIO8 Low / High Level SPI_MOSI
24 GPIO5 Low / High Level
25 GPIO3 Low / High Level Flash Modus UART TX
26 GPIO1 Low / High Level Flash Modus UART RX SPI_CS1

Für eine bessere Übersichtlichkeit erfolgt das in obiger Tabelle dargestellten Multiplexing in stark verkürzter Form. Die Tabelle gibt lediglich einen kleinen Auszug der tatsächlich verfügbaren Schnittstellen wieder.

Vorgenannte Tabelle macht offensichtlich das hinter jedem ESP8266 Modul stets die gleiche Funktionalität des ESP8266EX steckt, lediglich die Anzahl der auf das ESP82666 WLan Modul ausgeführten Pins unterscheidet sich. Ganz gleich ob ein ESP-01 mit seinen 8 Pins oder ein ESP-12E mit seinen 22 Pins, bei beiden steckt stets der gleiche ESP8266EX Mikrocontroller dahinter.