Raspberry Pi Pinout – Interaktives GPIO Board

Zuletzt aktualisiert: November 2026

Unser interaktives Raspberry Pi GPIO Pinout zeigt alle 40 GPIO-Pins auf einen Blick – klicke auf einen Pin für BCM-Nummer, Funktion und Codebeispiel. Das Layout ist bei Pi 3, Pi 4, Pi 5, Pi 400 und Zero 2 W identisch. Offizielle Referenz: raspberrypi.com/documentation/computers/raspberry-pi.html

👉 Klicke auf einen Pin, USB, Ethernet, WLAN, Bluetooth oder den Ein/Aus-Schalter für Details.

Nummerierung / Namensschemas der GPIO Pins

Die Nummerierung der GPIOs ist uneinheitlich und kann verwirrend sein – auch ich muss in eigenen Beiträgen immer wieder nachschauen, welche Angabe gemeint ist. Am einfachsten ist die physikalische Nummerierung, da sie unter allen Raspberry-Pi-Modellen gleich ist.

Die drei gängigen Nummerierungen

  • Physikalische Nummerierung (Board) – Pin 1 ist der Pin mit dem quadratischen Lötpad auf der Rückseite des Raspberry Pi. Zählung von oben links nach unten rechts.
  • BCM-Nummerierung – Bezeichnet die GPIO-Pins nach der Broadcom-SoC-Pinbelegung (z. B. GPIO2, GPIO3). Wird von Python-Bibliotheken wie RPi.GPIO und gpiozero verwendet.
  • WiringPi-Nummerierung – Eigenes Schema der WiringPi-Bibliothek, heute kaum noch relevant.

Empfehlung: Verwendet die BCM-Nummerierung – sie ist der Standard in aktuellen Tutorials und Bibliotheken.

Wichtig: Raspberry Pi 5

Beim Raspberry Pi 5 werden alle GPIO-Pins über den neuen RP1-I/O-Coprozessor gesteuert. Das physikalische 40-Pin-Layout ist identisch, das ursprüngliche RPi.GPIO läuft dort aber nicht. Alte Skripte mit import RPi.GPIO laufen meist über rpi-lgpio weiter, das Raspberry Pi OS seit Oktober 2024 mitbringt (auf älteren Installationen: sudo apt install python3-rpi-lgpio). Für neue Projekte nehmt ihr gpiozero oder lgpio. Auch beim Pi 5 gilt: Alle GPIO-Pins arbeiten mit 3,3-V-Logik und sind nicht 5V-tolerant.

USB-Ports

Die Anzahl und Geschwindigkeit der USB-Ports hängt vom Raspberry-Pi-Modell ab:

ModellUSB-Ports
Raspberry Pi 52× USB 3.0 (5 Gbit/s) + 2× USB 2.0
Raspberry Pi 4 Model B2× USB 3.0 (5 Gbit/s) + 2× USB 2.0
Raspberry Pi 4002× USB 3.0 + 1× USB 2.0
Raspberry Pi 3 Model B+4× USB 2.0
Raspberry Pi Zero 2 W1× Micro-USB OTG (USB 2.0)

Bei älteren Modellen (Pi 1–3) teilen sich USB-Controller und Ethernet-Port denselben Bus, was den Durchsatz begrenzt. Ab dem Pi 4 sind USB 3.0 und Gigabit-Ethernet vollständig getrennt.

Pro USB-Port sind Geräte mit bis zu 500 mA (USB 2.0) bzw. 900 mA (USB 3.0) vorgesehen. Für Festplatten ohne eigene Stromversorgung empfiehlt sich ein aktiver USB-Hub.

Ethernet-Port

Der Ethernet-Port ist modellabhängig:

ModellEthernet
Raspberry Pi 5Gigabit Ethernet (echter Gbit, PoE+ mit HAT)
Raspberry Pi 4 Model BEchter Gigabit Ethernet
Raspberry Pi 3 Model B+Gigabit Ethernet über USB 2.0 (max. ~300 Mbit/s)
Raspberry Pi 3 Model B100 Mbit/s Fast Ethernet
Raspberry Pi Zero 2 WKein Ethernet (nur WLAN)

Ab dem Raspberry Pi 4 ist der Ethernet-Controller direkt an den PCIe-Bus angebunden – damit werden echte Gigabit-Geschwindigkeiten erreicht. Network Boot (Booten ohne SD-Karte über Netzwerk) ist ab Pi 3 möglich und bei Pi 4/5 standardmäßig aktiviert.

WLAN-Info

ModellWLANBluetooth
Raspberry Pi 5Dual-Band 802.11ac (2,4 + 5 GHz)Bluetooth 5.0 / BLE
Raspberry Pi 4 Model BDual-Band 802.11ac (2,4 + 5 GHz)Bluetooth 5.0 / BLE
Raspberry Pi 3 Model B+Dual-Band 802.11ac (2,4 + 5 GHz)Bluetooth 4.2 / BLE
Raspberry Pi 3 Model B2,4 GHz 802.11nBluetooth 4.1
Raspberry Pi Zero 2 W2,4 GHz 802.11 b/g/nBluetooth 4.2 / BLE
Raspberry Pi Zero W2,4 GHz 802.11 b/g/nBluetooth 4.1

Tipp: Bei WLAN-Nutzung auf älteren Modellen (Pi 3) Bluetooth deaktivieren, da beide Module den gleichen Chip nutzen und sich gegenseitig beeinflussen können. Ab Pi 4 ist das kein Problem mehr.

Die Einrichtung des WLANs am Raspberry Pi ist in diesem Artikel beschrieben.

Ein/Aus-Schalter (Power-Button)

Der Raspberry Pi 5 ist der erste Raspberry Pi mit eingebautem Ein/Aus-Schalter. Der kleine Taster sitzt an der Platinenkante neben dem USB-C-Anschluss und macht das Ziehen des Netzteils überflüssig.

So funktioniert der Power-Button am Pi 5

  • Pi ist aus: Kurz drücken – der Pi startet.
  • Pi läuft (Desktop): 1× kurz drücken öffnet das Herunterfahren-Menü, 2× kurz drücken fährt das System direkt sauber herunter.
  • Ohne Desktop (Lite/Headless): 1× kurz drücken löst einen sauberen Shutdown aus.
  • Gedrückt halten: Hartes Ausschalten – nur für den Notfall, dabei droht Datenverlust.

Nach dem Herunterfahren zieht der Pi 5 weiterhin gut 1 Watt. Mit POWER_OFF_ON_HALT=1 in der EEPROM-Konfiguration (sudo rpi-eeprom-config -e) sinkt der Standby-Verbrauch auf nahezu null – der Power-Button weckt den Pi trotzdem zuverlässig auf.

Externer Taster über den J2-Anschluss

Direkt neben dem Batterie-Anschluss der Echtzeituhr hat der Pi 5 zwei kleine Lötpads (J2). Ein daran angeschlossener Taster verhält sich exakt wie der eingebaute Power-Button – praktisch für Gehäuse, bei denen der Taster auf der Platine schwer erreichbar ist.

Ältere Modelle: Ein/Aus-Taster über GPIO3 nachrüsten

