___________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________________________________________________________

31 lipca 2026

DMR Monitor na ESP32

 

 Prototyp monitora DMR na p艂ytce uniwersalnej.

Po co powsta艂 ten projekt?

Je艣li dzia艂asz w cyfrowym radiu DMR i chcesz mie膰 sta艂y podgl膮d aktywno艣ci na wybranym kanale (TalkGroup) bez potrzeby odpalania komputera, ten projekt jest dla Ciebie.

Zbudowa艂em przeno艣ny monitor DMR oparty o ESP32, kt贸ry 艂膮czy si臋 przez WiFi z sieci膮 BrandMeister, wy艣wietla na kolorowym ekranie TFT 4″ aktualnie nadaj膮cego operatora, histori臋 ostatnich transmisji, czas trwania nadawania i zapisuje logi na kart臋 SD. Wszystko w jednym, kompaktowym urz膮dzeniu.


Co dok艂adnie robi ten program?

Program dzia艂a w p臋tli, nas艂uchuj膮c na WebSocketach danych z BrandMeister i reaguj膮c na pojawiaj膮cy si臋 ruch w TalkGroup 260. Oto jego g艂贸wne funkcjonalno艣ci:

馃摗 艁膮czno艣膰 z BrandMeister przez WebSocket

  • Nawi膮zuje bezpieczne po艂膮czenie (SSL) z API BrandMeister.

  • Subskrybuje wszystkie zdarzenia (join everything).

  • Automatycznie wznawia po艂膮czenie w razie przerwania.

馃懁 Wy艣wietlanie aktywnego operatora

  • Pokazuje znak wywo艂awczy (np. SP5XYZ).

  • Wy艣wietla imi臋 operatora lub alias TalkerAlias.

  • Podaje ID operatora oraz numer TalkGroup.

  • Mierzy i wy艣wietla czas trwania bie偶膮cej transmisji (format MM:SS).

馃摐 Historia ostatnich operator贸w

  • Przechowuje w pami臋ci ostatnich 4 operator贸w (maksymalnie).

  • Wy艣wietla ich znak, nazw臋, TG oraz godzin臋 transmisji.

  • Unika duplikowania tego samego operatora z rz臋du – je艣li ten sam wraca, aktualizuje tylko znacznik czasu.

馃捑 Logowanie do pliku CSV na karcie SD

  • Ka偶da zako艅czona transmisja jest zapisywana w pliku /dmr_log.csv na karcie SD.

  • Log zawiera: dat臋 i godzin臋 rozpocz臋cia, dat臋 i godzin臋 zako艅czenia, znak, nazw臋, ID, TG oraz czas trwania w sekundach.

  • Automatycznie tworzy nag艂贸wek pliku, je艣li nie istnieje.

    Zapisane dane mo偶emy odczyta膰 w programie kt贸ry czyta pliki *.csv.

    Przyk艂adowe dane zapisane na karcie SD:



     

 

馃帹 Przyjazny interfejs u偶ytkownika

  • Wy艣wietlacz TFT 4″ (480×320 px) z p艂ynn膮 obs艂ug膮 graficzn膮.

  • Ikona radia zmienia kolor w zale偶no艣ci od stanu RX.

  • Wizualizacja trwania transmisji za pomoc膮 animowanego paska (fale radiowe).

  • Zegar NTP (synchronizacja czasu z Internetu) w prawym g贸rnym rogu.

  • Status po艂膮czenia z BrandMeister – zielone/czerwone k贸艂ko.

馃敡 Konfiguracja z karty SD

  • Dane WiFi (SSID i has艂o) s膮 odczytywane z pliku config.txt na karcie SD – nie musisz ich hardkodowa膰 w programie. W ten spos贸b nie musisz ingerowa膰 w program by zalogowa膰 si臋 do swojej sieci WiFi. Wystarczy zmieni膰 dane na karcie SD.

  • Format pliku:

    SSID=moja_siec
    PASS=moje_haslo
    dane te zapisujemy na karcie SD w pliku o nazwie config.txt 

Co znajduje si臋 w 艣rodku? – zagl膮damy do kodu

