Podczas budowy mojego hotspotu MMDVM pojawiła się potrzeba zastosowania większego i bardziej czytelnego wyświetlacza niż typowy 0,96" ekran OLED. Zamiast kupować kolejny gotowy moduł (domyślnie Nextion), postanowiłem zbudować własny emulator wyświetlacza NEXTION, wykorzystujący kolorowy ekran TFT 320 × 240 pikseli oraz mikrokontroler ESP32.
Urządzenie komunikuje się z hotspotem poprzez interfejs szeregowy dedykowany dla wyświetlacza NEXTION. Z punktu widzenia MMDVM mój emulator zachowuje się więc jak oryginalny wyświetlacz, ale cała grafika jest generowana bezpośrednio przez ESP32.
Co pokazuje wyświetlacz?
Podczas odbioru transmisji na ekranie prezentowane są najważniejsze informacje:
- znak wywoławczy korespondenta,
- imię operatora,
- aktywna grupa TalkGroup,
- poziom odbieranego sygnału RSSI,
- wskaźnik jakości transmisji BER,
- aktywny tryb DMR,
- numer slotu /opcja/,
- aktualny status RX/IDLE,
- trzy ostatnio słyszane stacje (w czasie "oczekiwania").
Interfejs został zaprojektowany tak, aby najważniejsze informacje były widoczne z większej odległości. Zrezygnowałem więc z typowego „terminalowego” wyglądu na rzecz prostego, graficznego interfejsu.
Wskaźnik poziomu sygnału
Dodatkowo wyświetlacz posiada graficzny wskaźnik poziomu sygnału. Jego wskazania są uzależnione od wartości RSSI otrzymywanej z MMDVM.
Im silniejszy sygnał, tym więcej aktywnych segmentów wskaźnika. Zastosowane zostało również kolorowe oznaczenie poziomu sygnału:
czerwony → żółty → zielony
Dzięki temu nie trzeba nawet odczytywać wartości liczbowej — jednym spojrzeniem można ocenić jakość odbioru.
Wskaźnik BER
Drugim ważnym parametrem jest BER, czyli Bit Error Rate. Na ekranie znajduje się zarówno wartość BER, jak i graficzny pasek.
Przy małym poziomie błędów pasek pozostaje krótki i zielony. Wraz ze wzrostem BER zmienia kolor na żółty, a przy większej liczbie błędów przechodzi w czerwony.
W przypadku cyfrowego DMR jest to bardzo przydatna informacja, ponieważ sam poziom RSSI nie zawsze mówi nam, czy transmisja będzie poprawnie odbierana.
Ekran oczekiwania
Gdy korespondent kończy nadawanie, wyświetlacz przechodzi w ekran oczekiwania na następnego korespondenta.