Pi 4 und ältere Modelle haben keinen Power-Button. Mit einem Taster zwischen Pin 5 (GPIO3) und Pin 6 (Ground) lässt sich die Funktion aber nachrüsten:

  • Aufwecken: Im heruntergefahrenen Zustand (Halt) startet ein kurzes Verbinden von GPIO3 mit Ground den Pi – ganz ohne Konfiguration.
  • Herunterfahren: Mit dtoverlay=gpio-shutdown in der config.txt löst derselbe Taster im laufenden Betrieb einen sauberen Shutdown aus.

Achtung: GPIO3 ist gleichzeitig die I2C-Taktleitung (SCL) – der Trick funktioniert nicht, wenn ihr I2C-Geräte an Pin 3/5 betreibt. Beim Raspberry Pi 400 und Pi 500 übernimmt übrigens die Tastatur die Power-Funktion.

Bluetooth

Seit dem Raspberry Pi 3 ist Bluetooth inklusive Bluetooth Low Energy (BLE) fest an Bord – WLAN und Bluetooth teilen sich dabei einen gemeinsamen Funkchip samt Antenne.

ModellBluetooth
Raspberry Pi 5 / Pi 500Bluetooth 5.0 / BLE
Raspberry Pi 4 Model B / Pi 400Bluetooth 5.0 / BLE
Raspberry Pi 3 Model B+Bluetooth 4.2 / BLE
Raspberry Pi 3 Model BBluetooth 4.1
Raspberry Pi Zero 2 WBluetooth 4.2 / BLE
Raspberry Pi Zero WBluetooth 4.1

Bluetooth und die serielle Schnittstelle

Auf Pi 3 und Pi 4 belegt Bluetooth standardmäßig die schnelle Hardware-UART (PL011) – die serielle Schnittstelle an den Pins 8/10 läuft dann nur über die langsamere Mini-UART. Wer die GPIO-UART stabil braucht (z. B. für GPS-Module), kann Bluetooth mit dtoverlay=disable-bt in der config.txt deaktivieren. Beim Raspberry Pi 5 besteht das Problem nicht mehr, da der RP1-Controller eigene UARTs bereitstellt.

Geräte koppelt ihr am einfachsten über das Bluetooth-Menü des Desktops oder im Terminal mit bluetoothctl. Die Einrichtung ist in diesem Artikel beschrieben.

Pin 1 – 3,3V Spannungsversorgung

Spannung: 3,3VTyp: VersorgungMax. Strom: 50mA gesamt

Der physikalische Pin 1 liefert eine konstante Spannung von 3,3V, gespeist vom internen Spannungsregler des Raspberry Pi. Die maximale Belastung pro Pin betraegt 16 mA. Werden mehrere 3,3V-Pins gleichzeitig genutzt, darf die Gesamtbelastung ueber alle 3,3V-GPIOs 50 mA nicht ueberschreiten. Zwillings-Pin mit gleicher Funktion: Pin 17. Den Pin 1 erkennt man immer am quadratischen Loetpad auf der Platinenrueckseite.

Typische Verwendung

  • Versorgung von 3,3V-Sensoren (BME280, DHT22, OLED-Displays)
  • Referenzspannung fuer Pegelwandler (3,3V auf 5V)
  • Versorgung von Mikrocontrollern (Arduino Pro Mini 3,3V)

Achtung: Zu hohe Stromabnahme kann die 3,3V-Schiene destabilisieren und den Pi zum Absturz bringen. Keine kurzschlussfeste Absicherung vorhanden.

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 2 – 5V Spannungsversorgung

Spannung: 5VTyp: VersorgungStrom: PSU-abhaengig

Der physikalische Pin 2 ist direkt mit der 5V-Versorgungsleitung des Raspberry Pi verbunden. Die Spannung kommt ungefiltert vom Netzteil. Zwillings-Pin: Pin 4.

Der verfuegbare Strom haengt vom Netzteil ab. Ein offizielles Raspberry Pi 5 Netzteil (27W USB-C) liefert bis zu 5A. Fuer angeschlossene Verbraucher sollte ein Reserve von mindestens 500 mA fuer den Pi selbst einkalkuliert werden.

Typische Verwendung

  • Versorgung von 5V-Geraeten (Luefter, 5V-Relais, Servo-Treiber)
  • Einspeisung einer externen 5V-Quelle (statt USB-Versorgung)
  • Versorgung von Pegelwandlern (5V-Seite)

Achtung: GPIO-Pins sind nur fuer 3,3V ausgelegt. Niemals 5V direkt an GPIO-Pins anlegen!

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 3 – BCM 2 (GPIO2) – I2C Bus 1 SDA (Datenleitung)

Phys. Pin: 3BCM: 2Typ: I2C SDABus: 1

Der physikalische Pin 3 (BCM GPIO2) ist die Datenleitung (SDA) des I2C-Bus 1. I2C (Inter-Integrated Circuit) ist ein 2-Draht-Seriellbus, bei dem Daten synchron zwischen einem Master (Raspberry Pi) und mehreren Slaves (Sensoren, Displays) uebertragen werden. Beide Leitungen benoetigen Pull-Up-Widerstaende (typisch 4,7 kOhm – viele Module haben diese bereits integriert).

I2C aktivieren: sudo raspi-config → Interfacing Options → I2C → Enable, dann neu starten.

Angeschlossene Geraete anzeigen:

i2cdetect -y 1

Python-Codebeispiel (smbus2)

import smbus2

bus = smbus2.SMBus(1)          # I2C-Bus 1
addr = 0x76                    # Beispiel: BME280

# Register lesen
value = bus.read_byte_data(addr, 0xD0)
print(f"Chip-ID: {value:#x}")
bus.close()

Typische Verwendung

  • Temperatur-/Luftdruck-Sensoren (BME280, BMP180, BMP280)
  • OLED-Displays (SSD1306)
  • Echtzeituhr-Module (DS3231)
  • A/D-Wandler (ADS1115)
  • GPIO-Expander (MCP23017)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSDA1SA3LCD_VSYNCAVEOUT_VSYNCAVEIN_VSYNC–
Pi 4, 400SDA1SA3LCD_VSYNCSPI3_MOSICTS2SDA3

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 2 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_CE3DPI_VSYNCCTS1SDA1IR_RX0SPI2_SIO0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 4 – 5V Spannungsversorgung

Spannung: 5VTyp: VersorgungStrom: PSU-abhaengig

Der physikalische Pin 4 ist direkt mit der 5V-Versorgungsleitung des Raspberry Pi verbunden. Die Spannung kommt ungefiltert vom Netzteil. Zwillings-Pin: Pin 2.

Der verfuegbare Strom haengt vom Netzteil ab. Ein offizielles Raspberry Pi 5 Netzteil (27W USB-C) liefert bis zu 5A. Fuer angeschlossene Verbraucher sollte ein Reserve von mindestens 500 mA fuer den Pi selbst einkalkuliert werden.

Typische Verwendung

  • Versorgung von 5V-Geraeten (Luefter, 5V-Relais, Servo-Treiber)
  • Einspeisung einer externen 5V-Quelle (statt USB-Versorgung)
  • Versorgung von Pegelwandlern (5V-Seite)

Achtung: GPIO-Pins sind nur fuer 3,3V ausgelegt. Niemals 5V direkt an GPIO-Pins anlegen!

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 5 – BCM 3 (GPIO3) – I2C Bus 1 SCL (Taktleitung)