Kod ma oko艂o 1800 linii i jest podzielony na logiczne sekcje. Oto najwa偶niejsze fragmenty:

馃敼 Komunikacja z BrandMeister

Sercem programu jest obs艂uga WebSocket. Funkcja webSocketEvent() odbiera dane JSON, kt贸re przychodz膮 w dw贸ch zagnie偶d偶onych warstwach – najpierw wyci膮ga w艂a艣ciwy payload, potem deserializuje go i sprawdza, czy DestinationID pasuje do monitorowanego TG (260). Je艣li tak – wywo艂uje nowaAktywnosc().

cpp
if (destinationID != MONITORED_TG) {
  break;
}

 

馃敼 Logika ko艅ca transmisji

Funkcja sprawdzKoniecRX() sprawdza, czy od ostatniego odebranego pakietu min臋艂o wi臋cej ni偶 2500 ms. Je艣li tak – uznaje transmisj臋 za zako艅czon膮, zapisuje log na SD i prze艂膮cza ekran w stan czuwania.

馃敼 Efektowny interfejs

U偶y艂em bibliotek Adafruit GFX i ST7796S do obs艂ugi wy艣wietlacza. Funkcja rysujIkoneRadia() rysuje ikon臋, kt贸ra 艣wieci na zielono podczas odbioru, a na ciemnoszaro w stanie czuwania. Animacja RX (animacjaRX()) to paski imituj膮ce fale radiowe – od艣wie偶ane co 150 ms.

馃敼 Historia i logika deduplikacji

dodajDoHistorii() przesuwa starsze wpisy w d贸艂 i wstawia nowego operatora na pierwsz膮 pozycj臋. Co wa偶ne – je艣li ten sam operator pojawia si臋 ponownie, nie jest dodawany drugi raz, a jedynie aktualizowany jest jego znacznik czasu.


Jak uruchomi膰 ten projekt na swoim ESP32?

Potrzebne elementy

  • ESP32 (np. Wemos D1 R32, NodeMCU-32S) Ja zrobi艂em to na ESP32 WROOM-32U.

  • Wy艣wietlacz TFT z kontrolerem ST7796S (lub kompatybilny, 4″ 480×320 px SPI)

  • Karta microSD (do zapisu log贸w i konfiguracji)

  • Kabel USB, zasilanie 5V

    Nie zamieszczam schematu bo na podstawie definicji pin贸w mo偶na to zrobi膰 bez problemu. 

     

Konfiguracja

  1. Sformatuj kart臋 SD jako FAT32.

  2. W katalogu g艂贸wnym karty utw贸rz plik config.txt o zawarto艣ci:

    text
    SSID=TwojaNazwaWiFi
    PASS=TwojeHasloWiFi
  3. Zainstaluj wymagane biblioteki w Arduino IDE lub PlatformIO:

    • WiFi.h

    • WebSocketsClient.h

    • ArduinoJson.h (wersja 6.x)

    • Adafruit_GFX.h

    • Adafruit_ST7796S_kbv.h

    • SD.h

    • time.h

  4. Sprawd藕 piny w sekcji KONFIGURACJA SPRZETOWA – dopasuj do swojej p艂ytki.

  5. Skompiluj i wgraj na ESP32.

    Niekt贸re piny s膮 zdublowane dla wy艣wietlacza i karty SD. To nie jest b艂膮d. TAK MA BY膯! 


// ==================================
//                 KONFIGURACJA SPRZ臉TOWA
// ==================================
// Piny wy艣wietlacza (VSPI)
#define TFT_CS 16
#define TFT_RST 4
#define TFT_DC 2
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_BACKLIGHT 17

// Piny karty SD (wsp贸艂dzielone z wy艣wietlaczem, r贸偶ne CS)
#define SD_CS_PIN 21  
#define SD_MISO 19  
#define SD_MOSI 23
#define SD_SCLK 18
 
 

 

Dla kogo jest ten projekt?

  • Kr贸tkofalowc贸w i pasjonat贸w 艂膮czno艣ci cyfrowej DMR.

  • Tw贸rc贸w projekt贸w IoT szukaj膮cych ciekawego zastosowania dla ESP32.

  • Programist贸w embedded, kt贸rzy chc膮 zobaczy膰, jak integrowa膰 WebSocket, JSON i wy艣wietlacz w jednym urz膮dzeniu.


