Gdy chcesz podłączyć diodę, czujnik, wyświetlacz albo moduł przekaźnika do Raspberry Pi 4, najłatwiej pomylić numer fizycznego pinu z numerem GPIO. Schemat wyprowadzeń Raspberry Pi 4, znany też jako raspberry pi 4 pinout, pokazuje nie tylko rozmieszczenie 40 pinów, lecz także ich funkcje, zasilanie i interfejsy komunikacyjne. Poniżej porządkuję cały układ oraz wskazuję, jak bezpiecznie wykorzystać go w projektach elektronicznych.
Najważniejsze informacje o złączu GPIO Raspberry Pi 4
- 40 pinów obejmuje zasilanie, masę, GPIO oraz linie identyfikacyjne HAT.
- Raspberry Pi 4 udostępnia 28 linii GPIO, ale nie wszystkie służą wyłącznie do zwykłego wejścia i wyjścia.
- GPIO pracują z logiką 3,3 V i nie są odporne na sygnały 5 V.
- Interfejsy I2C, SPI, UART i PWM korzystają z określonych pinów oraz funkcji alternatywnych.
- W programie trzeba odróżniać numer fizyczny pinu od numeru BCM GPIO.

Jak wygląda pinout Raspberry Pi 4
Raspberry Pi 4 Model B ma standardowe, dwurzędowe złącze GPIO z 40 pinami. Patrząc na płytkę od góry, złącze znajduje się przy jednej z krawędzi, a numeracja fizyczna zaczyna się od pinu 1 i rośnie naprzemiennie w dwóch kolumnach. Dla mnie najpraktyczniejszy jest poniższy układ, ponieważ pozwala szybko sprawdzić zarówno numer pinu, jak i jego funkcję.
| Pin | Funkcja | Pin | Funkcja |
|---|---|---|---|
| 1 | 3,3 V | 2 | 5 V |
| 3 | GPIO2, SDA1 | 4 | 5 V |
| 5 | GPIO3, SCL1 | 6 | GND |
| 7 | GPIO4, GPCLK0 | 8 | GPIO14, TXD0 |
| 9 | GND | 10 | GPIO15, RXD0 |
| 11 | GPIO17 | 12 | GPIO18, PWM0, PCM_CLK |
| 13 | GPIO27 | 14 | GND |
| 15 | GPIO22 | 16 | GPIO23 |
| 17 | 3,3 V | 18 | GPIO24 |
| 19 | GPIO10, MOSI | 20 | GND |
| 21 | GPIO9, MISO | 22 | GPIO25 |
| 23 | GPIO11, SCLK | 24 | GPIO8, CE0 |
| 25 | GND | 26 | GPIO7, CE1 |
| 27 | ID_SD | 28 | ID_SC |
| 29 | GPIO5 | 30 | GND |
| 31 | GPIO6 | 32 | GPIO12, PWM0 |
| 33 | GPIO13, PWM1 | 34 | GND |
| 35 | GPIO19, PCM_FS | 36 | GPIO16 |
| 37 | GPIO26 | 38 | GPIO20, PCM_DIN |
| 39 | GND | 40 | GPIO21, PCM_DOUT |
Oznaczenia takie jak SDA, SCL, MOSI, MISO, TXD i PWM informują o funkcjach alternatywnych. Ten sam pin może działać jako zwykłe GPIO albo jako część konkretnego interfejsu, zależnie od konfiguracji systemu i używanej biblioteki.
Numer fizyczny a numer BCM
Najczęstszy błąd początkujących polega na pomieszaniu dwóch sposobów numerowania. Numer fizyczny oznacza pozycję na złączu, natomiast numer BCM odnosi się do numeru GPIO w układzie Broadcom. Przykładowo fizyczny pin 11 to GPIO17, a fizyczny pin 13 to GPIO27.
| Sposób numeracji | Przykład | Kiedy go używać |
|---|---|---|
| Fizyczny | Pin 11 | Podczas podłączania przewodu do złącza |
| BCM | GPIO17 | W dokumentacji układu i większości bibliotek |
| WiringPi | Starszy schemat numeracji | Unikać w nowych projektach |
W Pythonie najbezpieczniej korzystać z biblioteki GPIO Zero, która domyślnie używa numerów BCM. Przykład zapalenia diody podłączonej przez rezystor do fizycznego pinu 11, czyli GPIO17, wygląda tak:
from gpiozero import LED
from time import sleep
led = LED(17)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
Jeżeli wybierasz inną bibliotekę, sprawdź jej konwencję numerowania. Fizyczny pin 11 nie oznacza GPIO11, a ta jedna pomyłka potrafi skierować sygnał w zupełnie inne miejsce lub doprowadzić do zwarcia.
Zasilanie i poziomy logiczne bez ryzyka
Piny 1 i 17 dostarczają napięcie 3,3 V, a piny 2 i 4 napięcie 5 V. Piny oznaczone jako GND tworzą wspólną masę dla Raspberry Pi oraz podłączonych modułów. Bez połączenia masy sygnały cyfrowe często zachowują się przypadkowo, nawet gdy przewody sygnałowe są podłączone poprawnie.
| Typ pinu | Napięcie | Typowe zastosowanie |
|---|---|---|
| 3,3 V | 3,3 V | Zasilanie czujników i modułów pracujących z logiką 3,3 V |
| 5 V | 5 V | Zasilanie wybranych modułów, wentylatorów i akcesoriów |
| GND | 0 V | Masa układu i punkt odniesienia dla sygnałów |
| GPIO | Logika 3,3 V | Wejścia, wyjścia, magistrale i sterowanie |
GPIO nie są odporne na 5 V. Podanie takiego napięcia na wejście może uszkodzić układ BCM2711, dlatego moduły 5-woltowe wymagają konwertera poziomów logicznych albo dzielnika napięcia. Przy diodzie LED używam rezystora ograniczającego prąd, a przy silniku, przekaźniku lub taśmie LED stosuję tranzystor albo gotowy moduł sterujący.
Pinów zasilania nie traktuję jako wygodnego zamiennika dla osobnego zasilacza. Raspberry Pi może zasilać niewielkie układy, ale większe obciążenie łatwo powoduje spadki napięcia i niestabilność. Szczególnie ostrożnie podchodzę do zasilania płytki przez GPIO, ponieważ omija ono część zabezpieczeń obecnych na wejściu USB-C.
Jak wykorzystać I2C, SPI, UART i PWM
Największa praktyczna wartość złącza GPIO ujawnia się przy podłączaniu modułów. Niektóre piny mają przypisane funkcje komunikacyjne, ale ich użycie może wymagać włączenia interfejsu w systemie. Zwykle nie trzeba zmieniać połączeń, lecz trzeba pamiętać, że jeden pin nie może jednocześnie obsługiwać kilku funkcji w sposób niezależny.
| Interfejs | Podstawowe piny | Zastosowanie |
|---|---|---|
| I2C | GPIO2, GPIO3 | Czujniki, ekspandery, wyświetlacze i sterowniki z adresami |
| SPI | GPIO7, 8, 9, 10, 11 | Wyświetlacze, przetworniki, pamięci i szybkie moduły |
| UART | GPIO14, GPIO15 | Konsole szeregowe, moduły GPS i komunikacja z mikrokontrolerem |
| PWM | Między innymi GPIO12, GPIO13, GPIO18, GPIO19 | Regulacja jasności LED, serwomechanizmy i sterowanie mocą |
Magistrala I2C potrzebuje rezystorów podciągających do 3,3 V, choć wiele gotowych modułów ma je już na płytce. Przy kilku modułach połączonych równolegle trzeba uważać, aby nie zgromadzić zbyt wielu takich rezystorów, bo zmienia to warunki pracy magistrali.
SPI jest szybsze od I2C, ale wymaga większej liczby przewodów. Linie MOSI, MISO i SCLK są współdzielone, natomiast każdy dodatkowy układ może potrzebować osobnego sygnału CE. To dobry wybór do wyświetlacza lub przetwornika, gdy opóźnienia I2C zaczynają być odczuwalne.
UART wykorzystuje linię nadawczą TXD i odbiorczą RXD. Trzeba połączyć TX jednego urządzenia z RX drugiego oraz RX z TX. Nie łącz TX z TX, a przy urządzeniu 5-woltowym zastosuj konwersję poziomów.
Raspberry Pi 4 nie ma wbudowanego wejścia analogowego. Jeżeli czujnik zwraca napięcie, a nie stan cyfrowy, potrzebujesz zewnętrznego przetwornika ADC, na przykład modułu komunikującego się przez I2C lub SPI. To ograniczenie bywa pomijane przy projektach z potencjometrem, fotorezystorem albo analogowym czujnikiem temperatury.
Błędy, które najłatwiej popełnić przy podłączaniu
Sam diagram nie wystarczy, jeśli nie uwzględnisz elektrycznych ograniczeń płytki. Z mojego doświadczenia wynika, że większość problemów nie wynika z uszkodzonego Raspberry Pi, lecz z pośpiechu przy identyfikacji pinu albo z braku wspólnej masy.
- Odwrócenie orientacji złącza - przed podłączeniem sprawdź, gdzie znajduje się pin 1. Nie zakładaj, że rysunek w instrukcji ma tę samą orientację co płytka.
- Podanie 5 V na GPIO - linie wejścia i wyjścia pracują z napięciem 3,3 V. W razie wątpliwości użyj konwertera poziomów.
- Brak rezystora przy LED - dioda bez ograniczenia prądu może przeciążyć wyjście GPIO.
- Podłączenie silnika bez sterownika - GPIO nie służy do bezpośredniego zasilania silników, cewek ani przekaźników.
- Pomieszanie numeracji - sprawdź, czy przykład używa numerów BCM, czy numerów fizycznych.
- Wykorzystanie pinów ID_SD i ID_SC - linie 27 i 28 służą między innymi do identyfikacji dodatkowych płytek HAT i nie powinny być traktowane jak całkowicie zwykłe GPIO.
Przed uruchomieniem projektu wyłączam zasilanie, sprawdzam połączenia według tabeli i dopiero wtedy podłączam przewód USB-C. Pomiar napięcia multimetrem zajmuje chwilę, a często pozwala wykryć odwrotnie podłączony moduł jeszcze przed uszkodzeniem płytki.
Jak korzystać z pinoutu w praktycznym projekcie
Najwygodniej zacząć od rozpisania trzech rzeczy: numeru fizycznego, numeru BCM oraz funkcji, którą ma pełnić pin. Dla prostej diody może to być GPIO17, dla czujnika I2C para GPIO2 i GPIO3, a dla wyświetlacza SPI kilka linii współdzielonych oraz osobny pin wyboru układu.
W systemie Raspberry Pi OS można podejrzeć lokalną ściągawkę poleceniem pinout. Oficjalna dokumentacja Raspberry Pi także rozróżnia opis złącza, funkcje alternatywne oraz ustawienia interfejsów, dlatego przed budową większego układu sprawdzam nie tylko obrazek, ale również dokumentację konkretnego modułu.
Sam diagram warto traktować jako mapę, nie jako zgodę na dowolne połączenie. Najpierw wybieram funkcję, potem pin, a na końcu sprawdzam napięcie i wymagany prąd. Takie podejście jest szczególnie ważne w projektach robotycznych, gdzie czujniki, serwomechanizmy i silniki pracują obok siebie, ale nie powinny być zasilane z tych samych wyprowadzeń bez odpowiedniego układu pośredniego.
Najbezpieczniejszy sposób pracy z 40 pinami
Raspberry Pi 4 daje dużą swobodę, ale jego GPIO nie zastępują pełnoprawnego sterownika mocy ani wejść analogowych. Do eksperymentów wystarczą płytka stykowa, przewody, rezystory i multimetr, natomiast przy większych obciążeniach potrzebne będą tranzystory, konwertery poziomów lub osobne zasilanie.
Jeżeli zapamiętasz tylko jedną zasadę, niech będzie nią rozróżnienie pin fizyczny kontra GPIO BCM. Połącz je z kontrolą napięcia 3,3 V, wspólną masą i rezystorami tam, gdzie są potrzebne, a pinout Raspberry Pi 4 stanie się praktycznym narzędziem do budowy bezpiecznych projektów, a nie tylko tabelą numerów.