Phys. Pin: 5BCM: 3Typ: I2C SCLBus: 1

Der physikalische Pin 5 (BCM GPIO3) ist die Taktleitung (SCL) des I2C-Bus 1. I2C (Inter-Integrated Circuit) ist ein 2-Draht-Seriellbus, bei dem Daten synchron zwischen einem Master (Raspberry Pi) und mehreren Slaves (Sensoren, Displays) uebertragen werden. Beide Leitungen benoetigen Pull-Up-Widerstaende (typisch 4,7 kOhm – viele Module haben diese bereits integriert).

I2C aktivieren: sudo raspi-config → Interfacing Options → I2C → Enable, dann neu starten.

Angeschlossene Geraete anzeigen:

i2cdetect -y 1

Python-Codebeispiel (smbus2)

import smbus2

bus = smbus2.SMBus(1)          # I2C-Bus 1
addr = 0x76                    # Beispiel: BME280

# Register lesen
value = bus.read_byte_data(addr, 0xD0)
print(f"Chip-ID: {value:#x}")
bus.close()

Typische Verwendung

  • Temperatur-/Luftdruck-Sensoren (BME280, BMP180, BMP280)
  • OLED-Displays (SSD1306)
  • Echtzeituhr-Module (DS3231)
  • A/D-Wandler (ADS1115)
  • GPIO-Expander (MCP23017)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSCL1SA2LCD_HSYNCAVEOUT_HSYNCAVEIN_HSYNC–
Pi 4, 400SCL1SA2LCD_HSYNCSPI3_SCLKRTS2SCL3

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 3 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_CE2DPI_HSYNCRTS1SCL1IR_TX0SPI2_SCLK

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 6 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 6 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 7 – BCM 4 (GPIO4) – GPCLK0 (General Purpose Clock)

Phys. Pin: 7BCM: 4Typ: GPIO / GPCLKFrequenz (Pi 1–4): bis ca. 125MHz

Der physikalische Pin 7 (BCM GPIO4) ist im Standardmodus ein freier GPIO. Im ALT0-Modus steht er als General Purpose Clock 0 (GPCLK0) zur Verfuegung und erzeugt ein Hardware-Taktsignal ohne CPU-Last. Beim Pi 1 bis 3 lässt sich die Frequenz ab ca. 4,7 kHz einstellen, beim Pi 4 ab ca. 13 kHz. Als Obergrenze nennt das Datenblatt ca. 125 MHz, an stark belasteten Pins weniger. Am Pi 5 erzeugt der RP1-Chip den Takt, GPCLK0 ist dort die Funktion a0.

Hinweis zu pigpio

Frühere Anleitungen erzeugen den Takt mit pigpio. Das läuft auf dem Raspberry Pi 5 nicht, und auf aktuellem Raspberry Pi OS gibt es den pigpio-Dienst nicht mehr als Paket.

Typische Verwendung

  • Taktsignal fuer externe ICs (Ethernet-Controller, Audiocodecs)
  • Frequenzgenerator / Testsignal
  • Synchronisation externer Schaltungen

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroGPCLK0SA1DPI_D0AVEOUT_VID0AVEIN_VID0ARM_TDI
Pi 4, 400GPCLK0SA1DPI_D0SPI4_CE0_NTXD3SDA3

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 4 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5GPCLK0DPI_D0TXD2SDA2RI0SPI3_CE0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 8 – BCM 14 (GPIO14) – UART TXD0 (Sendeleitung)

Phys. Pin: 8BCM: 14Typ: UART TXD0Pegel: 3,3V

Der physikalische Pin 8 (BCM GPIO14) ist die Sendeleitung (TXD0) der primaeren UART-Schnittstelle. UART (Universal Asynchronous Receiver Transmitter) uebertraegt Daten seriell ohne separates Taktsignal. Typische Baudrate: 115200 baud. Der Pegel betraegt 3,3V – fuer Verbindungen mit 5V-Systemen (Arduino) ist ein Pegelwandler noetig.

UART aktivieren: In /boot/firmware/config.txt (Pi 5) bzw. /boot/config.txt (Pi 4) am Ende hinzufuegen: enable_uart=1
In /boot/cmdline.txt den Eintrag console=serial0,115200 entfernen, damit die Linux-Konsole den Port nicht blockiert. Danach neu starten.

Python-Codebeispiel (pyserial)

import serial

ser = serial.Serial("/dev/serial0", baudrate=115200, timeout=1)
ser.write(b"Hallo vom Raspberry Pi!n")
line = ser.readline()
print(line.decode("utf-8", errors="replace"))
ser.close()

Typische Verwendung

  • Serielles Terminal / Debug-Konsole (USB-UART-Adapter)
  • Kommunikation mit Arduino, ESP32, GPS-Modulen
  • Ansteuerung von Bluetooth-Modulen (HC-05/06)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroTXD0SD6DPI_D10AVEOUT_VID10AVEIN_VID10TXD1
Pi 4, 400TXD0SD6DPI_D10SPI5_MOSICTS5TXD1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 14 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5PWM0_CHAN2DPI_D10CTS4SDA3TXD0SPI5_SIO0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 9 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 9 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 10 – BCM 15 (GPIO15) – UART RXD0 (Empfangsleitung)

Phys. Pin: 10BCM: 15Typ: UART RXD0Pegel: 3,3V

Der physikalische Pin 10 (BCM GPIO15) ist die Empfangsleitung (RXD0) der primaeren UART-Schnittstelle. UART (Universal Asynchronous Receiver Transmitter) uebertraegt Daten seriell ohne separates Taktsignal. Typische Baudrate: 115200 baud. Der Pegel betraegt 3,3V – fuer Verbindungen mit 5V-Systemen (Arduino) ist ein Pegelwandler noetig.

UART aktivieren: In /boot/firmware/config.txt (Pi 5) bzw. /boot/config.txt (Pi 4) am Ende hinzufuegen: enable_uart=1
In /boot/cmdline.txt den Eintrag console=serial0,115200 entfernen, damit die Linux-Konsole den Port nicht blockiert. Danach neu starten.

Python-Codebeispiel (pyserial)

import serial

ser = serial.Serial("/dev/serial0", baudrate=115200, timeout=1)
ser.write(b"Hallo vom Raspberry Pi!n")
line = ser.readline()
print(line.decode("utf-8", errors="replace"))
ser.close()

Typische Verwendung

  • Serielles Terminal / Debug-Konsole (USB-UART-Adapter)
  • Kommunikation mit Arduino, ESP32, GPS-Modulen
  • Ansteuerung von Bluetooth-Modulen (HC-05/06)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroRXD0SD7DPI_D11AVEOUT_VID11AVEIN_VID11RXD1
Pi 4, 400RXD0SD7DPI_D11SPI5_SCLKRTS5RXD1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 15 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5PWM0_CHAN3DPI_D11RTS4SCL3RXD0SPI5_SCLK

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 11 – BCM 17 (GPIO17)

Phys. Pin: 11BCM: 17Typ: GPIOPegel: 3,3V

Der physikalische Pin 11 entspricht dem BCM GPIO17. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende. Im ALT3-Modus als UART0 RTS0, im ALT4-Modus als SPI1 CE1 nutzbar.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 17)   # BCM 17 als Ausgang