Podsumowanie

Projekt pokazuje, jak z pozornie prostego mikrokontrolera mo偶na zbudowa膰 zaawansowane urz膮dzenie monitoruj膮ce z graficznym interfejsem, zapisem danych i komunikacj膮 przez Internet. Kod jest napisany przejrzy艣cie, z podzia艂em na funkcje, co u艂atwia modyfikacje – na przyk艂ad mo偶na zmieni膰 monitorowany TalkGroup, doda膰 wi臋cej historii lub zintegrowa膰 z w艂asnym API.

Ca艂y kod (ok. 1800 linii) w formacie *.bin mo偶esz otrzyma膰 bezp艂atnie po kontakcie przez e-mail

  - Je偶eli do mnie napiszesz mo偶esz dosta膰 program z usuni臋tym moim znakiem (wpisz臋 Tw贸j znak).

 


 

✍️ Autor: Robert HF5WWL
馃搮 Data projektu: Lipiec 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) 
馃槉

 

#HamRadio
#DMRradio
#TalkGroup260
#AmateurRadio
#DigitalRadio
#RadioMonitor
#SP5WWL

10 lipca 2026

Cyfrowy bezpiecznik i monitor zasilania przetwornicy DC/DC 300W/20A.


 Dzisiaj chcia艂bym podzieli膰 si臋 z Wami moim najnowszym projektem warsztatowym. Jest to inteligentny sterownik, monitor oraz ultraszybki cyfrowy bezpiecznik przeznaczony do wsp贸艂pracy z popularnymi, mocnymi modu艂ami przetwornic obni偶aj膮cych napi臋cie (Step-Down CC/CV 20A 300W). Niezb臋dna b臋dzie te偶 modyfikacja bocznika w INA219.

G艂贸wnym zadaniem projektu jest zabezpieczenie 藕r贸d艂a zasilania ca艂ego urz膮dzenia. W zale偶no艣ci od wydajno艣ci 藕r贸d艂a zasilania mo偶emy tak ustawi膰 blokady by go nie uszkodzi膰. Bez wzgl臋du na to czy b臋dzie to transformator z mostkiem i kondensatorem, akumulator czy jaka艣 przetwornica. Uk艂ad umo偶liwia zabezpieczenie wszystkiego co podaje napi臋cie DC na wej艣cie uk艂adu i pod warunkiem, 偶e U max. nie przekroczy 30V. Uk艂ad powsta艂 g艂贸wnie w celu wykorzystania starych zasilaczy do laptop贸w kt贸rych troch臋 mi si臋 uzbiera艂o.

Schemat wyja艣niaj膮cy ide臋 projektu:


 

Sercem uk艂adu jest modu艂 ESP8266 (NodeMCU), kt贸ry wsp贸艂pracuje z uk艂adem pomiarowym INA219, wy艣wietlaczem ST7789 oraz miniaturowym przeka藕nikiem kontaktronowym MSS2-1A05B. Do zasilania cz臋艣ci cyfrowej zosta艂a u偶yta dodatkowa ma艂a przetworniczka kt贸ra ma zakres napi臋膰 wej艣ciowych od 5 do 30V a na wyj艣ciu daje tylko jedno napi臋cie +5V kt贸re jest podawane na wej艣cie Vin p艂ytki procesora. Tak wygl膮da dodatkowa przetwornica kt贸rej u偶y艂em (zdemontowane gniazdo USB kt贸re by艂o na wyj艣ciu):


Dlaczego ten projekt powsta艂?

Standardowe chi艅skie przetwornice DC/DC z regulacj膮 pr膮du i napi臋cia (CC/CV) s膮 tanie i wydajne, ale posiadaj膮 istotn膮 wad臋: brak precyzyjnego, cyfrowego monitoringu parametr贸w w czasie rzeczywistym oraz brak mo偶liwo艣ci zdefiniowania sztywnych limit贸w mocy czy napi臋cia, kt贸rych przekroczenie natychmiast odetnie obci膮偶enie. Ten projekt rozwi膮zuje ten problem, zamieniaj膮c zwyk艂y modu艂 DC/DC w zaawansowany, programowalny zasilacz laboratoryjny :) .

