馃摱馃彔 Czy Twoje projekty IoT trac膮 zasi臋g tam, gdzie najbardziej go potrzebujesz? Je偶eli tak, to rozwi膮zanie jest dla Ciebie!
W prezentowanej modyfikacji modu艂u opartego o procesor ESP32-D0WD06 zdecydowa艂em si臋 na rezygnacj臋 z fabrycznej anteny PCB i zast膮pienie jej gniazdem SMA, umo偶liwiaj膮cym pod艂膮czenie zewn臋trznej anteny WiFi. Celem modernizacji by艂o poprawienie zasi臋gu, stabilno艣ci po艂膮czenia oraz elastyczno艣ci w doborze anteny – szczeg贸lnie w zastosowaniach stacjonarnych i eksperymentalnych.
Antena PCB – dlaczego nie zawsze wystarcza?
Fabryczna antena drukowana (PCB) ma jedn膮 niezaprzeczaln膮 zalet臋: nic nie kosztuje i nie zajmuje miejsca. Niestety, w praktyce jej skuteczno艣膰 bywa mocno zale偶na od:
po艂o偶enia modu艂u,
otoczenia (obudowa, przewody, p艂aszczyzna masy),
odleg艂o艣ci od punktu dost臋powego.
W przypadku projekt贸w, w kt贸rych modu艂 ESP32 pracuje w obudowie lub w trudniejszych warunkach propagacyjnych, antena PCB szybko staje si臋 w膮skim gard艂em.
Zakres modyfikacji
Modernizacja polega艂a na:
Przeci臋ciu 艣cie偶ki anteny PCB w precyzyjnie dobranym miejscu – dok艂adnie tam, gdzie ko艅czy si臋 linia zasilaj膮ca anten臋, a zaczyna jej struktura promieniuj膮ca.
Odseparowaniu anteny drukowanej od toru RF, aby zapobiec jej dalszemu wp艂ywowi na dopasowanie impedancyjne.
Przylutowaniu gniazda SMA:
艣rodkowy pin gniazda do punktu zasilania anteny (RF),
masa gniazda do masy modu艂u (kilka punkt贸w lutowniczych, mo偶liwie kr贸tka droga).
Na za艂膮czonych zdj臋ciach wida膰 zar贸wno oryginaln膮 posta膰 modu艂u z anten膮 PCB, jak i wersj臋 po modyfikacji, wyposa偶on膮 w solidnie osadzone gniazdo SMA.
Aspekty techniczne – kilka wa偶nych uwag
Minimalna d艂ugo艣膰 po艂膮czenia RF
Po艂膮czenie pomi臋dzy wyj艣ciem RF ESP32 a gniazdem SMA wykonano mo偶liwie najkr贸tsz膮 drog膮. Przy 2,4 GHz ka偶dy milimetr ma znaczenie – to ju偶 nie s膮 przewody, tylko linie transmisyjne.
Masa ma znaczenie
Gniazdo SMA zosta艂o solidnie po艂膮czone z mas膮 modu艂u. Dobre uziemienie to warunek konieczny dla poprawnej pracy toru antenowego i stabilnej impedancji.
Brak dodatkowych element贸w
W tej modyfikacji nie stosowano dodatkowych kondensator贸w ani d艂awik贸w – wykorzystano istniej膮cy tor RF, kt贸ry w wersji fabrycznej zasila艂 anten臋 PCB.
pe艂n膮 swobod臋 eksperyment贸w antenowych – od kr贸tkich „patyczk贸w” po solidne anteny panelowe.
A co najwa偶niejsze: modyfikacja jest odwracalna tylko w teorii, ale w praktyce – je艣li raz zobaczysz r贸偶nic臋 w RSSI i stabilno艣ci linku, do anteny PCB raczej nie b臋dziesz chcia艂 wraca膰 馃槈
Podsumowanie
Opisana modernizacja to prosty, ale bardzo skuteczny spos贸b na podniesienie mo偶liwo艣ci modu艂u ESP32. Wymaga precyzji, pewnej r臋ki i podstawowej 艣wiadomo艣ci RF, ale efekty s膮 absolutnie warte wysi艂ku – szczeg贸lnie w projektach, gdzie niezawodna 艂膮czno艣膰 WiFi jest kluczowa.
Zasi臋g to cz臋sto "by膰 albo nie by膰" dla urz膮dze艅 brzegowych. W ramach optymalizacji modu艂u ESP32-D0WD-V3, przeprowadzi艂em modyfikacj臋 toru RF, zast臋puj膮c zintegrowan膮 anten臋 PCB profesjonalnym gniazdem SMA. Taka zmiana pozwala na pe艂n膮 elastyczno艣膰 w doborze anten zewn臋trznych i drastyczn膮 popraw臋 parametr贸w RSSI. Czyste ci臋cie, pewny lut, lepszy zasi臋g.
✍️ Autor:Robert HF5WWL 馃搮 Data projektu: Luty 2026 r. 馃搷 Lokalizacja: Wo艂omin, POLSKA 馃搧 Co艣 nie jasne? Pytaj poprzez e-mail (hf5wwl@gmail.com) lub w komentarzu 馃洜️ Poziom trudno艣ci: 艁atwy 馃槉
Na
moim blogu cz臋sto prezentuj臋 projekty zwi膮zane z elektronik膮 i
mikrokontrolerami. Dzi艣 chcia艂bym przedstawi膰 jeden z moich
najciekawszych projekt贸w: Zaawansowany zegar NTP wsp贸艂pracuj膮cy z lokalnym serwerem czasu i pe艂n膮 konfiguracj膮 przez interfejs WWW.
馃晲 Koncepcja projektu
Zegar ten to niezwykle precyzyjne urz膮dzenie czasu, kt贸re pracuje w ca艂kowicie odizolowanej od internetu sieci WiFi. Jego dok艂adno艣膰 wynika z synchronizacji z lokalnym serwerem NTP Stratum 1 opartym na odbiorniku GPS, kt贸ry dzia艂a w tej samej sieci.
Zegar wsp贸艂pracuje z domowym AP opisanym tutaj. Serwer czasu zostanie przedstawiony i opisany w p贸藕niejszym czasie.
✨ Kluczowe funkcje
1. Autonomiczna sie膰 czasu
Praca w izolowanej prywatnej sieci WiFi
Synchronizacja z lokalnym serwerem NTP (GPS Stratum1)
Brak zale偶no艣ci od zewn臋trznego internetu
2. Inteligentny wy艣wietlacz LED
60 diod WS2812 u艂o偶onych w pier艣cie艅
Oddzielne kolory dla godzin, minut i sekund
Programowalne kolory tarczy i znacznik贸w
Adaptacyjna regulacja jasno艣ci (fotorezystor)
3. Pe艂na konfiguracja WebUI
Nowoczesny interfejs WWW z zak艂adkami
Konfiguracja WiFi, NTP, kolor贸w i jasno艣ci
Tryb Access Point do pierwszej konfiguracji
Statyczne/dynamiczne adresy IP
4. Zaawansowane sterowanie jasno艣ci膮
Tryb automatyczny - dostosowanie do warunk贸w o艣wietleniowych
Tryb r臋czny - pe艂na kontrola przez WWW
Oddzielna regulacja jasno艣ci tarczy i wskaz贸wek
Algorytm priorytet贸w wy艣wietlania
馃敡 Techniczne detale
Platforma:
Mikrokontroler: ESP8266MOD (NodeMCU lub podobny)
Wy艣wietlacz: Pier艣cie艅 60x WS2812B LED
Czujnik 艣wiat艂a: Fotorezystor pod艂膮czony do A0
Pami臋膰 konfiguracji: EEPROM z wersjonowaniem struktury
Tryby pracy:
STA (Station Mode) - normalna praca z sieci膮 WiFi
AP (Access Point Mode) - tryb konfiguracji przy braku sieci
Automatyczne prze艂膮czanie mi臋dzy trybami w razie potrzeby
Responsywny design - dzia艂a na komputerze i telefonie
Zapis konfiguracji z walidacj膮 danych
Panel statusu systemu w czasie rzeczywistym
馃帹 Mo偶liwo艣ci personalizacji
Kolorystyka:
Godziny: programowalny kolor RGB
Minuty: programowalny kolor RGB
Sekundy: programowalny kolor RGB
Tarcza (godziny g艂贸wne): programowalny kolor
Znaczniki 5-minutowe: programowalny kolor
Ustawienia sieci:
Wyb贸r mi臋dzy DHCP a statycznym IP
Konfiguracja bramy i maski podsieci
Mo偶liwo艣膰 zmiany adresu serwera NTP
Przesuni臋cia czasowe UTC i czasu letniego
馃攧 Zarz膮dzanie systemem
Funkcje Administracyjne:
Restart systemu przez WWW
Reset do ustawie艅 fabrycznych
Czyszczenie EEPROM (ca艂kowity reset)
Wczytywanie/zapisywanie konfiguracji
Monitorowanie statusu w czasie rzeczywistym
Informacje systemowe:
Wolna pami臋膰 mikrokontrolera
Status po艂膮czenia WiFi
Synchronizacja NTP
Aktualny czas systemowy
Wersja oprogramowania i konfiguracji
馃搳 Algorytm wy艣wietlania
Kolorem 偶贸艂tym oznaczy艂em "cyfry g艂贸wne". Kolor zielony to aktualny czas: czerwony LED -godzina, zielony LED -minuta, niebieski LED -sekunda, czyli mamy godzin臋 14:18:33.
Zegar wykorzystuje inteligentny algorytm priorytet贸w:
Tarcza z godzinami g艂贸wnymi i znacznikami 5-minutowymi
Wskaz贸wka godzinowa (z priorytetem nad tarcz膮)
Wskaz贸wka minutowa (z priorytetem nad godzinow膮)
Wskaz贸wka sekundowa (najwy偶szy priorytet)
Ka偶dy element ma oddzielnie regulowan膮 jasno艣膰, co pozwala na optymaln膮 czytelno艣膰 w r贸偶nych warunkach o艣wietleniowych.
馃洜️ Mo偶liwo艣ci rozwoju
Projekt zosta艂 zaprojektowany modularnie, co umo偶liwia 艂atwe rozszerzanie funkcjonalno艣ci:
Dodanie wy艣wietlania daty
Alarmy i timery
Integracja z innymi systemami domowymi
Wsparcie dla wielu stref czasowych
Logowanie historii zmian czasu
Oczywi艣cie mo偶na doda膰 t艂o z naniesionymi opisami godzin (tarcza zegara) ale to ju偶 pozostawiam inwencji ewentualnego wykonawcy.
馃挕 Dlaczego ten projekt jest wyj膮tkowy?
Niezale偶no艣膰 - dzia艂a bez dost臋pu do internetu
Precyzja - czas GPS z dok艂adno艣ci膮 do mikrosekund
Elastyczno艣膰 - pe艂na konfiguracja bez programowania
Estetyka - pi臋kne, p艂ynne animacje LED
Niezawodno艣膰 - automatyczne odzyskiwanie po awariach
馃搵 Wymagania techniczne do budowy
ESP8266MOD (NodeMCU, Wemos D1 mini)
Pier艣cie艅 60 LED WS2812B
Fotorezystor + rezystor 10k惟 (jak nie masz na p艂ytce)
Zasilacz 5V/3A
Obudowa (opcjonalnie)
Lokalny serwer NTP z GPS (oddzielne urz膮dzenie)
Informacja z serwera czasu (osobne urz膮dzenie sieciowe).
Na koniec kilka zrzut贸w ekranu pokazuj膮cych mo偶liwo艣ci zdalnego sterowania zegarem:
Ten zegar to doskona艂y przyk艂ad, jak po艂膮czy膰 zaawansowan膮 elektronik臋, precyzyjne pomiary czasu i nowoczesne interfejsy u偶ytkownika. Ca艂y kod jest dost臋pny ZA DARMO po przes艂aniu zapytania na e-mail hf5wwl@gmail.com
Czy masz pomys艂 na dodatkowe funkcje, kt贸re mo偶na by doda膰 do tego zegara? Podziel si臋 swoimi przemy艣leniami w komentarzach!
✍️ Autor:Robert HF5WWL 馃搮 Data projektu: Stycze艅 2026 r. 馃搷 Lokalizacja: Wo艂omin, POLSKA 馃搧 Kod 藕r贸d艂owy: Pytaj poprzez e-mail (hf5wwl@gmail.com). 馃洜️ Poziom trudno艣ci: 艁atwy (gdy masz gotowy program 馃槉).
Licencja: Projekt open-source do u偶ytku niekomercyjnego
Cze艣膰! Dzi艣 chcia艂bym podzieli膰 si臋 z Wami moim najnowszym projektem: "profesjonalnym" odbiornikiem VHF z interfejsem webowym,
kt贸ry zbudowa艂em w oparciu o modu艂 radiowy SA868S, mikrokontroler ESP32
oraz wy艣wietlacz TFT ST7789. To urz膮dzenie, kt贸re 艂膮czy w sobie
mo偶liwo艣ci odbioru pasma VHF (134–174 MHz) z nowoczesnym sterowaniem
przez przegl膮dark臋 internetow膮.
馃摗 G艂贸wne funkcjonalno艣ci:
Odbiornik VHF – pracuje w pa艣mie VHF (134–174 MHz) z mo偶liwo艣ci膮 strojenia krokami 12.5 kHz, 25 kHz, 100 kHz i 1 MHz.
G艂贸wny interfejs: panel webowy
– dost臋pny z ka偶dego urz膮dzenia w sieci WiFi (telefon, tablet, laptop).
Nie potrzebujesz dodatkowej aplikacji – wystarczy przegl膮darka.
Wy艣wietlacz lokalny TFT
– pe艂ni rol臋 pomocniczego ekranu technicznego, pokazuj膮cego aktualn膮
cz臋stotliwo艣膰, nazw臋 kana艂u, poziom sygna艂u (S-meter) oraz status
(BUSY/SQL/SCAN).
Bank pami臋ci kana艂贸w – mo偶esz zapisywa膰 ulubione cz臋stotliwo艣ci z w艂asnymi nazwami, a potem jednym klikni臋ciem do nich wraca膰.
Skaner pasma – automatyczne przeszukiwanie zadanego zakresu z pauzowaniem na aktywnych kana艂ach.
Regulacja audio – g艂o艣no艣ci i squelcha z poziomu panelu webowego.
Urz膮dzenie opiera si臋 na ESP32,
kt贸ry pe艂ni rol臋 serwera webowego (AsyncWebServer) i komunikuje si臋 z
modu艂em radiowym SA868S poprzez UART. Po艂膮czenie WiFi dzia艂a w trybie
Access Point – urz膮dzenie tworzy w艂asn膮 sie膰 Odbiornik_VHF, do kt贸rej 艂膮czysz si臋 bezpo艣rednio.
G艂贸wny
interfejs to strona HTML serwowana z karty SD, kt贸ra na 偶ywo
aktualizuje dane przez WebSocket (cz臋stotliwo艣膰, poziom sygna艂u,
status). Wy艣wietlacz TFT ST7789 pokazuje te same informacje w formie
uproszczonej – idealnie, gdy nie chcesz otwiera膰 przegl膮darki.
Wy艣wietlacz GMT020_02 (ST7789V) umieszczony w obudowie odbiornika. Wersja 1 i wersja 2.
馃З Schemat pod艂膮czenia:
Modu艂 SA868S po艂膮czony jest z ESP32 przez UART (RX/TX) oraz pin BUSY do detekcji aktywno艣ci kana艂u.
Wy艣wietlacz ST7789 pod艂膮czony przez SPI.
Karta SD r贸wnie偶 przez SPI – przechowuje stron臋 HTML i banki kana艂贸w.
Karta musi by膰 sformatowana w systemie FAT-32 i zawiera膰 podstawowe pliki index.html i banki.txt. Opcjonalnie config.txt
Audio – sygna艂 audio z SA868S trafia do wzmacniacza klasy D LTK5128, a potem do g艂o艣nika lub s艂uchawek.
Zasilanie przez USB-C 5V, z prostym uk艂adem stabilizatora 4.3V dla cz臋艣ci analogowej.
Szkic po艂膮cze艅 toru audio.
Szkic cz臋艣ci cyfrowej.
Kluczowe uwagi monta偶owe:
Zasilanie:
Modu艂 SA868S potrafi pobra膰 sporo pr膮du w momencie inicjalizacji. Warto
doda膰 kondensator elektrolityczny (np. 470uF) blisko wyprowadze艅 VCC
modu艂u radiowego.
Antena:
Pami臋taj o pod艂膮czeniu anteny (lub sztucznego obci膮偶enia 50 Ohm) przed
uruchomieniem. Nawet je艣li tylko odbierasz, dobre dopasowanie chroni
czu艂e stopnie wej艣ciowe przed zak艂贸ceniami z procesora.
Separacja:
ESP32 generuje sporo szumu cyfrowego (WiFi/BT). Staraj si臋 prowadzi膰
przewody audio z modu艂u SA868S jak najdalej od anteny WiFi i linii
sygna艂owych SPI karty SD.
馃捇 Oprogramowanie:
Kod napisany w Arduino IDE wykorzystuje m.in.:
AsyncWebServer do serwowania strony i API
WebSocket do komunikacji w czasie rzeczywistym
Adafruit_ST7789 do obs艂ugi wy艣wietlacza
SD do odczytu/zapisu kana艂贸w
Panel
webowy ma nowoczesny, ciemny styl z elementami inspirowanymi
profesjonalnymi konsolami radiowymi. Wszystkie ustawienia mo偶na zmienia膰
w locie, a zmiany s膮 natychmiast widoczne na wy艣wietlaczu TFT.
S艂贸w kilka na temat panela www:
Interfejs WWW – panel operatorski 艂adowany z karty SD
Interfejs u偶ytkownika odbiornika zosta艂 zrealizowany jako pojedynczy plik index.html, kt贸ry nie znajduje si臋 w pami臋ci flash ESP32, lecz jest 艂adowany bezpo艣rednio z karty SD pod艂膮czonej do mikrokontrolera.
Takie rozwi膮zanie zosta艂o wybrane 艣wiadomie i niesie ze sob膮 kilka bardzo praktycznych korzy艣ci.
Dlaczego karta SD zamiast flash ESP32?
Umieszczenie interfejsu WWW na karcie SD pozwala na:
艂atw膮 modyfikacj臋 wygl膮du i funkcji interfejsu bez ponownego wgrywania firmware,
szybk膮 edycj臋 HTML/CSS/JS bez ryzyka „uceglenia” urz膮dzenia,
przechowywanie dodatkowych plik贸w (np. przysz艂ych wykres贸w, log贸w, konfiguracji),
oddzielenie warstwy sprz臋towej od warstwy interfejsu u偶ytkownika.
W praktyce:
ESP32 odpowiada za radio i logik臋, karta SD za „twarz” urz膮dzenia.
I to jest dok艂adnie ten podzia艂, kt贸ry dobrze si臋 skaluje.
Serwowanie plik贸w WWW z karty SD
ESP32 dzia艂a jako serwer HTTP, kt贸ry:
przy starcie inicjalizuje kart臋 SD,
udost臋pnia plik index.html oraz zasoby statyczne bezpo艣rednio z systemu plik贸w,
obs艂uguje zapytania API i WebSockety r贸wnolegle.
Dla przegl膮darki u偶ytkownika:
strona zachowuje si臋 jak klasyczna aplikacja webowa,
nie ma r贸偶nicy, czy plik pochodzi z serwera w chmurze, czy z ESP32 na biurku.
Dla konstruktora:
jest pe艂na kontrola nad zawarto艣ci膮,
zero zale偶no艣ci od zewn臋trznej infrastruktury.
Technologia interfejsu
Interfejs zosta艂 napisany w czystym HTML, CSS i JavaScript, bez framework贸w i bibliotek zewn臋trznych.
Zastosowane rozwi膮zania:
CSS Grid – uk艂ad dashboardu,
dark theme – czytelno艣膰 i „techniczny” charakter,
JavaScript ES6 – logika interfejsu,
WebSocket – komunikacja czasu rzeczywistego,
HTTP API – konfiguracja i sterowanie odbiornikiem.
Ca艂o艣膰 dzia艂a w dowolnej nowoczesnej przegl膮darce:
komputer,
tablet,
smartfon.
Nie ma instalacji aplikacji, nie ma parowania — wystarczy adres IP.
Komunikacja przegl膮darka ↔ ESP32
Interfejs wykorzystuje dwa kana艂y komunikacji:
WebSocket
aktualna cz臋stotliwo艣膰,
poziom sygna艂u (S-metr),
stan BUSY,
status skanera.
Zapewnia to:
brak op贸藕nie艅,
brak od艣wie偶ania strony,
bardzo p艂ynn膮 prac臋 interfejsu.
HTTP (REST-like API)
zmiana cz臋stotliwo艣ci,
regulacja audio,
zapis i odczyt pami臋ci,
sterowanie skanerem.
To rozdzielenie upraszcza kod i zwi臋ksza niezawodno艣膰.
Bank pami臋ci i dane u偶ytkownika
Lista zapami臋tanych cz臋stotliwo艣ci:
przechowywana jest po stronie ESP32,
mo偶e by膰 powi膮zana z plikami na karcie SD,
jest dynamicznie 艂adowana do interfejsu WWW.
Karta SD naturalnie nadaje si臋 te偶 do:
logowania zdarze艅,
zapisu historii skanowania,
przysz艂ej rozbudowy projektu.
Interfejs WWW jako „softwarowy front panel”
W tym projekcie interfejs WWW pe艂ni rol臋 klasycznego panelu czo艂owego, tyle 偶e:
bez ga艂ek,
bez przycisk贸w,
bez ogranicze艅 fizycznych.
Zmiana wygl膮du lub funkcji:
nie wymaga lutownicy,
nie wymaga kompilatora,
wymaga tylko edytora tekstu.
A to w 艣wiecie projekt贸w radiowych jest luksus, kt贸rego trudno si臋 potem wyrzec.
Umieszczenie interfejsu WWW na karcie SD:
upraszcza rozw贸j projektu,
zwi臋ksza elastyczno艣膰,
oddziela warstw臋 sprz臋tow膮 od wizualnej.
ESP32 robi to, co potrafi najlepiej — steruje radiem i komunikuje si臋 z sieci膮.
A karta SD? Ona daje projektowi przestrze艅 do oddychania.
Kr贸tko m贸wi膮c:
to ju偶 nie jest „radio z webem”, tylko radio sterowane webem.
馃殌 Mo偶liwo艣ci rozbudowy:
Dodanie nadajnika (TX) i przej艣cie w tryb transceivera
Integracja z zewn臋trznymi 藕r贸d艂ami cz臋stotliwo艣ci (GPS, DDS, zewn臋trzny serwer czasu)
Automatyczne logowanie odbieranych sygna艂贸w na karcie SD
R贸wnoleg艂e sterowanie r臋czne z poziomu samego odbiornika (enkoder obrotowy)
Wersja przeno艣na z bateri膮
馃摝 Podsumowanie:
To projekt, kt贸ry 艂膮czy klasyczn膮 radioamatorsk膮 elektronik臋 z nowoczesnym interfejsem webowym.
Dzi臋ki niemu mo偶esz zamieni膰 dowolne urz膮dzenie z przegl膮dark膮 w
pe艂noprawny panel sterowania odbiornikiem VHF. Ca艂o艣膰 jest otwarta,
modu艂owa i gotowa do dalszej rozbudowy.
Kod 藕r贸d艂owy, schematy i pliki s膮 dost臋pne (pytaj poprzez e-mail hf5wwl@gmail.com – zach臋cam do eksperymentowania!
Masz pytania? Chcesz zbudowa膰 w艂asny? Zapraszam do komentowania!
✍️ Autor:Robert HF5WWL 馃搮 Data projektu: Czerwiec 2025 r. 馃搷 Lokalizacja: Wo艂omin, POLSKA 馃搧 Kod 藕r贸d艂owy: Pytaj poprzez e-mail (hf5wwl@gmail.com). 馃洜️ Poziom trudno艣ci: 艢redni, 艣rednio-trudny. (gdy masz gotowy program 馃槉).