lgpio.gpio_write(h, 17, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 17, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • LED oder Relais schalten
  • Taster einlesen
  • Digitales Signal senden

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroFL1SD9DPI_D13RTS0SPI1_CE1_NRTS1
Pi 4, 400–SD9DPI_D13RTS0SPI1_CE1_NRTS1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 17 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_CE1DPI_D13DSI1_TE_EXT–RTS0–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 12 – BCM 18 (GPIO18) – PWM0

Phys. Pin: 12BCM: 18Typ: GPIO / PWMHW-PWM: Kanal 0 (Pi 5: 2)

Der physikalische Pin 12 (BCM GPIO18) unterstuetzt neben der normalen GPIO-Funktion auch Hardware-PWM (Kanal 0, am Pi 5 Kanal 2). Pulsweitenmodulation (PWM) erzeugt ein Rechtecksignal mit variabler Einschaltdauer (Duty Cycle). Hardware-PWM wird direkt vom internen Timer-Block generiert und verursacht keine CPU-Last.

Python-Codebeispiel (Software-PWM via lgpio)

import lgpio, time

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 18)
# Software-PWM: Frequenz 50 Hz, Duty Cycle 50%
lgpio.tx_pwm(h, 18, 50, 50)
time.sleep(2)
lgpio.tx_pwm(h, 18, 50, 0)   # Stoppen
lgpio.gpiochip_close(h)

Typische Verwendung

  • RC-Servo ansteuern (50 Hz, 1-2 ms Pulsbreite)
  • LED-Helligkeit dimmen
  • Luefterdrehzahl regeln
  • Audioausgabe (Low-Budget DAC)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPCM_CLKSD10DPI_D14I2CSL_SDA_MOSISPI1_CE0_NPWM0
Pi 4, 400PCM_CLKSD10DPI_D14SPI6_CE0_NSPI1_CE0_NPWM0_0

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 18 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_CE0DPI_D14I2S0_SCLKPWM0_CHAN2I2S1_SCLKGPCLK1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 13 – BCM 27 (GPIO27)

Phys. Pin: 13BCM: 27Typ: GPIOPegel: 3,3V

Der physikalische Pin 13 entspricht dem BCM GPIO27. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 27)   # BCM 27 als Ausgang

lgpio.gpio_write(h, 27, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 27, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • LED / Buzzer steuern
  • Taster / Sensor einlesen

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_DAT3TE1DPI_D23SD1_DAT3ARM_TMS–
Pi 4, 400SD0_DAT3–DPI_D23SD1_DAT3ARM_TMSSPI6_CE1_N

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 27 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_DAT3DPI_D23I2S0_SDO3MIC_DAT1I2S1_SDO3SPI1_CE1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 14 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 14 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 15 – BCM 22 (GPIO22)

Phys. Pin: 15BCM: 22Typ: GPIOPegel: 3,3V

Der physikalische Pin 15 entspricht dem BCM GPIO22. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 22)   # BCM 22 als Ausgang

lgpio.gpio_write(h, 22, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 22, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • Schaltausgang
  • Interrupt-Eingang

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_CLKSD14DPI_D18SD1_CLKARM_TRST–
Pi 4, 400SD0_CLKSD14DPI_D18SD1_CLKARM_TRSTSDA6

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 22 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_CLKDPI_D18I2S0_SDI1SDA3I2S1_SDI1–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 16 – BCM 23 (GPIO23)

Phys. Pin: 16BCM: 23Typ: GPIOPegel: 3,3V

Der physikalische Pin 16 entspricht dem BCM GPIO23. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 23)   # BCM 23 als Ausgang

lgpio.gpio_write(h, 23, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 23, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • LED-Steuerung
  • Tastersignal einlesen

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_CMDSD15DPI_D19SD1_CMDARM_RTCK–
Pi 4, 400SD0_CMDSD15DPI_D19SD1_CMDARM_RTCKSCL6

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 23 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_CMDDPI_D19I2S0_SDO1SCL3I2S1_SDO1–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 17 – 3,3V Spannungsversorgung

Spannung: 3,3VTyp: VersorgungMax. Strom: 50mA gesamt

Der physikalische Pin 17 liefert eine konstante Spannung von 3,3V, gespeist vom internen Spannungsregler des Raspberry Pi. Die maximale Belastung pro Pin betraegt 16 mA. Werden mehrere 3,3V-Pins gleichzeitig genutzt, darf die Gesamtbelastung ueber alle 3,3V-GPIOs 50 mA nicht ueberschreiten. Zwillings-Pin mit gleicher Funktion: Pin 1.

Typische Verwendung

  • Versorgung von 3,3V-Sensoren (BME280, DHT22, OLED-Displays)
  • Referenzspannung fuer Pegelwandler (3,3V auf 5V)
  • Versorgung von Mikrocontrollern (Arduino Pro Mini 3,3V)

Achtung: Zu hohe Stromabnahme kann die 3,3V-Schiene destabilisieren und den Pi zum Absturz bringen. Keine kurzschlussfeste Absicherung vorhanden.

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 18 – BCM 24 (GPIO24)

Phys. Pin: 18BCM: 24Typ: GPIOPegel: 3,3V

Der physikalische Pin 18 entspricht dem BCM GPIO24. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 24)   # BCM 24 als Ausgang

lgpio.gpio_write(h, 24, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 24, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • HC-SR04 Echo-Pin
  • Tastersignal einlesen

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_DAT0SD16DPI_D20SD1_DAT0ARM_TDO–
Pi 4, 400SD0_DAT0SD16DPI_D20SD1_DAT0ARM_TDOSPI3_CE1_N

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 24 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_DAT0DPI_D20I2S0_SDI2–I2S1_SDI2SPI2_CE1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 19 – BCM 10 (GPIO10) – SPI0 MOSI (Master-Out Slave-In)

Phys. Pin: 19BCM: 10Typ: SPI0 MOSIBus: 0

Der physikalische Pin 19 (BCM GPIO10) ist die Master-Out Slave-In (MOSI) des SPI-Bus 0. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(0, 0)           # Bus 0, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSPI0_MOSISD2DPI_D6AVEOUT_VID6AVEIN_VID6–
Pi 4, 400SPI0_MOSISD2DPI_D6I2CSL_SDA_MOSICTS4SDA5

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 10 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_MOSIDPI_D6CTS3SDA1–SPI4_SIO1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 20 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 20 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 21 – BCM 9 (GPIO9) – SPI0 MISO (Master-In Slave-Out)

Phys. Pin: 21BCM: 9Typ: SPI0 MISOBus: 0

Der physikalische Pin 21 (BCM GPIO9) ist die Master-In Slave-Out (MISO) des SPI-Bus 0. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(0, 0)           # Bus 0, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSPI0_MISOSD1DPI_D5AVEOUT_VID5AVEIN_VID5–
Pi 4, 400SPI0_MISOSD1DPI_D5I2CSL_SDI_MISORXD4SCL4

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 9 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_MISODPI_D5RXD3SCL0–SPI4_SIO0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 22 – BCM 25 (GPIO25)

Phys. Pin: 22BCM: 25Typ: GPIOPegel: 3,3V

Der physikalische Pin 22 entspricht dem BCM GPIO25. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 25)   # BCM 25 als Ausgang