Gdy nie pojawia się nowy korespondent i grupa zostaje zamknięta znika sygnalizacja oczekiwania a jej miejsce zajmuje zegar.
Wygaszacz ekranu
Ponieważ wyświetlacz pracuje praktycznie przez cały czas, dodałem również prosty wygaszacz ekranu.
Po 5 minutach braku aktywności ekran zostaje wygaszony. Nie oznacza to oczywiście wyłączenia hotspotu — ESP32 oraz komunikacja z MMDVM nadal pracują. Opcjonalnie można wyłączyć programowo podświetlenie matrycy wyświetlacza. Ta funkcja jest ujęta w programie.
Pojawienie się nowej aktywności automatycznie wybudza ekran i ponownie pokazuje informacje o korespondencie.
ESP32 zamiast klasycznego NEXTION
Najciekawszą częścią projektu jest chyba właśnie sposób działania urządzenia.
Oryginalny wyświetlacz NEXTION posiada własny procesor i interpretuje polecenia przesyłane przez MMDVM. Tutaj jego rolę przejmuje ESP32.
ESP32:
odbiera dane z interfejsu szeregowego MMDVM,
analizuje polecenia przeznaczone dla NEXTION,
wyodrębnia z nich informacje o korespondencie,
rozpoznaje TalkGroup, RSSI i BER,
generuje własny interfejs graficzny na ekranie TFT.
Dzięki temu wygląd wyświetlacza można zmieniać programowo bez ingerencji w konfigurację samego hotspotu.
Dlaczego właśnie tak?
Projekt powstał przede wszystkim z ciekawości i chęci wykorzystania tego, co już miałem w warsztacie.
Zamiast ograniczać się do możliwości fabrycznego ekranu NEXTION, można stworzyć własny interfejs dokładnie taki, jaki jest potrzebny.
A ponieważ ESP32 ma znacznie większe możliwości niż klasyczny sterownik prostego wyświetlacza, pozostaje jeszcze sporo miejsca na dalszy rozwój programu.
Na tym etapie najważniejsze jest jednak to, że urządzenie działa stabilnie i spełnia swoją podstawową funkcję.
Reszta? Jak to zwykle w projektach krótkofalarskich bywa — skoro działa, to zawsze można jeszcze coś poprawić. 😉
Schemat połączeń (ESP32 <-> ST7789 & MMDVM)
Wyświetlacz ST7789 -> ESP32:
- CS -> GPIO 15
- RST -> GPIO 4
- DC -> GPIO 2
- MOSI -> GPIO 23
- SCLK -> GPIO 18
- VCC -> 3.3V
- GND -> GND
- BL -> GPIO 32 /podświetlenie matrycy –opcja/
Połączenie z Pi-Star (UART):
RX2 (GPIO 16) ESP32 -> TX z płyty MMDVM / Raspberry Pi (3.3V Logic)
TX2 (GPIO 17) ESP32 -> RX z płyty MMDVM / Raspberry Pi (3.3V Logic)
(GND ESP32 -> GND Raspberry Pi / MMDVM (WAŻNE!
- Zwróćcie uwagę, że do wyświetlacza z tego złącza wysyłane są dane (Rx i Tx) oraz masa i +5V. Tak więc łączymy go z Vin ESP32 i nie potrzebujemy dodatkowego (osobnego) zasilania do modułu wyświetlacza.
Należy też pamiętać, że zasilając wyświetlacz przez gniazdo USB modułu ESP32 zasilamy też moduł MMDV i Raspberry Pi. Tak więc zasilanie z gniazda Raspberry należy wcześniej wyłączyć.
Konfiguracja w programie Pi-Star
Aby emulator działał poprawnie, w panelu Pi-Star Configuration należy zmienić ustawienia w sekcji MMDVM Display Driver:
MMDVM Display Type:
NextionPort:
Modem(lub/dev/ttyAMA0w zależności od połączenia)Nextion Layout:
G4KLX
Podsumowanie
Mój emulator NEXTION jest więc niewielkim, samodzielnym terminalem informacyjnym dla hotspotu MMDVM.
ESP32 + TFT 320 × 240 + interfejs NEXTION/MMDVM pozwalają uzyskać czytelny, kolorowy ekran prezentujący najważniejsze informacje o aktualnej pracy hotspotu.
Projekt pokazuje również, że nie zawsze trzeba korzystać z gotowych rozwiązań. Czasami wystarczy mikrokontroler, wyświetlacz i trochę wolnego czasu, aby zrobić urządzenie dokładnie dopasowane do własnych potrzeb.
Jeszcze jeden "drobiazg" na który proponuję zwrócić uwagę: Fabryczne "anteny" które były dołączone do MMDVM. Rezonans na częstotliwości 424 MHz. Może tylko mi się takie trafiły? :) Co prawda nadajnik ma około 15 mW ale tak być nie powinno. Proponuję sprawdzić co otrzymaliście w zestawie.
Jeśli zainteresował Cię ten projekt i chciałbyś do niego program - napisz. Z pewnością Ci go wyślę.
✍️ Autor: Robert HF5WWL
📅 Data projektu: sierpień 2026 r.
📍 Lokalizacja: Wołomin, POLSKA
📁 Coś nie jasne? Pytaj poprzez e-mail (hf5wwl@gmail.com) lub w komentarzu
🛠️ Poziom trudności: Łatwy (jak się ma oprogramowanie) 😊
#DIY #DoItYourself #HAMRadio #HamTech #ESP32 #MMDVM #DMR #RadioAmatorskie #Krótkofalarstwo #Homebrew #Electronics #Maker #TechProject #DigitalRadio #DMRMonitor

























