MarkLabs EMS ESP Board v1 — mój interfejs do kotła Buderus
Przygotuj się do realizacji
Wymagania wstępne
- Podstawy lutowania SMD, obsługa multimetru i konfiguracja EMS-ESP.
Potrzebne narzędzia
- Lutownica, topnik, cyna, pęseta, plecionka, multimetr i komputer.
Status projektu
Nie jestem elektronikiem, tylko początkującym hobbystą. Płytka może zawierać błędy lub rozwiązania, które da się zrobić lepiej. Złożyłem ją, działa z moim kotłem i na moje potrzeby mi wystarcza. Nie traktuję jej jednak jako gotowego, profesjonalnego produktu. Być może z czasem powstaną kolejne, bardziej dopracowane i profesjonalne wersje. Jeśli chcesz odtworzyć ten układ, sprawdź schemat i montaż przed uruchomieniem.
Ten projekt zacząłem od układu na płytce uniwersalnej. Działał, ale chciałem uporządkować montaż: zrobić własną PCB, zostawić wyjmowany ESP32 i podłączać zasilanie przewodami przez złącze śrubowe. Tak powstała MarkLabs EMS ESP Board v1.
Złożyłem płytkę i uruchomiłem ją z kotłem Buderus. Prawidłowo odczytuje dane, również z zasilaniem przez przetwornicę LM2596: 12 V na wejściu przetwornicy, 5 V na wejściu PCB. To jest sprawdzone na moim egzemplarzu. Nie przedstawiam jeszcze wyników testów sterowania kotłem ani pomiarów długotrwałej stabilności i temperatur.
Poniżej zebrałem instrukcję montażu i uruchomienia, żeby można było korzystać z niej bez szukania informacji w archiwach. Pliki ze schematem i rozmieszczeniem elementów są uzupełnieniem tego opisu.
Co zbudowałem i dlaczego
Wykorzystuję firmware EMS-ESP i moduł ESP32 DOIT DevKit V1 z 30 wyprowadzeniami. ESP32 siedzi w dwóch gniazdach, więc mogę go wyjąć do programowania przez USB. Interfejs magistrali pracuje z napięciem 3,3 V z modułu ESP32. Nie zasilam urządzenia z magistrali kotła.
Rezystory wybrałem w rozmiarze 0805, z większymi polami lutowniczymi, żeby ułatwić ręczny montaż. Płytka ma 46 × 85 mm. Mój ESP32 ma około 28 × 52 mm, a odległość między rzędami pinów wynosi 25,4 mm. Sama nazwa „DevKit V1” nie wystarcza do wyboru modułu: przed zakupem porównaj też liczbę pinów, ich opisy i rozstaw.
Początek projektu opisałem tutaj: EMS-ESP i Buderus GB122i — interfejs DIY.
Części: rezystory i kondensatory
Wszystkie rezystory na PCB mają obudowę 0805. Wartości według oznaczeń na płytce:
- R1 i R4: 10 kΩ.
- R2: 360 Ω.
- R3: 47 kΩ.
- R5: 100 kΩ.
- R6, R7 i R8: 4,7 kΩ.
- R9: 100 Ω, również 0805. Nie zmieniam go na rezystor 1 W; obciążenie impulsowe i temperatura pozostają do osobnego sprawdzenia.
Kondensatory ceramiczne są w obudowie 0805. Ich wartości i parametry w bazowej liście części to:
- C1: 68 pF, C0G, 50 V.
- C2: 1,5 nF, C0G, 50 V.
- C3: 10 nF, X7R, 50 V.
- C5: 1 nF, C0G, 50 V.
- C6 i C8: 100 nF, X7R, 50 V.
- C7: 10 µF, X7R, 16 V.
- C4: elektrolityczny 10 µF / 16 V. Projekt przewiduje obudowę o średnicy 4 mm i wysokości około 5,8 mm; przed lutowaniem trzeba sprawdzić dopasowanie podstawy i wyprowadzeń.
C4 jest jedynym elektrolitem na tej liście. Wartość mojego kondensatora potwierdziłem miernikiem: 10 µF. C4 i C7 mają taką samą pojemność nominalną, ale inny typ i inne miejsce w układzie — nie należy ich mylić.
Części: półprzewodniki, dławiki i złącza
- D1–D5: BAT42W w obudowie SOD-123.
- D7: 1N4148W w obudowie SOD-123. Brak D6 w numeracji nie oznacza brakującego elementu.
- U1: LM393 w SOIC-8.
- T1: BC847B w SOT-23. W moim wcześniejszym prototypie był BC547B; na tej PCB przewidziany jest wariant SMD.
- Q1: DMP2035U w SOT-23, tranzystor P-MOSFET zabezpieczający zasilanie przed odwrotną polaryzacją. 2N7002 nie jest jego zamiennikiem.
- L1 i L2: po 4,7 µH, obudowa 1210; w bazowym zestawieniu CM322522-4R7KL.
- F1: bezpiecznik polimerowy 1206L075/13.2, obudowa 1206.
- J1 i J2: złącza śrubowe, po dwa styki, raster 5,08 mm.
- J3 i J4: gniazda żeńskie 1×15, raster 2,54 mm, do ESP32.
- Moduł ESP32 DOIT DevKit V1 30-pin, przetwornica LM2596 i zewnętrzny zasilacz 12 V DC.
Przy zakupie kieruj się również obudową, nie tylko nazwą elementu. Przewlekła BAT42 nie pasuje w pola SOD-123, a SOIC-8 dotyczy tutaj komparatora LM393, nie diod. Pełne numery katalogowe i footprinty zostawiłem w liście części do pobrania.
Montaż PCB — od małych elementów do złączy
Do ręcznego montażu przygotuj lutownicę z niewielkim grotem, topnik, cynę, pęsetę, plecionkę i multimetr. Otwórz podgląd rozmieszczenia elementów z galerii i porównuj oznaczenia R, C, D oraz numery z listą powyżej.
Proponuję taką kolejność montażu:
- Najpierw rezystory i ceramiczne kondensatory 0805. Dla każdego elementu pocynuj jedno pole, ustaw go pęsetą, przylutuj ten koniec, a potem drugi.
- Następnie diody, U1, T1 i Q1. Sprawdź orientację przed przylutowaniem wszystkich wyprowadzeń.
- Dalej dławiki, F1 i elektrolit C4.
- Na końcu złącza śrubowe oraz gniazda ESP32. Przylutuj najpierw po jednym skrajnym styku, sprawdź ustawienie, a dopiero potem pozostałe.
Przed włożeniem ESP32 obejrzyj płytkę pod powiększeniem. Szukaj mostków z cyny, nieprzylutowanych końcówek i przesuniętych elementów. Sprawdź też, czy elementy pod modułem nie będą go dotykały. Gniazda muszą utrzymywać moduł równolegle do PCB.
Polaryzacja: na co szczególnie uważać
Pasek na diodzie oznacza katodę K. Nie oznacza automatycznie masy. D1–D5 i D7 ustaw zgodnie z oznaczeniem katody na płytce; w zastosowanych footprintach jest to pad 1.
C4 ma określoną polaryzację: plus łączy się z węzłem DIV, minus z RX_PLUS. To kondensator w torze odbiorczym, a nie zwykły kondensator między zasilaniem i masą. Pasek na aluminiowym elektrolicie wskazuje stronę ujemną. Porównaj ją z oznaczeniem plusa na PCB i schematem.
Przy U1 sprawdź znacznik pinu 1. Nie zamieniaj miejscami T1 i Q1, mimo że oba mają po trzy wyprowadzenia i obudowę SOT-23. T1 ma bazę na pinie 1, emiter na 2 i kolektor na 3; Q1 ma bramkę na 1, źródło na 2 i dren na 3.
Zasilanie — najpierw ustaw LM2596
U mnie działa zewnętrzne 12 V DC i przetwornica LM2596 obniżająca napięcie do 5 V. Połączenie wygląda tak:
- Plus zasilacza 12 V → IN+ przetwornicy.
- Minus zasilacza → IN− przetwornicy.
- OUT+ przetwornicy → J1, styk +5 V.
- OUT− przetwornicy → J1, styk GND.
Najpierw podłącz do LM2596 tylko zasilacz, bez PCB. Multimetr ustaw na pomiar napięcia stałego, czarną sondę przyłóż do OUT−, czerwoną do OUT+. Potencjometrem ustaw 5,0 V i sprawdź odczyt. Dopiero po odłączeniu zasilania połącz przetwornicę z J1.
Nie podawaj 12 V bezpośrednio na J1 ani na VIN ESP32 w tym projekcie. Q1 zabezpiecza polaryzację, ale nie obniża napięcia. Magistralę kotła podłącza się do J2, nie do wejścia zasilania. Układ nie ma separacji galwanicznej od EMS.
Kontrola napięć przed podłączeniem kotła
Pierwszą kontrolę wykonaj bez ESP32 i bez przewodu EMS. Przy odłączonym zasilaniu sprawdź miernikiem, czy między wejściem +5 V i GND nie ma trwałego zwarcia. Krótki sygnał testera podczas ładowania kondensatorów sam w sobie nie przesądza o zwarciu.
Po włączeniu zasilania zmierz napięcia względem TP1, czyli GND:
- TP2: wejście 5 V z J1.
- TP3: zasilanie modułu po zabezpieczeniu, około 5 V.
- TP4: napięcie 3,3 V z ESP32; sprawdzaj je dopiero po zamontowaniu modułu.
Wyłącz zasilanie, włóż zaprogramowany ESP32 i dopiero wtedy uruchom płytkę ponownie. Sprawdź TP4. Jeśli brakuje 3,3 V lub napięcia są nieprawidłowe, odłącz zasilanie i wróć do kontroli montażu. Do czasu wyjaśnienia nie podłączaj magistrali kotła.
ESP32 i konfiguracja EMS-ESP
Do programowania przez USB wyjmuję ESP32 z gniazd. Po zaprogramowaniu odłączam USB i wkładam moduł do PCB przy wyłączonym zasilaniu. W tej konfiguracji nie korzystam jednocześnie z USB i zewnętrznego zasilania płytki.
Zwróć uwagę na orientację modułu: antena i gniazdo USB muszą znaleźć się po stronach pokazanych na rysunku rozmieszczenia. Sprawdź zgodność pinów VIN, GND i 3V3 z gniazdami, zanim włączysz zasilanie.
W konfiguracji EMS-ESP ustaw piny zgodnie z tą PCB:
- Odbiór ESP_RX: GPIO23.
- Nadawanie ESP_TX: GPIO5.
Skonfiguruj połączenie Wi-Fi i sprawdź dostęp do panelu EMS-ESP. Jeśli korzystasz z MQTT, wpisz dane swojego brokera. Mój opis konfiguracji z Home Assistant jest tutaj: Buderus GB122i, Home Assistant i MQTT. Ten projekt korzysta z EMS-ESP, a nie z ESPHome.
Podłączenie EMS i pierwszy odczyt
Po sprawdzeniu zasilania odłącz je i połącz złącze J2 z zaciskami magistrali EMS kotła, zidentyfikowanymi według dokumentacji konkretnego modelu. Nie dobieraj zacisków na podstawie samego podobieństwa nazw ani wyglądu złącza.
Po ponownym uruchomieniu otwórz panel EMS-ESP. Sprawdź status magistrali, wykryte urządzenia i dostępne odczyty. U mnie zmontowana płytka prawidłowo odczytuje kocioł Buderus, także przy pracy z LM2596. Na początek warto pozostać przy odczycie; działanie wysyłania poleceń jest osobnym testem.
Gdy coś nie działa
- Brak zasilania ESP32: zacznij od wyjścia LM2596, polaryzacji J1 i pomiarów TP2 oraz TP3. Następnie sprawdź F1, Q1 i luty gniazd.
- ESP32 działa, ale nie ma danych kotła: sprawdź właściwe zaciski EMS, połączenie z J2, ustawienia GPIO23/GPIO5 oraz orientację diod i U1.
- Moduł się restartuje: sprawdź napięcie podczas pracy, połączenia przewodów i jakość zasilania. Sam poprawny pomiar bez obciążenia nie wyklucza problemu z zasilaczem.
- Podejrzenie błędu montażu: porównaj element po elemencie z rysunkiem rozmieszczenia. Szczególnie sprawdź C4, D7 oraz różnicę między T1 i Q1.
To kolejność sprawdzania układu, a nie lista awarii, które wystąpiły w moim egzemplarzu.
Obudowa
Obudowa jest w trakcie tworzenia. Dotychczasowy projekt nie nadaje się do wykorzystania, dlatego będę nad nim dalej pracował. Na razie wycofałem jego pliki i wizualizację z tego wpisu. Gdy przygotuję i sprawdzę nową wersję, uzupełnię tę sekcję.
Pliki do pobrania
Paczka zawiera warstwy Gerber oraz pliki wierceń PTH i NPTH do zamówienia samej PCB. Parametry: 46 × 85 mm, FR-4, 2 warstwy, grubość 1,6 mm, miedź 1 oz. Niebieską soldermaskę i biały nadruk wybierz w formularzu producenta — kolor nie jest zapisany w Gerberach. Przed zatwierdzeniem zamówienia sprawdź podgląd warstw, obrys i otwory w serwisie producenta.
Instrukcję montażu i uruchomienia masz powyżej. Do pracy przy płytce zostawiam dodatkowo:
- Projekt KiCad — schemat, PCB i biblioteki lokalne.
- Schemat, rozmieszczenie elementów i instrukcja montażu.
- Pełna lista części PCB.
Układ wywodzi się ze schematu EMSBus-UART-Converter autorstwa Dani Macias Perea. Firmware EMS-ESP jest dziełem jego autorów. Udostępnienie moich materiałów nie zmienia warunków licencji tych źródeł.
Typowe problemy i rozwiązania
—
—
—
—
Wersje
-
v1.0-gerbers aktualna
· 2 lis 2026
Dodano sprawdzoną paczkę Gerber i Excellon oraz parametry zamówienia PCB.
-
v1.0-guide-hobby
archiwum
· 2 lis 2026
Dodano osobistą informację o hobbystycznym charakterze projektu i możliwych kolejnych wersjach.Porównaj z aktualną →
-
v1.0-guide
archiwum
· 2 lis 2026
Instrukcja montażu i uruchomienia w treści, opis z perspektywy autora budowy; wycofanie niedopasowanej obudowy z aktualnej publikacji.Porównaj z aktualną →
-
v1.0-tested-rx
archiwum
· 2 lis 2026
2026-11-02: autor potwierdził działanie zmontowanej PCB i odczyt kotła przy zasilaniu 12 V → LM2596 → 5 V. Bez zmian schematu i PCB; obudowa, nadawanie i stabilność długotrwała niepotwierdzone.Porównaj z aktualną →
-
v1.0-prototype
archiwum
· 1 lis 2026
Pierwsza publikacja prototypu PCB i obudowy v4 z LM2596.Porównaj z aktualną →
Komponenty i materiały
| Element | Ilość | Uwagi |
|---|---|---|
| C1 — 68p | 1.00 szt. | 0805; C0G; 50V; 5% |
| C2 — 1.5n | 1.00 szt. | 0805; C0G; 50V; 5% |
| C3 — 10n | 1.00 szt. | 0805; X7R; 50V; 10% |
| C4 — 10u 16V EEEFK1C100R | 1.00 szt. | Electrolytic SMD; 10uF; 16V; 20%; diameter4mm height5.8mm; positive DIV |
| C5 — 1n | 1.00 szt. | 0805; C0G; 50V; 5% |
| C6 — 100n | 1.00 szt. | 0805; X7R; 50V; 10% |
| C7 — 10u 16V X7R | 1.00 szt. | 0805; X7R; 16V; 10%; nominal capacitance - DC bias applies |
| C8 — 100n | 1.00 szt. | 0805; X7R; 50V; 10% |
| D1 — BAT42W-V | 1.00 szt. | Diode_SMD:D_SOD-123 |
| D2 — BAT42W-V | 1.00 szt. | Diode_SMD:D_SOD-123 |
| D3 — BAT42W-V | 1.00 szt. | Diode_SMD:D_SOD-123 |
| D4 — BAT42W-V | 1.00 szt. | Diode_SMD:D_SOD-123 |
| D5 — BAT42W-V | 1.00 szt. | Diode_SMD:D_SOD-123 |
| D7 — 1N4148W | 1.00 szt. | Diode_SMD:D_SOD-123 |
| F1 — 1206L075/13.2 - thermal check | 1.00 szt. | Fuse:Fuse_1206_3216Metric |
| J1 — 5V DC INPUT | 1.00 szt. | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal |
| J2 — EMS BUS | 1.00 szt. | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal |
| J3 — NodeMCU / DOIT 30-pin LEFT - VERIFY | 1.00 szt. | Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_Vertical |
| J4 — NodeMCU / DOIT 30-pin RIGHT - VERIFY | 1.00 szt. | Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_Vertical |
| L1 — 4.7uH | 1.00 szt. | 1210; 4.7uH; 10%; IDC220mA; DCR max1.5ohm; height max2.4mm |
| L2 — 4.7uH | 1.00 szt. | 1210; 4.7uH; 10%; IDC220mA; DCR max1.5ohm; height max2.4mm |
| Q1 — DMP2035U-7 | 1.00 szt. | Package_TO_SOT_SMD:SOT-23 |
| R1 — 10k | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R2 — 360R | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R3 — 47k | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R4 — 10k | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R5 — 100k | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R6 — 4k7 | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R7 — 4k7 | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R8 — 4k7 | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| R9 — 100R - POWER NOT APPROVED | 1.00 szt. | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder |
| T1 — BC847B | 1.00 szt. | Package_TO_SOT_SMD:SOT-23_Handsoldering |
| U1 — LM393 | 1.00 szt. | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm |
| ESP32 DOIT DevKit V1 30-pin | 1.00 szt. | Rozstaw rzędów 25,4 mm; porównać pinout. |
| Moduł LM2596 | 1.00 szt. | Wejście 12 V DC; wyjście ustawić na 5,0 V. |
📋 Dziennik postępu
0 wpisówBrak wpisów w dzienniku.
Dyskusja (0)
Płaska dyskusja w stylu forum — cytuj wpisy zamiast zagnieżdżać odpowiedzi. Markdown wspierany.
Brak wpisów — rozpocznij dyskusję poniżej.
Zaloguj się, aby dołączyć do dyskusji.