lgpio.gpio_write(h, 25, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 25, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • Reset-Signal fuer externe Chips
  • LED-Indikator

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_DAT1SD17DPI_D21SD1_DAT1ARM_TCK–
Pi 4, 400SD0_DAT1SD17DPI_D21SD1_DAT1ARM_TCKSPI4_CE1_N

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 25 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_DAT1DPI_D21I2S0_SDO2MIC_CLKI2S1_SDO2SPI3_CE1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 23 – BCM 11 (GPIO11) – SPI0 SCLK (Taktsignal)

Phys. Pin: 23BCM: 11Typ: SPI0 SCLKBus: 0

Der physikalische Pin 23 (BCM GPIO11) ist die Taktsignal (SCLK) des SPI-Bus 0. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(0, 0)           # Bus 0, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSPI0_SCLKSD3DPI_D7AVEOUT_VID7AVEIN_VID7–
Pi 4, 400SPI0_SCLKSD3DPI_D7I2CSL_SCL_SCLKRTS4SCL5

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 11 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_SCLKDPI_D7RTS3SCL1–SPI4_SCLK

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 24 – BCM 8 (GPIO8) – SPI0 CE0 (Chip Enable 0)

Phys. Pin: 24BCM: 8Typ: SPI0 CE0Bus: 0

Der physikalische Pin 24 (BCM GPIO8) ist das Chip-Enable 0 (CE0, auch Chip Select) des SPI-Bus 0. Mit dem CE-Signal waehlt der Master den gewuenschten Slave-Chip aus, indem er die Leitung auf LOW zieht. Ueber CE0 kann ein weiteres SPI-Geraet am selben Bus betrieben werden.

Weitere SPI-Leitungen: MOSI (Pin 19/38), MISO (Pin 21/35), SCLK (Pin 23/40), CE0 (Pin 24), CE1 (Pin 26), CE2 (Pin 36).

Typische Verwendung

  • Zweites SPI-Geraet neben CE0 betreiben (z.B. zwei RFID-Module)
  • Display auf CE0, Speicher-IC auf CE1

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSPI0_CE0_NSD0DPI_D4AVEOUT_VID4AVEIN_VID4–
Pi 4, 400SPI0_CE0_NSD0DPI_D4I2CSL_CE_NTXD4SDA4

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 8 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_CE0DPI_D4TXD3SDA0–SPI4_CE0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 25 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 25 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 26 – BCM 7 (GPIO7) – SPI0 CE1 (Chip Enable 1)

Phys. Pin: 26BCM: 7Typ: SPI0 CE1Bus: 0

Der physikalische Pin 26 (BCM GPIO7) ist das Chip-Enable 1 (CE1, auch Chip Select) des SPI-Bus 0. Mit dem CE-Signal waehlt der Master den gewuenschten Slave-Chip aus, indem er die Leitung auf LOW zieht. Ueber CE1 kann ein weiteres SPI-Geraet am selben Bus betrieben werden.

Weitere SPI-Leitungen: MOSI (Pin 19/38), MISO (Pin 21/35), SCLK (Pin 23/40), CE0 (Pin 24), CE1 (Pin 26), CE2 (Pin 36).

Typische Verwendung

  • Zweites SPI-Geraet neben CE0 betreiben (z.B. zwei RFID-Module)
  • Display auf CE0, Speicher-IC auf CE1

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSPI0_CE1_NSWE_N_SRW_NDPI_D3AVEOUT_VID3AVEIN_VID3–
Pi 4, 400SPI0_CE1_NSWE_N_SRW_NDPI_D3SPI4_SCLKRTS3SCL4

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 7 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_CE1DPI_D3RTS2SCL3DSR0SPI3_SCLK

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 27 – BCM 0 (GPIO0) – I2C ID EEPROM SDA (Datenleitung)

Phys. Pin: 27BCM: 0Typ: I2C EEPROM SDA

Der physikalische Pin 27 (BCM GPIO0) gehoert zum speziellen I2C-Bus 0, der ausschliesslich fuer die automatische Erkennung von HAT-Aufsteckplatinen (Hardware Attached on Top) reserviert ist. Beim Start liest der Raspberry Pi ueber diesen Bus ein EEPROM auf dem HAT aus und konfiguriert sich automatisch.

Wichtig: Dieser Bus ist nicht fuer eigene Sensoren geeignet – er wird von der GPU-Firmware gesteuert. Fuer eigene I2C-Geraete stattdessen I2C-Bus 1 (Pin 3 + Pin 5) verwenden.

Typische Verwendung

  • HAT EEPROM-Erkennung (automatisch, kein Nutzercode noetig)
  • Im Ausnahmefall: Bus 0 kann in config.txt freigegeben werden: dtparam=i2c0=on

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSDA0SA5PCLKAVEOUT_VCLKAVEIN_VCLK–
Pi 4, 400SDA0SA5PCLKSPI3_CE0_NTXD2SDA6

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 0 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_SIO3DPI_PCLKTXD1SDA0–SPI2_CE0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 28 – BCM 1 (GPIO1) – I2C ID EEPROM SCL (Taktleitung)

Phys. Pin: 28BCM: 1Typ: I2C EEPROM SCL

Der physikalische Pin 28 (BCM GPIO1) gehoert zum speziellen I2C-Bus 0, der ausschliesslich fuer die automatische Erkennung von HAT-Aufsteckplatinen (Hardware Attached on Top) reserviert ist. Beim Start liest der Raspberry Pi ueber diesen Bus ein EEPROM auf dem HAT aus und konfiguriert sich automatisch.

Wichtig: Dieser Bus ist nicht fuer eigene Sensoren geeignet – er wird von der GPU-Firmware gesteuert. Fuer eigene I2C-Geraete stattdessen I2C-Bus 1 (Pin 3 + Pin 5) verwenden.

Typische Verwendung

  • HAT EEPROM-Erkennung (automatisch, kein Nutzercode noetig)
  • Im Ausnahmefall: Bus 0 kann in config.txt freigegeben werden: dtparam=i2c0=on

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSCL0SA4DEAVEOUT_DSYNCAVEIN_DSYNC–
Pi 4, 400SCL0SA4DESPI3_MISORXD2SCL6

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 1 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI0_SIO2DPI_DERXD1SCL0–SPI2_SIO1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 29 – BCM 5 (GPIO5)

Phys. Pin: 29BCM: 5Typ: GPIOPegel: 3,3V

Der physikalische Pin 29 entspricht dem BCM GPIO5. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende. Im ALT0-Modus als GPCLK1 nutzbar.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 5)   # BCM 5 als Ausgang

lgpio.gpio_write(h, 5, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 5, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • GPCLK1 im ALT0-Modus
  • Digitales Signal senden

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroGPCLK1SA0DPI_D1AVEOUT_VID1AVEIN_VID1ARM_TDO
Pi 4, 400GPCLK1SA0DPI_D1SPI4_MISORXD3SCL3

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 5 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5GPCLK1DPI_D1RXD2SCL2DTR0SPI3_SIO1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 30 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 30 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 31 – BCM 6 (GPIO6)

Phys. Pin: 31BCM: 6Typ: GPIOPegel: 3,3V

Der physikalische Pin 31 entspricht dem BCM GPIO6. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende. Im ALT0-Modus als GPCLK2 nutzbar.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 6)   # BCM 6 als Ausgang