G艂贸wne cechy urz膮dzenia:

  • Szeroki zakres napi臋膰 wej艣ciowych: 7V do 30V DC.

  • Maksymalny pr膮d roboczy: do 20 A (moc maksymalna do 300 W).

  • Ultraszybki bezpiecznik programowy: monitorowanie i ochrona przed przekroczeniem zadanego napi臋cia (U), pr膮du (I) oraz mocy ca艂kowitej (P).

  • Zapis ustawie艅 Non-Volatile: Limity bezpiecze艅stwa s膮 zapisywane bezpo艣rednio w pami臋ci Flash uk艂adu ESP8266 (bez u偶ycia klasycznej biblioteki EEPROM). Tak wi臋c ustawienia s膮 pami臋tane nawet po wy艂膮czeniu zasilania.

  • Graficzny interfejs u偶ytkownika: Wy艣wietlacz LCD ST7789 (320x240 px) z p艂ynnie od艣wie偶anymi paskami post臋pu (podzia艂ka 0-100% obci膮偶enia limitu) oraz ekranem alarmowym.

  • Automatyczny restart: Po wyzwoleniu zabezpieczenia uk艂ad odlicza 3 sekundy i podejmuje pr贸b臋 ponownego za艂膮czenia wyj艣cia. Je偶eli zniknie przyczyna przeci膮偶enia przetwornica podejmie normaln膮 prac臋. Uwaga! Bezpo艣rednie zwarcie na wyj艣ciu natychmiast zablokuje przetwornic臋. Po usuni臋ciu zwarcia przetwornica pracuje normalnie.

     


Architektura Sprz臋towa i Modu艂 INA219

Kluczowym elementem odpowiedzialnym za pomiary jest uk艂ad INA219 komunikuj膮cy si臋 przez magistral臋 I2C. Fabrycznie modu艂y te wyposa偶one s膮 w rezystor bocznikowy (shunt) o warto艣ci 0,1. Przy pr膮dzie rz臋du 20 A spadek napi臋cia na takim boczniku wynosi艂by a偶 2 V, co generowa艂oby ogromne straty mocy i natychmiastowe uszkodzenie p艂ytki.

Aby dostosowa膰 uk艂ad do wysokich pr膮d贸w, fabryczny bocznik zosta艂 zast膮piony zewn臋trznym rezystorem precyzyjnym o warto艣ci 0,01 惟 wpi臋tym w plusow膮 lini臋 wyj艣ciow膮 przetwornicy (High-Side). Dzi臋ki temu przy 20 A tracimy zaledwie 4 W mocy, a spadek napi臋cia wynosi bezpieczne 200 mV.

Modu艂 przetwornicy zawiera rezystor pomiarowy (za zwyczaj 0.04 ) na minusie kt贸ry pozostawiamy bez zmian.

 

W kodzie programu wymusi艂o to autorsk膮 konfiguracj臋 rejestru kalibracji uk艂adu INA219:

C++
uint16_t calValue = 40960; 
uint16_t configValue = INA219_CONFIG_BVOLTAGERANGE_32V |
                       INA219_CONFIG_GAIN_8_320MV |
                       INA219_CONFIG_BADCRES_12BIT_64S_34MS | 
                       INA219_CONFIG_SADCRES_12BIT_64S_34MS | 
                       INA219_CONFIG_MODE_SANDBVOLT_CONTINUOUS;

 

Przeliczenie pr膮du w p臋tli g艂贸wnej uwzgl臋dnia bocznik 0,01, gdzie spadek 10 mV odpowiada nat臋偶eniu 1 A:

C++
float current_A = (shuntVoltage / 10.0);
 
 

Sterowanie Przetwornic膮 – Przeka藕nik Kontaktronowy

