Raspberry Pi 5
Serce stacji — cały stos TETRA liczy się w czasie rzeczywistym na CPU. Bierz Pi 5 z co najmniej 2 GB RAM. Na Pi 4 stację też uruchomisz, ale licz się z problemami ze stabilnością — powód opisujemy w pytaniach na dole.
Pełna instrukcja: co kupić, jak to skręcić, jak postawić system i skąd wziąć oprogramowanie. Jedno popołudnie z lutownicą niepotrzebną — wszystko wpina się wtyczkami. Efektem jest własna stacja TETRA widoczna na mapie sieci.

Nic tu nie jest przypadkowe — przy każdej pozycji piszemy, dlaczego akurat taka, bo na trzech z nich najłatwiej się przejechać: karcie pamięci, zasilaczu i chłodzeniu.
Serce stacji — cały stos TETRA liczy się w czasie rzeczywistym na CPU. Bierz Pi 5 z co najmniej 2 GB RAM. Na Pi 4 stację też uruchomisz, ale licz się z problemami ze stabilnością — powód opisujemy w pytaniach na dole.
TetraSpot pisze logi i nagrania bez przerwy, 24/7. Zwykła karta pada po kilku miesiącach takiego cyklu — karty z serii High Endurance (SanDisk Max Endurance, Samsung PRO Endurance) są zaprojektowane pod ciągły zapis.