lgpio.gpio_write(h, 6, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 6, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • GPCLK2 im ALT0-Modus

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroGPCLK2SOE_N_SEDPI_D2AVEOUT_VID2AVEIN_VID2ARM_RTCK
Pi 4, 400GPCLK2SOE_N_SEDPI_D2SPI4_MOSICTS3SDA4

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 6 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5GPCLK2DPI_D2CTS2SDA3DCD0SPI3_SIO0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 32 – BCM 12 (GPIO12) – PWM0

Phys. Pin: 32BCM: 12Typ: GPIO / PWMHW-PWM: Kanal 0

Der physikalische Pin 32 (BCM GPIO12) unterstuetzt neben der normalen GPIO-Funktion auch Hardware-PWM (Kanal 0). Pulsweitenmodulation (PWM) erzeugt ein Rechtecksignal mit variabler Einschaltdauer (Duty Cycle). Hardware-PWM wird direkt vom internen Timer-Block generiert und verursacht keine CPU-Last.

Python-Codebeispiel (Software-PWM via lgpio)

import lgpio, time

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 12)
# Software-PWM: Frequenz 50 Hz, Duty Cycle 50%
lgpio.tx_pwm(h, 12, 50, 50)
time.sleep(2)
lgpio.tx_pwm(h, 12, 50, 0)   # Stoppen
lgpio.gpiochip_close(h)

Typische Verwendung

  • RC-Servo ansteuern (50 Hz, 1-2 ms Pulsbreite)
  • LED-Helligkeit dimmen
  • Luefterdrehzahl regeln
  • Audioausgabe (Low-Budget DAC)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPWM0SD4DPI_D8AVEOUT_VID8AVEIN_VID8ARM_TMS
Pi 4, 400PWM0_0SD4DPI_D8SPI5_CE0_NTXD5SDA5

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 12 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5PWM0_CHAN0DPI_D8TXD4SDA2AAUD_LEFTSPI5_CE0

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 33 – BCM 13 (GPIO13) – PWM1

Phys. Pin: 33BCM: 13Typ: GPIO / PWMHW-PWM: Kanal 1

Der physikalische Pin 33 (BCM GPIO13) unterstuetzt neben der normalen GPIO-Funktion auch Hardware-PWM (Kanal 1). Pulsweitenmodulation (PWM) erzeugt ein Rechtecksignal mit variabler Einschaltdauer (Duty Cycle). Hardware-PWM wird direkt vom internen Timer-Block generiert und verursacht keine CPU-Last.

Python-Codebeispiel (Software-PWM via lgpio)

import lgpio, time

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 13)
# Software-PWM: Frequenz 50 Hz, Duty Cycle 50%
lgpio.tx_pwm(h, 13, 50, 50)
time.sleep(2)
lgpio.tx_pwm(h, 13, 50, 0)   # Stoppen
lgpio.gpiochip_close(h)

Typische Verwendung

  • RC-Servo ansteuern (50 Hz, 1-2 ms Pulsbreite)
  • LED-Helligkeit dimmen
  • Luefterdrehzahl regeln
  • Audioausgabe (Low-Budget DAC)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPWM1SD5DPI_D9AVEOUT_VID9AVEIN_VID9ARM_TCK
Pi 4, 400PWM0_1SD5DPI_D9SPI5_MISORXD5SCL5

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 13 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5PWM0_CHAN1DPI_D9RXD4SCL2AAUD_RIGHTSPI5_SIO1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 34 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 34 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 35 – BCM 19 (GPIO19) – SPI1 MISO (Master-In Slave-Out)

Phys. Pin: 35BCM: 19Typ: SPI1 MISOBus: 1

Der physikalische Pin 35 (BCM GPIO19) ist die Master-In Slave-Out (MISO) des SPI-Bus 1. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(1, 0)           # Bus 1, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPCM_FSSD11DPI_D15I2CSL_SCL_SCLKSPI1_MISOPWM1
Pi 4, 400PCM_FSSD11DPI_D15SPI6_MISOSPI1_MISOPWM0_1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 19 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_MISODPI_D15I2S0_WSPWM0_CHAN3I2S1_WS–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 36 – BCM 16 (GPIO16) – SPI1 CE2 (Chip Enable 2)

Phys. Pin: 36BCM: 16Typ: SPI1 CE2Bus: 1

Der physikalische Pin 36 (BCM GPIO16) ist das Chip-Enable 2 (CE2, auch Chip Select) des SPI-Bus 1. Mit dem CE-Signal waehlt der Master den gewuenschten Slave-Chip aus, indem er die Leitung auf LOW zieht. Ueber CE2 kann ein weiteres SPI-Geraet am selben Bus betrieben werden.

Weitere SPI-Leitungen: MOSI (Pin 19/38), MISO (Pin 21/35), SCLK (Pin 23/40), CE0 (Pin 24), CE1 (Pin 26), CE2 (Pin 36).

Typische Verwendung

  • Zweites SPI-Geraet neben CE0 betreiben (z.B. zwei RFID-Module)
  • Display auf CE0, Speicher-IC auf CE1

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroFL0SD8DPI_D12CTS0SPI1_CE2_NCTS1
Pi 4, 400–SD8DPI_D12CTS0SPI1_CE2_NCTS1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 16 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_CE2DPI_D12DSI0_TE_EXT–CTS0–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 37 – BCM 26 (GPIO26)

Phys. Pin: 37BCM: 26Typ: GPIOPegel: 3,3V

Der physikalische Pin 37 entspricht dem BCM GPIO26. Er ist ein frei konfigurierbarer General Purpose I/O-Pin und kann per Software als Eingang (Input) oder Ausgang (Output) betrieben werden. Der Logikpegel betraegt 3,3V (HIGH) bzw. 0V (LOW). Der Pin unterstuetzt interne konfigurierbare Pull-Up- und Pull-Down-Widerstaende.

Raspberry Pi 5: Auf dem Pi 5 uebernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht. Alter Code mit import RPi.GPIO läuft meist über rpi-lgpio, das Raspberry Pi OS seit Oktober 2024 mitbringt (sonst sudo apt install python3-rpi-lgpio). Für neuen Code gpiozero oder lgpio verwenden.

Python-Codebeispiel

import lgpio  # alle Modelle inkl. Pi 5
# oder: import RPi.GPIO as GPIO  # am Pi 5 ueber rpi-lgpio

h = lgpio.gpiochip_open(0)
lgpio.gpio_claim_output(h, 26)   # BCM 26 als Ausgang

lgpio.gpio_write(h, 26, 1)  # HIGH (3,3V)
lgpio.gpio_write(h, 26, 0)  # LOW (0V)

lgpio.gpiochip_close(h)

Typische Verwendung

  • Allgemeiner GPIO
  • Schaltausgang
  • Sensoreingabe

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroSD0_DAT2TE0DPI_D22SD1_DAT2ARM_TDI–
Pi 4, 400SD0_DAT2–DPI_D22SD1_DAT2ARM_TDISPI5_CE1_N

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 26 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SD0_DAT2DPI_D22I2S0_SDI3MIC_DAT0I2S1_SDI3SPI5_CE1

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 38 – BCM 20 (GPIO20) – SPI1 MOSI (Master-Out Slave-In)

