Podłączenie czujnika, wyświetlacza albo modułu przekaźnikowego do Raspberry Pi Pico zaczyna się od poprawnego odczytania numerów na płytce. Schemat wyprowadzeń, często opisywany jako raspberry pi pico pinout, pokazuje nie tylko GPIO, lecz także zasilanie, masę, wejścia analogowe i złącze debugowania. Poniżej wyjaśniam, jak czytać diagram, do czego służy każdy z 40 pinów i na jakie błędy uważać podczas budowy układu.
Najważniejsze informacje o wyprowadzeniach Raspberry Pi Pico
- 40 pinów tworzy dwa rzędy po 20 wyprowadzeń, ale tylko 26 z nich to wielofunkcyjne GPIO.
- GPIO pracują z logiką 3,3 V i nie są odporne na bezpośrednie podanie 5 V.
- GP26, GP27 i GP28 mogą działać jako wejścia analogowe ADC.
- VBUS, VSYS i 3V3(OUT) pełnią różne funkcje zasilające i nie wolno ich traktować zamiennie.
- Numer pinu fizycznego nie jest tym samym co numer GPIO, dlatego przed podłączeniem trzeba sprawdzić oba oznaczenia.

Jak czytać diagram Raspberry Pi Pico
Najłatwiej zacząć od orientacji płytki. Trzymając Pico tak, aby złącze micro USB znajdowało się u góry, piny 1-20 biegną po lewej stronie z góry na dół, a piny 40-21 po prawej stronie z góry na dół. To ważne, bo prawa kolumna na schemacie nie zawsze jest przedstawiona w kolejności rosnącej.
Oznaczenie GP15 oznacza numer portu GPIO mikrokontrolera, natomiast liczba przy krawędzi płytki, na przykład pin 20, oznacza fizyczne wyprowadzenie. W kodzie MicroPython odwołuję się do numeru GPIO, a nie do numeru pola w złączu. Pomylenie tych dwóch numeracji to jeden z najczęstszych powodów, dla których dioda lub czujnik nie działa.
Raspberry Pi Pico ma 26 wielofunkcyjnych linii GPIO. Ta sama linia może obsługiwać zwykły sygnał cyfrowy, PWM, UART, SPI, I2C albo funkcję PIO. Nie oznacza to jednak, że wszystkie role są aktywne jednocześnie. Ostateczny wybór zależy od konfiguracji programu i od tego, jakie inne urządzenia są już podłączone.
Pełna mapa 40 wyprowadzeń Pico
Poniższa tabela przedstawia standardowy układ Raspberry Pi Pico oraz Pico H. Czytam ją od góry do dołu, patrząc na płytkę od strony elementów z portem USB u góry. Skróty przy pinach zasilania są równie istotne jak numery GPIO, dlatego nie pomijam ich przy projektowaniu połączeń.
| Lewa strona | Nr | Funkcja | Prawa strona | Nr | Funkcja |
|---|---|---|---|---|---|
| GP0 | 1 | GPIO, UART0 TX | VBUS | 40 | Zasilanie z USB, zwykle 5 V |
| GP1 | 2 | GPIO, UART0 RX | VSYS | 39 | Główne wejście zasilania płytki |
| GND | 3 | Masa | GND | 38 | Masa |
| GP2 | 4 | GPIO | 3V3_EN | 37 | Włączanie regulatora 3,3 V |
| GP3 | 5 | GPIO | 3V3(OUT) | 36 | Wyjście zasilania 3,3 V |
| GP4 | 6 | GPIO, UART1 TX | ADC_VREF | 35 | Referencja przetwornika ADC |
| GP5 | 7 | GPIO, UART1 RX | GP28 / ADC2 | 34 | GPIO i wejście analogowe |
| GND | 8 | Masa | AGND | 33 | Masa analogowa |
| GP6 | 9 | GPIO | GP27 / ADC1 | 32 | GPIO i wejście analogowe |
| GP7 | 10 | GPIO | GP26 / ADC0 | 31 | GPIO i wejście analogowe |
| GP8 | 11 | GPIO | GND | 30 | Masa |
| GP9 | 12 | GPIO | GP29 / ADC3 / VSYS | 29 | Pomiar napięcia VSYS przez dzielnik |
| GND | 13 | Masa | GND | 28 | Masa |
| GP10 | 14 | GPIO | GP21 | 27 | GPIO |
| GP11 | 15 | GPIO | GP20 | 26 | GPIO |
| GP12 | 16 | GPIO | GP19 | 25 | GPIO |
| GP13 | 17 | GPIO | GP18 | 24 | GPIO |
| GND | 18 | Masa | GND | 23 | Masa |
| GP14 | 19 | GPIO | GP17 | 22 | GPIO |
| GP15 | 20 | GPIO | GP16 | 21 | GPIO |
Na dole płytki znajdują się jeszcze trzy pola SWDIO, GND i SWCLK. Nie należą one do głównego 40-pinowego złącza. Służą do programowania i debugowania mikrokontrolera, na przykład przy użyciu Raspberry Pi Debug Probe.
Zasilanie i poziomy logiczne bez ryzykownych skrótów
Najważniejsze rozróżnienie dotyczy pinów VBUS i VSYS. VBUS jest związany z napięciem doprowadzonym przez USB, natomiast VSYS zasila układ z zewnętrznego źródła. Jeśli Pico ma pracować bez USB, zasilanie można podać na VSYS w zakresie przewidzianym przez dokumentację płytki. Nie podaję napięcia zasilającego jednocześnie na przypadkowe piny, bo łatwo w ten sposób uszkodzić regulator.
Pin 3V3(OUT) dostarcza stabilizowane napięcie 3,3 V dla niewielkich modułów i czujników. Nie traktuję go jako wyjścia do zasilania silnika, serwomechanizmu czy przekaźnika. Takie obciążenia wymagają osobnego zasilacza oraz tranzystora, sterownika albo modułu z odpowiednim zabezpieczeniem.
3V3_EN służy do włączania regulatora napięcia. To nie jest zwykłe wyjście 3,3 V ani pin do zasilania peryferiów. Z kolei ADC_VREF ustala punkt odniesienia dla pomiarów analogowych, a AGND jest masą przeznaczoną dla obwodów analogowych.
GPIO Raspberry Pi Pico używają logiki 3,3 V. Moduł pracujący wyłącznie z sygnałami 5 V powinien zostać podłączony przez konwerter poziomów logicznych. Dotyczy to szczególnie starszych wyświetlaczy, niektórych modułów Arduino i układów, które na wejściu wystawiają pełne 5 V.
GPIO, ADC i popularne interfejsy
Do prostych zastosowań, takich jak przycisk, dioda LED czy czujnik cyfrowy, można użyć niemal dowolnego dostępnego GPIO. Przy magistralach komunikacyjnych trzeba jednak sprawdzić funkcje alternatywne. RP2040 ma elastyczny system multipleksowania, więc UART, SPI i I2C można przypisać do kilku różnych zestawów pinów.
Wejścia analogowe
Trzy zewnętrzne kanały ADC znajdują się na GP26, GP27 i GP28. Służą do pomiaru napięcia, na przykład z potencjometru, fotorezystora lub analogowego czujnika temperatury. Pin GP29 jest związany z pomiarem VSYS i nie należy traktować go jak typowego, dowolnego wejścia analogowego.
Przy pomiarach analogowych liczy się nie tylko numer kanału, ale także jakość masy i zakres napięcia. Sygnał przekraczający 3,3 V może uszkodzić wejście. W praktyce stosuję dzielnik napięcia, jeśli czujnik generuje wyższy poziom, oraz łączę jego masę z AGND lub wspólną masą układu.
I2C, SPI i UART
Do popularnych modułów I2C często wybiera się GP4 i GP5 albo GP8 i GP9, zależnie od biblioteki i konfiguracji. Dla SPI spotyka się między innymi GP16-GP19, a dla UART GP0-GP1. To przykłady, nie sztywne przypisanie na zawsze. Biblioteka może wymagać wskazania konkretnych pinów w kodzie.
Przed wyborem pinów sprawdzam trzy rzeczy. Po pierwsze, czy wybrane GPIO obsługują wymaganą funkcję. Po drugie, czy nie są już używane przez inne urządzenie. Po trzecie, czy moduł ma właściwe rezystory podciągające, szczególnie przy I2C. Dzięki temu unikam sytuacji, w której sam numer pinu wygląda poprawnie, ale magistrala nie może przejść w stan wysoki.
Przeczytaj również: Raspberry Pi 4 GPIO - Pełny przewodnik dla początkujących
Przykład w MicroPythonie
Poniższy fragment miga diodą podłączoną do GP15. W przypadku płytki Pico z wbudowaną diodą trzeba pamiętać, że standardowo jest ona powiązana z GP25, a nie z numerem fizycznego pinu 25.
from machine import Pin
from time import sleep
led = Pin(15, Pin.OUT)
while True:
led.toggle()
sleep(0.5)
W tym przykładzie liczba 15 oznacza GPIO15. Gdybym fizycznie włożył przewód do pinu 20, efekt byłby inny, ponieważ pin 20 jest wyprowadzeniem GP15. To dobrze pokazuje, dlaczego numeracja logiczna i fizyczna musi być sprawdzana osobno.
Jak podłączać elementy, żeby nie pomylić pinów
Przed włączeniem zasilania wykonuję krótką kontrolę połączeń. Najpierw identyfikuję numer fizycznego pinu na diagramie, potem odczytuję odpowiadający mu numer GPIO, a na końcu sprawdzam napięcie modułu. Ten prosty nawyk oszczędza więcej czasu niż późniejsze szukanie błędu w programie.
- Ustaw płytkę portem USB u góry i znajdź właściwy numer fizycznego pinu.
- Sprawdź, czy wyprowadzenie jest GPIO, masą, zasilaniem czy pinem specjalnym.
- Połącz masy Pico i modułu, jeśli urządzenie nie jest zasilane z tej samej płytki.
- Zweryfikuj poziom sygnałów, szczególnie gdy moduł pracuje z napięciem 5 V.
- Uruchom najpierw prosty test jednego sygnału, zanim podłączysz całą instalację.
Typowym błędem jest podłączenie diody LED bez rezystora. Dla zwykłej diody zaczynam od rezystora 220-1 kΩ, zależnie od oczekiwanej jasności i parametrów elementu. Przy przycisku wygodnie jest użyć wewnętrznego podciągania, ale trzeba wtedy poprawnie interpretować stan niski i wysoki w programie.
Nie podłączam bezpośrednio do GPIO silników, cewek ani większych taśm LED. Pin mikrokontrolera jest wyjściem sterującym, a nie zasilaczem dużego obciążenia. W takich projektach używam tranzystora lub dedykowanego sterownika, wspólnej masy i diody zabezpieczającej tam, gdzie występuje obciążenie indukcyjne.
Raspberry Pi Pico, Pico W i Pico 2
Warianty Pico mają bardzo podobny układ 40-pinowych wyprowadzeń. Pico i Pico 2 w wersjach bezprzewodowych zachowują ten sam podstawowy rozkład pinów, podobnie jak Pico W i Pico 2 W. Różnice dotyczą przede wszystkim mikrokontrolera, pamięci, łączności bezprzewodowej i szczegółów funkcji dodatkowych.
Najważniejsza pułapka dotyczy diody LED. W klasycznym Pico jest ona połączona z GP25. W Pico W dioda jest sterowana przez układ bezprzewodowy, więc przykład programu używający GP25 może nie działać tak samo. Przy projektach z Wi-Fi trzeba też uwzględnić, że część zasobów płytki jest współdzielona wewnętrznie z modułem radiowym.
Wersje oznaczone literą H mają fabrycznie przylutowane goldpiny. W zwykłym Pico otwory pozostają nieobsadzone, co jest wygodne przy montażu powierzchniowym, ale wymaga samodzielnego lutowania, jeśli płytka ma trafić na płytkę stykową.
Co sprawdzić przed pierwszym uruchomieniem układu
Najbezpieczniej traktować diagram jako mapę, a nie tylko obrazek do szybkiego przepisania. Przed podaniem zasilania sprawdzam numer fizycznego pinu, funkcję GPIO, napięcie oraz wspólną masę. To cztery informacje, które rozwiązują większość problemów z pierwszymi projektami na Pico.
Jeśli połączenia są poprawne, ale układ nadal nie działa, szukam błędu w konfiguracji funkcji alternatywnej, adresie I2C, polaryzacji diody albo kolejności TX i RX. W projektach bardziej złożonych zostawiam kilka wolnych GPIO na przyciski, diagnostykę i przyszłą rozbudowę. Taki zapas zwykle okazuje się cenniejszy niż wykorzystanie każdego dostępnego pinu od pierwszego dnia.