Nasz własny projekt (SQ8MXP i SP8MB) — nakładka SDR wpinana wprost na złącze GPIO. To ona robi całą część radiową. Każdy egzemplarz kalibrujemy u siebie, więc wyciek generatora masz wytłumiony fabrycznie i niczego nie musisz stroić. Wydatek ok. 350 zł; dostępność: kontakt z SP8MB, bo płytki powstają seriami.
Tu nie ma pola do oszczędzania. Pi 5 z nakładką radiową potrafi chwilowo pobrać sporo prądu; ładowarka od telefonu kończy się throttlingiem, restartami w trakcie nadawania i uszkodzoną kartą pamięci.
Stacja liczy DSP non stop, a siedzi w zamkniętej obudowie. Bez wentylatora Pi dobija do limitu temperatury i zbija taktowanie — słychać to jako przerywany głos.
HAT ma miniaturowe gniazda U.FL, anteny mają SMA — pigtail je łączy i wyprowadza złącze na ścianę obudowy. Bierz wersję panelową (z nakrętką), żeby dało się antenę przykręcić do obudowy, a nie zostawiać ją na wiszącym kabelku.
Osobna antena dla toru nadawczego i odbiorczego — TetraSpot pracuje dupleksowo, nadaje i odbiera równocześnie. Rozstaw je jak najdalej od siebie; im lepsza separacja, tym czulszy odbiornik.
Kluczowe jest to, żeby dało się przykręcić anteny do obudowy — gniazda SMA przechodzą przez ściankę. Wydruk 3D sprawdza się w zupełności; aluminium dodatkowo ekranuje i odprowadza ciepło.
Całość skręca się wkrętakiem. Jedyne miejsce wymagające wyczucia to złącza U.FL — są malutkie i nie lubią bocznych szarpnięć.
Nasuń TMO HAT na 40-pinowe złącze Raspberry Pi — równo, wszystkie piny naraz, bez przekoszenia. Skręć całość na dystansach M2.5: bez nich płytka wygina się przy wpinaniu pigtaili i z czasem pęka.
Wciśnij wtyki U.FL na gniazda RX i TX — pionowo, palcem lub plastikiem, aż klikną. To złącze jest przewidziane na kilkadziesiąt cykli, więc traktuj je jako połączenie „raz a dobrze”, nie serwisowe.
Przełóż złącza panelowe pigtaili przez otwory w obudowie i dokręć nakrętki od zewnątrz (klucz 8 mm). Ułóż kabelki tak, żeby nie leżały na radiatorze ani nie blokowały wentylatora.
Chłodzenie, wentylacja, pokrywa — a na koniec anteny. Rozstaw je możliwie daleko od siebie. Nigdy nie włączaj nadawania bez podłączonych anten: stopień mocy pracuje wtedy „w powietrze” i może się uszkodzić.
Nie instalujesz Raspberry Pi OS ręcznie i nic nie kompilujesz. Wypełniasz ankietę w kreatorze, dostajesz obraz karty ustawiony pod swój znak i częstotliwości, wgrywasz go na kartę — i stacja przy pierwszym starcie sama się konfiguruje.
Kreator stoi pod adresem update.tetra-poland.pl i jest otwarty, ale generacja obrazu rusza dopiero z kodem zaproszenia. Kod bierze się stąd, że na końcu procesu stacja wchodzi do sieci VPN floty — dostaniesz go od SP8MB albo na grupie Telegram TETRA-POLAND. Przy okazji ustalisz numer grupy rozmównej dla swojej stacji.
Jeden formularz, kilka minut. Podajesz znak (staje się nazwą stacji), częstotliwości nadawania i odbioru — kreator sprawdza je na bieżąco kalkulatorem kanałów, więc nie wpiszesz pary spoza siatki — oraz rodzaj SDR i wersję płytki. Dalej idą rzeczy sieciowe: podłączenie do sieci TetraPoland i przydzielona grupa, login i hasło BrandMeistera (z nich wyliczy się ISSI stacji), sieć Wi-Fi, własne hasło systemowe i kanał aktualizacji. Dane pakietowe z WAP-em, zegarynkę i adres na wyświetlaczu radia masz zaznaczone domyślnie — zostaw, jeśli nie masz powodu inaczej.
Po wysłaniu zgłoszenia dostajesz maila z linkiem potwierdzającym — dopiero on uruchamia budowę obrazu. Typowe wydanie schodzi w okolicach 12 minut, postęp widzisz na stronie. Na koniec dostajesz link do pobrania pliku .img.xz oraz notatkę z hasłami, pokazywaną tylko raz — zapisz ją od razu. Obraz leży na serwerze 24 godziny, potem znika.
W Raspberry Pi Imager wybierz Use custom i wskaż pobrany plik — Imager sam go rozpakuje. Nie włączaj personalizacji Imagera (zębatka / Ctrl+Shift+X): użytkownik, hasło, SSH i cała ankieta są już w obrazie, a ustawienia Imagera by je nadpisały. Wolisz konsolę — pod Linuksem i macOS zadziała zwykłe dd, tylko upewnij się co do litery urządzenia, bo pomyłka kasuje inny dysk.
# wariant konsolowy (Linux / macOS)
xz -d tetraspot-SP8MB-2026.08.08.img.xz
lsblk # sprawdz litere karty!
sudo dd if=tetraspot-SP8MB-2026.08.08.img of=/dev/sdX \
bs=4M status=progress conv=fsyncWłóż kartę, przykręć anteny, podłącz zasilanie. Pierwsze uruchomienie personalizuje system i po drodze raz się restartuje — daj mu kilka minut. Potem stacja wstaje sama, melduje się w sieci i widać ją na mapie, a panel masz w przeglądarce pod https://tetraspot-znak.local (domyślnie bez logowania). Przy okazji sprawdź, czy zasilanie i chłodzenie dają radę: throttled=0x0 oznacza, że nic nie ogranicza procesora. Gdyby pierwszy start się nie udał, jego log zostaje na partycji rozruchowej karty — widać go po włożeniu karty do komputera.
ssh tetraspot@tetraspot-<znak>.local vcgencmd get_throttled # 0x0 = zasilanie i chlodzenie OK vcgencmd measure_temp systemctl status tetra-switch tetra-hotspot
Stosu nie instalujesz osobno — jedzie w obrazie z kreatora jako usługi systemd. Po pierwszym starcie wstaje razem z systemem, a wszystko konfigurujesz z przeglądarki.
Stacja to połowa roboty — druga połowa siedzi w codeplugu radia. Poniżej dane sieci do wpisania, a dalej dwie rzeczy, które większość instrukcji pomija: dostęp do internetu z radiotelefonu (dane pakietowe) i przeglądarka WAP na jego wyświetlaczu.
Radio musi wiedzieć, jakiej sieci szukać i na jakich częstotliwościach. To te same wartości, którymi startuje TetraSpot po instalacji — jeśli zmienisz je na stacji, zmień je też tutaj. Nadajesz w paśmie amatorskim, więc pilnuj planu pasma 430–440 MHz.
MCC ............... 901
MNC ............... 9998
Pasmo ............. 430-440 MHz (TETRA band 4)
Odbior radia (DL) . 440,000 MHz
Nadawanie (UL) .... 430,000 MHz
Odstep (shift) .... 10 MHz
Grupy ............. 10-90 (hub TetraPoland)
91+ (BrandMeister)Grupy 10–90 obsługuje hub TetraPoland — to na nich spotkasz resztę sieci, a ruch z Twojej stacji jest w nich słyszalny w całym kraju. Od 91 w górę idzie niezależne wyjście do BrandMeistera. Zacznij od TG20: to grupa wywoławcza, na której najłatwiej złapać kogoś do pierwszego testu. Potrzebujesz grupy, której na liście nie ma — dla swojego kraju, regionu albo grupy operatorów? Odezwij się, założymy ją; lista nie jest zamknięta.
TetraSpot przydziela radiu adres IP i wypuszcza jego ruch do internetu. W CPS Motoroli znajdziesz to w Codeplug → Data Services. Adresu nie wpisujesz ręcznie — stacja przydziela go z własnej puli, radio ma go tylko poprosić. Uwierzytelnianie CHAP jest po stronie stacji obsłużone, więc pole User Authentication możesz zostawić tak, jak masz.
Codeplug -> Data Services -> Packet Data Parameters Request a Dynamic IP Address ... zaznacz Default Packet Data Mode ....... Voice & Data Static IP Address .............. 0.0.0.0 (nieuzywane) User Authentication ............ dowolnie (CHAP obslugiwany)
Przeglądarka wbudowana w radio łączy się przez bramę WAP na stacji — dlatego proxy wskazuje na 10.0.0.1, czyli adres samej stacji w podsieci danych. Jako stronę startową wpisz portal TetraSpota; działają też zwykłe lekkie strony http:// (nowoczesne HTTPS się nie wyrenderuje — to ograniczenie WAP, nie stacji).
Codeplug -> Data Services -> WAP -> Proxy Table 1 Proxy IP Address ... 10.0.0.1 (stacja w podsieci danych) Remote Port ........ 9201 (9200 = zapasowy) Bearer Index ....... 0 (Bearer Table 1: TETRA_PACKET) Active ............. zaznacz (bez tego radio nie uzyje tabeli) Codeplug -> Data Services -> WAP -> WAP Parameters Active proxy ....... Proxy Table 1 Homepage ........... http://10.0.0.1:4440/wap
Otwórz przeglądarkę w radiu i wejdź na stronę startową. Zobaczysz menu portalu: status komórki, log rozmów ze znakami (połączenia z huba mają swój znacznik), log SDS i listę zalogowanych radiotelefonów. Jeśli strona się otworzyła, to znaczy że radio ma adres IP, kanał danych stoi, a brama odpowiada — całą ścieżkę masz sprawdzoną jednym ruchem.
Tak. TetraSpot to nadajnik pracujący w paśmie amatorskim 430–440 MHz, więc do jego uruchomienia potrzebne jest świadectwo operatora i pozwolenie radiowe, a stacja pracuje pod Twoim znakiem. Bez uprawnień możesz zbudować sprzęt i słuchać, ale nie nadawać.
Nie — niech nie zmyli Cię domena. Adres jest polski, bo stąd wyszedł projekt, ale sieć jest dla wszystkich, bez względu na narodowość. Stacje i operatorzy spoza Polski wchodzą do niej na tych samych zasadach. Jeśli potrzebne będą dodatkowe grupy rozmówne ponad te, które już działają — dla innego kraju, regionu albo grupy operatorów — napisz na grupie Telegram TETRA-POLAND albo na marcin@sp8mb.pl, a zostaną założone.
TMO HAT to ok. 350 zł, reszta elektroniki kilkaset złotych więcej, a używane radio TETRA startuje od ok. 400 zł — całość zwykle zamyka się w okolicach 1300 zł. Szczegóły i wariant BTS 10 W opisaliśmy na stronie projektu TetraSpot.
Uruchomisz, ale nie licz na stabilną pracę. Strumień audio z HAT-a idzie po I2S przez DMA i program musi zdążyć opróżnić bufor zanim się zapełni. Kiedy system akurat zapisuje logi albo zajmuje się czymś innym, proces nie wyrabia i gubi próbki (XRUN) — słychać to jako trzaski i urwany głos. Pi 5 ma zapas mocy i przepustowości pamięci, którego czwórce po prostu brakuje.
Tak — poza Raspberry Pi stack działa poprawnie na x86-64, więc mini-PC jest sensowną alternatywą, jeśli nie zależy Ci na małej obudowie.
Nie — TetraSpot obsługuje układy SX1255, AD9363 i AD9361, więc teoretycznie pasuje każda nakładka oparta o te chipsety. O jakości decydują natomiast trzy rzeczy: wzorzec TCXO, filtry i kalibracja. Słabszy TCXO potrafi odpłynąć wraz z temperaturą — stacja grzeje się w zamkniętej obudowie, częstotliwość ucieka i terminale zaczynają gubić synchronizację. Kiepskie filtry przepuszczają to, co powinny wyciąć. Obca płytka przyjedzie też najpewniej nieskalibrowana, więc wyciek generatora zostaje w samym środku Twojego kanału i psuje jakość nadawanego sygnału. TMO HAT jest po prostu najprostszą drogą: wpina się wprost w Pi, kosztuje ok. 350 zł, jest skalibrowany i nie musisz niczego dobierać samodzielnie.
Płytki powstają małymi seriami w społeczności — po sztukę odezwij się do SP8MB albo napisz na grupie Telegram TETRA-POLAND.
Przy tej konstrukcji tak — TetraSpot nadaje i odbiera jednocześnie (duplex 10 MHz), więc tory RX i TX mają osobne wyjścia. Alternatywą jest duplekser i jedna antena, ale to już rozwiązanie z wariantu BTS, znacznie droższe.
Sam HAT daje moc hotspota. Do stacji bazowej dochodzi driver, wzmacniacz mocy, duplekser i filtry. Najwięcej kłopotu sprawia PA: TETRA nadaje modulacją o zmiennej obwiedni (π/4-DQPSK), więc wzmacniacz musi pracować liniowo, w klasie A — inaczej rozjeżdża się widmo i zaczynasz przeszkadzać sąsiednim kanałom. Cena za tę liniowość to kiepska sprawność i naprawdę sporo ciepła do odprowadzenia. Duplekser pozwala pracować na jednej antenie, a filtry pilnują, żeby nie śmiecić poza swoim kanałem.