Phys. Pin: 38BCM: 20Typ: SPI1 MOSIBus: 1

Der physikalische Pin 38 (BCM GPIO20) ist die Master-Out Slave-In (MOSI) des SPI-Bus 1. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(1, 0)           # Bus 1, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPCM_DINSD12DPI_D16I2CSL_MISOSPI1_MOSIGPCLK0
Pi 4, 400PCM_DINSD12DPI_D16SPI6_MOSISPI1_MOSIGPCLK0

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 20 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_MOSIDPI_D16I2S0_SDI0GPCLK0I2S1_SDI0–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 39 – Ground (GND / Masse)

Spannung: 0V / GNDTyp: Masse

Der physikalische Pin 39 ist ein Masse-Pin (Ground, GND). Er bildet das gemeinsame Bezugspotenzial fuer alle Schaltungen am Raspberry Pi. Das 40-Pin-Header besitzt insgesamt 8 Ground-Pins (Pins 6, 9, 14, 20, 25, 30, 34, 39).

Tipps

  • Bei mehreren Sensoren je einen eigenen GND-Pin verwenden (vermeidet Spannungsabfaelle)
  • GND-Pin und Signalpin moeglichst nahe beieinander belegen (kurze Leitungen = weniger Stoereinstrahlung)
  • Bei Motortreibern einen separaten GND fuer die Lastseite vorsehen

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Pin 40 – BCM 21 (GPIO21) – SPI1 SCLK (Taktsignal)

Phys. Pin: 40BCM: 21Typ: SPI1 SCLKBus: 1

Der physikalische Pin 40 (BCM GPIO21) ist die Taktsignal (SCLK) des SPI-Bus 1. SPI (Serial Peripheral Interface) ist ein synchrones 4-Draht-Seriellprotokoll nach dem Master-Slave-Prinzip mit hohen Datentransferraten (bis zu mehreren MHz). Im Gegensatz zu I2C benoetigt jedes SPI-Geraet eine eigene Chip-Enable-Leitung (CE).

SPI aktivieren: sudo raspi-config → Interfacing Options → SPI → Enable, dann neu starten.

SPI-Leitungen im Ueberblick

  • MOSI (Pin 19 / 38) – Master sendet, Slave empfaengt
  • MISO (Pin 21 / 35) – Slave sendet, Master empfaengt
  • SCLK (Pin 23 / 40) – Taktsignal vom Master
  • CE0/CE1/CE2 (Pin 24 / 26 / 36) – Chip-Enable (Slave-Auswahl)

Python-Codebeispiel (spidev)

import spidev

spi = spidev.SpiDev()
spi.open(1, 0)           # Bus 1, CE0
spi.max_speed_hz = 1000000

# Byte senden und gleichzeitig empfangen
response = spi.xfer2([0x01, 0x80, 0x00])
print(f"Antwort: {response}")
spi.close()

Typische Verwendung

  • SPI-Displays (ILI9341, ST7789)
  • A/D-Wandler (MCP3008)
  • RFID-Module (RC522)
  • Beschleunigungssensoren (MPU6000)

Alternative Funktionen

ModellALT0ALT1ALT2ALT3ALT4ALT5
Pi 1–3, ZeroPCM_DOUTSD13DPI_D17I2CSL_CE_NSPI1_SCLKGPCLK1
Pi 4, 400PCM_DOUTSD13DPI_D17SPI6_SCLKSPI1_SCLKGPCLK1

Raspberry Pi 5: Der RP1-Chip zählt die Funktionen als a0 bis a8, gesetzt z. B. mit pinctrl set 21 a3. a5 ist der normale GPIO, a6 und a7 (PROC_RIO, PIO) hat jeder Pin.

Modella0a1a2a3a4a8
Pi 5SPI1_SCLKDPI_D17I2S0_SDO0GPCLK1I2S1_SDO0–

Auf folgenden Boards vorhanden

ModellVorhanden
Raspberry Pi 5✓ J8 Header (40-Pin)
Raspberry Pi 4 Modell B / 400✓ J8 Header (40-Pin)
Raspberry Pi 3 Modell B / B+✓ J8 Header (40-Pin)
Raspberry Pi 2 Modell B✓ J8 Header (40-Pin)
Raspberry Pi Zero 2 W / Zero W✓ J8 Header (40-Pin)
Raspberry Pi 1 Modelle A+ und B+✓ J8 Header (40-Pin)
Raspberry Pi 1 Modell A und B✓ P1 Header (26-Pin)

Das Raspberry Pi 5 Pinout im Detail

Unser interaktives Raspberry Pi 5 Pinout Tool zeigt euch alle 40 GPIO-Pins des neuen Flaggschiffs (und seiner Vorgänger) auf einen Blick. Klickt auf einen Pin um Details zu Funktion, BCM-Nummer und alternativen Funktionen zu erhalten.

Das 40-Pin-GPIO-Layout ist bei allen aktuellen Modellen identisch – Raspberry Pi 3, Pi 4, Pi 5, Pi 400 und Pi Zero 2 W nutzen dasselbe physikalische Pinout. Der Mikrocontroller Raspberry Pi Pico hat eine eigene Belegung, die findet ihr im Pico-Pinout. Beim Raspberry Pi 5 übernimmt der RP1-Chip die GPIO-Steuerung. Das ursprüngliche RPi.GPIO läuft dort nicht, alte Skripte laufen meist über rpi-lgpio weiter, das Raspberry Pi OS seit Oktober 2024 mitbringt.

 

Hier Detail Infos wie alte Scripte oder Programme mit GPIO-Bezug auf dem Raspberry Pi 5 weiter genutzt werden können.

Die wichtigsten GPIO-Pins auf einen Blick

PhysischBCM-Nr.Funktion
Pin 3GPIO 2 (SDA)I²C Daten
Pin 5GPIO 3 (SCL)I²C Takt
Pin 8GPIO 14 (TXD)UART Senden
Pin 10GPIO 15 (RXD)UART Empfangen
Pin 19GPIO 10 (MOSI)SPI Daten raus
Pin 21GPIO 9 (MISO)SPI Daten rein
Pin 23GPIO 11 (SCLK)SPI Takt
Pin 13,3VSpannungsversorgung
Pin 25VSpannungsversorgung
Pin 6GNDMasse
Häufige Fehler beim GPIO-Zugriff
  • Raspberry Pi 5: Das ursprüngliche RPi.GPIO läuft nicht. Installiert es nicht per apt nach, das ersetzt rpi-lgpio. Fehlt rpi-lgpio auf einer älteren Installation, holt ihr es mit sudo apt install python3-rpi-lgpio. Für neuen Code nehmt ihr gpiozero oder lgpio.
  • 3,3V-Logik: GPIO-Pins liefern max. 3,3V – keine 5V-Bauteile direkt anschließen (Spannungsteiler nötig).
  • Strom-Limit: Pro Pin max. 16 mA, gesamt max. 50 mA – für LEDs immer Vorwiderstand verwenden.
  • Pin 2/3 mit Pull-ups: GPIO 2 und GPIO 3 haben feste interne Pull-up-Widerstände (1,8 kΩ) – für I²C kein externes Pull-up nötig.