Do sterowania stanem pracy modu艂u Step-Down wykorzysta艂em dedykowane wej艣cie ENABLE (EN) na p艂ycie przetwornicy. Za fizyczne kluczowanie tego sygna艂u odpowiada miniaturowy przeka藕nik kontaktronowy MSS2-1A05B, sterowany poprzez tranzystor PNP z pinu D0 procesora ESP8266.

  • Stan normalny (Praca): Pin D0 w stanie niskim (LOW), przeka藕nik zwiera sygna艂 EN do odpowiedniego potencja艂u startowego przetwornicy.

  • Stan alarmu (Zabezpieczenie): Wykrycie przekroczenia limitu natychmiast ustawia pin D0 w stan wysoki (HIGH), roz艂膮czaj膮c obw贸d EN i b艂yskawicznie wy艂膮czaj膮c kluczowanie tranzystor贸w mocy w przetwornicy.

    W uk艂adzie zosta艂 zastosowany przeka藕nik MSS2-1A05B ze wzgl臋du na r贸偶ne sposoby blokowania przetwornic ale o tym p贸藕niej.

 

Logika Menu i Praca Bezbiblioteczna z Pami臋ci膮 Flash

Sterowanie limitami odbywa si臋 za pomoc膮 dw贸ch przycisk贸w: MENU (pin D6) oraz ZMIANA (pin A0 z zewn臋trznym rezystorem pull-up 10k). Uk艂ad pozwala na p艂ynn膮 regulacj臋 prog贸w odci臋cia:

  • Napi臋cie: do 24,0 V  (krok co 0,5 V)

  • Pr膮d: do 20,0 A        (krok co 0,5 V)

  • Moc: do 300 W         (krok co 10 W)

     


Ciekawostk膮 programistyczn膮 jest rezygnacja z gotowych bibliotek typu EEPROM na rzecz bezpo艣rednich odwo艂a艅 do niskopoziomowego SDK ESP8266 (spi_flash_erase_sector oraz spi_flash_write). Zapis danych realizowany jest binarne w bezpiecznym sektorze 1011 z weryfikacj膮 poprawno艣ci za pomoc膮 unikalnego identyfikatora Magic ID (0x55AA55AA):

C++
struct FlashConfig {
  uint32_t magic;
  float max_voltage;
  float max_current;
  float max_power;
};

Podczas zapisu i odczytu, na czas operacji na strukturze pami臋ci, blokowane s膮 przerwania mikrokontrolera (noInterrupts()), co gwarantuje integralno艣膰 danych i zabezpiecza procesor przed zawieszeniem.

 

Przetwornice dost臋pne na AliExpress opisywane jako "20A 300W CC CV Step Down Module Regulowany DC 6-40V do 1.2-36V" (SZBK07) wyst臋puj膮 w kilku wersjach:

Wersja kt贸r膮 posiadam. Przetwornica dzia艂a po podaniu napi臋cia z wej艣cia przetwornicy (Vin+). Kolor 偶贸艂ty to niewidoczna 艣cie偶ka do pinu EN uk艂adu scalonego kt贸rego nazwa zosta艂a przez producenta zeszlifowana. 

 

Inna wersja kt贸rej schemat znajdziemy w internecie. Tutaj nazwa uk艂adu scalonego jest widoczna. Jest to inny uk艂ad scalony (LM25116). Tu wej艣cie EN uk艂adu scalonego jest podci膮gni臋te do plusa zasilania poprzez rezystor 1M a uruchomienie nast臋puje poprzez zwarcie wej艣cia EN do masy (GND):

  


W艂a艣nie do tego jest u偶yty przeka藕nik MSS2-1A05B by by艂o mo偶na u偶y膰 r贸偶nych typ贸w przetwornic. Po prostu przy艂膮czamy kontaktron przeka藕nika w miejsce usuni臋tego prze艂膮cznika ON/OFF.


Kilka informacji o przeka藕niku  MSS2-1A05B. Przeka藕nik fabryczne jest zasilany napi臋ciem 5V a styki wytrzymuj膮 pr膮d do 1A. W projekcie jest on zasilany napi臋ciem 3,3V ale pracuje poprawnie i niezawodnie. Oczywi艣cie mo偶na zastosowa膰 inny podobny przeka藕nik. Schemat po艂膮cze艅 wewn臋trznych zastosowanego przeka藕nika:  


 

 SCHEMAT PO艁膭CZE艃 :

