HowTo

Zbuduj własny TetraSpot.

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.

Gotowy TetraSpot — Raspberry Pi 5 w obudowie z dwiema antenami i dwa radiotelefony Motorola zalogowane do sieci
Cel: TetraSpot HS — dwie anteny przykręcone do obudowy, radia zalogowane do TG10.

Zanim zaczniesz

  • Nie trzeba lutować — wszystko łączy się wtyczkami i śrubkami
  • Potrzebny śrubokręt krzyżakowy i klucz 8 mm do nakrętek SMA
  • Montaż zajmuje ok. godziny, system i konfiguracja drugie tyle
  • Do nadawania wymagane są uprawnienia krótkofalarskie
Nadajesz pod własnym znakiem. TetraSpot pracuje w paśmie amatorskim 430–440 MHz, więc obowiązują Cię te same zasady co przy każdej innej stacji — świadectwo operatora, pozwolenie radiowe i plan pasma.
01 — Lista zakupowa

Osiem rzeczy i tyle.

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.

WymaganeSoC

Raspberry Pi 5

Minimum 2 GB RAM · zalecana wersja 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.

WymaganeHIGHENDUR.

Karta microSD High Endurance

32 GB · klasa A2 / U3 / V30 · seria „High / Max Endurance”

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.

WymaganeTMO HAT — płytka SX1255 HAT projektu SQ8MXP i SP8MB

TMO HAT (SX1255)

RX 430 MHz · TX 440 MHz · TCXO · 2× U.FL

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.

Wymagane5A

Oryginalny zasilacz USB-C

Raspberry Pi 27 W USB-C PD · 5,1 V / 5 A

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.

Wymagane

Aktywne chłodzenie

Official Active Cooler lub obudowa z wentylatorem

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.

WymaganeU.FLSMA

Pigtaile U.FL → SMA

2 szt. · 10–15 cm · SMA female do montażu panelowego

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.

Wymagane

Anteny 70 cm

2 szt. · SMA · 430–440 MHz

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.

Wymagane

Obudowa

Wydruk 3D lub aluminiowa · 2 otwory pod SMA

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.

Komplet od~1300 złRaspberry Pi 5 z osprzętem, TMO HAT i używane radio TETRA. Wariant BTS 10 W to dodatkowo ~2000 zł (driver, wzmacniacz mocy w klasie A, duplekser, filtry, antena dachowa).
02 — Montaż

Cztery kroki, zero lutowania.

Całość skręca się wkrętakiem. Jedyne miejsce wymagające wyczucia to złącza U.FL — są malutkie i nie lubią bocznych szarpnięć.

01

Osadź HAT na złączu GPIO

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.

02

Podłącz pigtaile U.FL

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.

03

Zamontuj gniazda SMA w obudowie

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.

04

Zamknij obudowę i przykręć anteny

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ć.

03 — Obraz stacji

Gotowy obraz, bez składania systemu.

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.

01

Zdobądź kod zaproszenia

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.

02

Przejdź przez ankietę

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.

03

Potwierdź mailem i odbierz obraz

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.

04

Wgraj obraz na kartę

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=fsync
05

Pierwszy start — stacja robi resztę sama

Włóż 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
04 — Oprogramowanie

Paczka TetraSpot.

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.

Aktualizacje przychodzą same. Stacja sprawdza kolejne wydania i pobiera je sama; każde jest podpisane cyfrowo, a niepoprawnie podpisane odrzuca. Twoja konfiguracja, bazy i logi zostają nietknięte. Nie potrzebujesz kompilatora ani ręcznej instalacji — a jeśli czegoś brakuje albo chcesz kod zaproszenia, odezwij się do SP8MB.

Co dostajesz w paczce

05 — Radio

Co ustawić w radiotelefonie.

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.

01

Wpisz dane sieci do codeplugu

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)
02

Dodaj grupy rozmówne

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.

03

Włącz dane pakietowe — internet z radiotelefonu

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)
04

Ustaw bramę WAP i stronę startową

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
05

Sprawdź, czy działa

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.

To są wartości domyślne. MCC, MNC, częstotliwości i odstęp ustawisz po stronie TetraSpota dowolnie — powyżej podajemy to, z czym stacja startuje po instalacji. Dane pakietowe i WAP w obrazie dystrybucyjnym są włączone domyślnie, więc zwykle wystarczy sama strona radia.
06 — Pytania

Zanim zamówisz.

Czy potrzebuję licencji krótkofalarskiej?

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ć.

Czy sieć jest tylko dla Polski?

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.

Ile to wszystko kosztuje?

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.

Czy zadziała na Raspberry Pi 4?

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.

A na zwykłym PC?

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.

Czy muszę użyć waszego HAT-a?

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.

Skąd wziąć TMO HAT?

Płytki powstają małymi seriami w społeczności — po sztukę odezwij się do SP8MB albo napisz na grupie Telegram TETRA-POLAND.

Czy dwie anteny są konieczne?

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.

Czego potrzeba, żeby zrobić z tego pełny BTS?

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.