GPIO-Pins mit Python ansteuern – Erste Schritte

Nach dem Blick auf das Pinout stellt sich die Frage: Wie sprichst du die GPIO-Pins im Code an? gpiozero und lgpio laufen auf allen aktuellen Modellen inklusive Raspberry Pi 5. gpiozero vereinfacht die Ansteuerung deutlich, mit lgpio steuerst du jeden Pin selbst, wie im Beispiel unten.

LED ein- und ausschalten (BCM GPIO 17 = physisch Pin 11)

import lgpio  # läuft auf allen Modellen, ebenso gpiozero
import time

CHIP = 0       # GPIO-Chip 0 für alle Pi-Modelle
LED_PIN = 17   # BCM GPIO 17

h = lgpio.gpiochip_open(CHIP)
lgpio.gpio_claim_output(h, LED_PIN)

for _ in range(5):
    lgpio.gpio_write(h, LED_PIN, 1)  # LED an
    time.sleep(0.5)
    lgpio.gpio_write(h, LED_PIN, 0)  # LED aus
    time.sleep(0.5)

lgpio.gpiochip_close(h)

Installation: sudo apt install python3-lgpio – auf aktuellen Raspberry Pi OS Versionen vorinstalliert.

Protokoll Typische Anwendung GPIO-Pins (BCM) Python-Bibliothek
Digital I/OLED, Taster, RelaisBeliebiger GPIO-Pinlgpio / gpiozero
I²CSensoren (BME280, BMP180, OLED)GPIO 2 (SDA), GPIO 3 (SCL)smbus2
SPIDisplays, ADC (MCP3008)GPIO 10/9/11 (MOSI/MISO/SCLK)spidev
UARTGPS-Module, Serial-DebugGPIO 14 (TXD), GPIO 15 (RXD)pyserial
PWMServos, LED-DimmerGPIO 12, 13, 18, 19 (Hardware-PWM)gpiozero / lgpio (Software-PWM), Hardware-PWM per Overlay

Über den Autor

Dieser Artikel wird von der raspberry.tips Redaktion gepflegt. Wir beschäftigen uns seit 2013 aktiv mit dem Raspberry Pi – von ersten GPIO-Experimenten bis zu aktuellen Pi-5-Projekten. Alle Pin-Angaben basieren auf eigener Praxiserfahrung und den offiziellen Datenblättern der Raspberry Pi Foundation.

Pinout als Grafik herunterladen und frei verwenden

Ihr dürft diese Pinout-Grafik kostenlos verwenden, auch verändert und auch kommerziell: im Unterricht, in Blogartikeln, in Dokumentationen oder im Makerspace an der Wand. Sie steht unter der Lizenz CC BY 4.0. Einzige Bedingung ist die Namensnennung mit Link auf diese Seite.

Raspberry Pi GPIO-Pinout: Belegung der 40-Pin-Stiftleiste mit GPIO-Nummern, I2C, SPI, UART, PWM, Strom und Masse
Das GPIO-Pinout als Grafik, frei verwendbar unter CC BY 4.0.

Diesen Quellenhinweis könnt ihr direkt kopieren:

Grafik: <a href="https://raspberry.tips/raspberry-pi-gpio-pinout">Raspberry Pi GPIO-Pinout von raspberry.tips</a>, Lizenz <a href="https://creativecommons.org/licenses/by/4.0/deed.de">CC BY 4.0</a>

Für Drucksachen ohne Link genügt: „Grafik: raspberry.tips, CC BY 4.0“.

Wie viele GPIO-Pins hat der Raspberry Pi?

Alle Raspberry Pi Modelle (Pi 3, Pi 4, Pi 5 und Zero 2 W) haben einen 40-Pin-Header. Davon sind 26 Pins als GPIO nutzbar, plus je 2 Pins für 5V und 3,3V sowie 8 Ground-Pins.

Was ist der Unterschied zwischen BCM- und BOARD-Nummerierung?

BCM (Broadcom) verwendet die internen Chip-Nummern des SoC, z.B. GPIO 17. BOARD nutzt die physische Pin-Position auf dem Header, z.B. Pin 11. Im interaktiven Pinout werden BCM-Nummern angezeigt.

Können die GPIO-Pins des Raspberry Pi 5V vertragen?

Nein. Alle GPIO-Pins arbeiten mit 3,3V-Logik und sind nicht 5V-tolerant. Für die Verbindung mit 5V-Geräten ist zwingend ein Pegelwandler (Level Shifter) notwendig, sonst besteht Gefahr den Pi dauerhaft zu beschädigen.

Welche GPIO-Pins unterstützen Hardware-PWM?

Beim Raspberry Pi 4 und Pi 5 unterstützen GPIO 12, 13, 18 und 19 Hardware-PWM. Beim Pi 4 teilen sich GPIO 12 und 18 einen PWM-Kanal, ebenso GPIO 13 und 19. Der Pi 5 hat für jeden der vier Pins einen eigenen Kanal. Software-PWM ist auf allen GPIO-Pins möglich, aber weniger präzise.

Ist die Pinbelegung beim Raspberry Pi 5 identisch mit Pi 4?

Ja, der 40-Pin-Header des Raspberry Pi 5 ist pinkompatibel mit dem Pi 4. Die BCM-Nummern und Funktionen (I2C, SPI, UART, PWM) sind identisch. Der Pi 5 nutzt jedoch einen neuen RP1-I/O-Controller, was bei einigen Low-Level-Bibliotheken Anpassungen erfordern kann.

Hat der Raspberry Pi einen Ein/Aus-Schalter?

Einen eingebauten Power-Button hat nur der Raspberry Pi 5 (beim Pi 400 und Pi 500 übernimmt die Tastatur diese Funktion). Bei älteren Modellen lässt sich ein Taster zwischen Pin 5 (GPIO3) und Pin 6 (Ground) nachrüsten: Er weckt den Pi aus dem Halt-Zustand auf und fährt ihn mit dtoverlay=gpio-shutdown auch sauber herunter.

Dieses Tool darfst du einbetten

Du brauchst das Pinout auf deiner eigenen Seite – im Unterricht, im Makerspace-Wiki, im Vereinsforum oder im eigenen Blog? Nur zu. Kostenlos, ohne Anmeldung, ohne Tracking-Cookies. Und wenn ich hier etwas am Tool ergänze, ist es bei dir automatisch mit drin.

In WordPress genügt die URL in einer leeren Zeile im Editor, den Rest macht WordPress von allein:

https://raspberry.tips/raspberry-pi-gpio-pinout

Überall sonst baust du diesen Schnipsel ein:

<iframe src="https://raspberry.tips/embed/gpio/"
        width="1000" height="1280" loading="lazy"
        style="max-width:100%;border:0"
        title="Raspberry Pi GPIO Pinout – interaktiv"></iframe>
<p><a href="https://raspberry.tips/raspberry-pi-gpio-pinout">Interaktives Raspberry-Pi-Pinout von raspberry.tips</a></p>

Das Tool steht unter CC BY 4.0: Du darfst es einbauen, weitergeben und anpassen, solange die Namensnennung mit Link auf raspberry.tips stehen bleibt. Mehr will ich gar nicht.