POWI臉KSZENIE DOST臉PNE W "OTW脫RZ ODNO艢NIK W NOWEJ KARCIE".

 

Podsumowanie i dalsze kroki

Uk艂ad sprawuje si臋 znakomicie. Bezpiecznik programowy reaguje niezwykle szybko, chroni膮c zasilane prototypy przed zniszczeniem w przypadku zwarcia. Na wy艣wietlaczu ST7789 wszystko jest czytelne dzi臋ki du偶ym czcionkom Adafruit GFX i graficznym bar-grafom, kt贸re precyzyjnie pokazuj膮, jak blisko zdefiniowanego limitu aktualnie pracujemy. 

Oczywi艣cie nie pisa艂em tu o rzeczy oczywistej czyli o zast膮pieniu potencjometr贸w znajduj膮cych si臋 na p艂ycie przetwornicy "normalnymi" potencjometrami wieloobrotowymi kt贸re wyprowadzamy przewodami i umieszczamy w dogodnym dla nas miejscu na p艂ycie czo艂owej urz膮dzenia.

 

LINK DO PROGRAMU w formacie (*.bin): 

https://mega.nz/folder/EV0zmA7Z#KL4DJds3lYAv1b6Y1EDBLQ

 Gdyby kto艣 bardzo potrzebowa艂 program w postaci *.ino to prosz臋 o kontakt (komentarz lub poprzez e-mail:  hf5wwl@gmail.com).

 

 

UZUPE艁NIENIE  15.07.2026 r.

Trwaj膮 intensywne prace nad wy艣wietlaniem parametr贸w na ekranie monitora warsztatowego (laptopa, komputera itp.) poprzez sie膰 WiFi.

Dodanie obs艂ugi WiFi poci膮gn臋艂o kilka zmian w konstrukcji urz膮dzenia i zmiany programowe. O tym p贸藕niej. 

Jak na razie wszystko dzia艂a bardzo p艂ynnie. Odczyty s膮 natychmiastowe.

Na razie wy艣wietlanie na ekranie monitora wygl膮da tak:

 

Normalna praca. 

 
 
 
Blokada przetwornicy. Zosta艂o przekroczone ustawione napi臋cie maksymalne.

Prace trwaj膮. Musz臋 poprawi膰 kilka szczeg贸艂贸w. Oczywi艣cie, gdy wszystko dopracowane to podziel臋 si臋 tym z Wami.

 

 

✍️ Autor: Robert HF5WWL
馃搮 Data projektu: Lipiec 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) 
馃槉

 

 #ESP8266 #INA219 #ST7789 #NodeMCU #Arduino #MSS2-1A05B #przeka藕nik-kontaktronowy

 #zasilacz-warsztatowy #przetwornica-DC-DC #Step-Down #cyfrowy-bezpiecznik #zabezpieczenie-nadpr膮dowe #elektronika-DIY #pomiar-pr膮du #High-Side-Current #bocznik

 

03 lutego 2026

Modernizacja modu艂u ESP32 – wymiana anteny PCB na gniazdo SMA

 馃摱馃彔  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:

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

  2. Odseparowaniu anteny drukowanej od toru RF, aby zapobiec jej dalszemu wp艂ywowi na dopasowanie impedancyjne.

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

 

Efekt ko艅cowy

Po modernizacji modu艂 zyskuje:

  • mo偶liwo艣膰 stosowania dowolnej anteny WiFi (dook贸lnej, kierunkowej, zewn臋trznej),

  • wyra藕nie lepszy zasi臋g i stabilno艣膰 po艂膮czenia,

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

Pami臋taj by modu艂 nie pracowa艂 bez anteny. Je偶eli nie masz pod r臋k膮 w艂a艣ciwej anteny za艂贸偶 obci膮偶enie (rezystor 50R). Praca modu艂u bez obci膮偶enia nadajnika mo偶e go uszkodzi膰! 

  

#ESP32 #RFDesign #HardwareMod #IoT #Engineering #Electronics #SmartHome

 

✍️ 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  
馃槉