Was ist ein GPIO? Mikrocontroller-Grundlagen

Was ist ein GPIO? Mikrocontroller-Grundlagen einfach erklärt

Ob Arduino, ESP32 oder STM32 – sie alle haben eines gemeinsam: GPIOs. Aber was bedeutet GPIO überhaupt?
Und wie nutzt man diese Pins sinnvoll?

GPIO – das steht für General Purpose Input/Output

Ein GPIO ist ein universell nutzbarer Ein-/Ausgangspin. Du kannst ihn softwareseitig als Eingang oder Ausgang konfigurieren – und damit Signale lesen oder steuern.

Typische Anwendungen:

  • Taster einlesen

  • LEDs oder Relais schalten

  • Sensoren oder Displays anschließen

  • Daten über I2C oder SPI austauschen

GPIOs machen Mikrocontroller interaktiv – sie verbinden deine Schaltung mit der Außenwelt.

GPIO als Eingang (Input)

Ein GPIO liest eine Spannung:

  • High (z. B. 3.3 V oder 5 V)

  • Low (0 V, also Masse)

Ein Taster kann den Eingang z. B. auf GND ziehen. Damit der Pegel bei offenem Taster stabil bleibt, brauchst du einen Pull-Up- oder Pull-Down-Widerstand.

Besonderheit beim STM32:

Viele Pins können als Interrupt-Eingänge genutzt werden. So reagiert der Mikrocontroller sofort auf Signaländerungen, statt ständig den Pin abzufragen (Polling).
Das spart Rechenleistung und Energie – z. B. bei Batteriebetrieb.

GPIO als Ausgang (Output)

Im Ausgangsmodus kannst du z. B. eine LED oder ein Relais schalten. Beispiel (Arduino):


pinMode(13, OUTPUT);
digitalWrite(13, HIGH); // LED an

Beachte: GPIOs sind oft nur für kleine Ströme ausgelegt (z. B. 20 mA bei Arduino). Für größere Lasten → Transistor oder MOSFET zwischenschalten!

Unterschiede zwischen Arduino, ESP32 und STM32

FeatureArduino UNOESP32STM32 (z. B. Blue Pill)
Pegelspannung5 V3.3 Vmeist 3.3 V
Pull-Up internJaJaJa
Pull-Down internNeinTeilsJa
PWM-FähigkeitWenige PinsViele Pins, flexibelViele Pins, abhängig vom Timer
InterruptsBegrenzte PinsViele Pins möglichFast jeder Pin möglich

Für den Beitrag zum Thema Pull Down Widerstände klicke Hier.

Für den Beitrag zum Thema Pull Up Widerstände klicke Hier.

GPIO für serielle Schnittstellen

GPIOs können oft umfunktioniert werden – z. B. für:

  • I2C (z. B. Sensoren, Displays)

  • SPI (schnelle Datenübertragung)

  • UART (Serielle Kommunikation)

  • PWM (für Dimmung, Motorsteuerung)

Beim STM32 ist die Pinbelegung oft sehr flexibel. Über sogenannte Alternate Functions kann ein GPIO-Pin viele verschiedene Funktionen übernehmen

Fazit

Ein GPIO ist das Fundament jedes Mikrocontroller-Projekts.
Ob LED, Taster, Sensor oder Display – GPIOs sind deine Verbindung zur Schaltung.
Je nach Plattform gibt es Unterschiede, aber das Grundprinzip bleibt gleich: Einfach, flexibel und mächtig.