PCB / KiCad 🔴 Zaawansowany Działa v1.0-gerbers ESPHome ⏱ Kilka sesji montażu i uruchomienia #buderus #ems-esp #esp32 #home assistant #kicad #pcb

MarkLabs EMS ESP Board v1 — mój interfejs do kotła Buderus

przez Mark_Labs · 1 lis 2026 · 👁 14 wyświetleń
🔧 0 zbudowało ☆ 0 obserwuje
Poziom🔴 Zaawansowany
Czas realizacjiKilka sesji montażu i uruchomienia
Instrukcja13 kroków
Społeczność0 zbudowało
PRZED ROZPOCZĘCIEM

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.

Załączniki

TWÓJ POSTĘP0% ukończone0 z 13 kroków
Krok 1

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.

Krok 2

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.

Krok 3

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

Krok 4

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.

Krok 5

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.

Krok 6

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.

Krok 7

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.

Krok 8

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.

Krok 9

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.

Krok 10

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.

Krok 11

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.

Krok 12

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

Krok 13

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:

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

DIAGNOSTYKA

Typowe problemy i rozwiązania

Objaw
Możliwa przyczyna

—

Rozwiązanie

—

Objaww treści.
Możliwa przyczyna

—

Rozwiązanie

—

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

ElementIlośćUwagi
C1 — 68p1.00 szt.0805; C0G; 50V; 5%
C2 — 1.5n1.00 szt.0805; C0G; 50V; 5%
C3 — 10n1.00 szt.0805; X7R; 50V; 10%
C4 — 10u 16V EEEFK1C100R1.00 szt.Electrolytic SMD; 10uF; 16V; 20%; diameter4mm height5.8mm; positive DIV
C5 — 1n1.00 szt.0805; C0G; 50V; 5%
C6 — 100n1.00 szt.0805; X7R; 50V; 10%
C7 — 10u 16V X7R1.00 szt.0805; X7R; 16V; 10%; nominal capacitance - DC bias applies
C8 — 100n1.00 szt.0805; X7R; 50V; 10%
D1 — BAT42W-V1.00 szt.Diode_SMD:D_SOD-123
D2 — BAT42W-V1.00 szt.Diode_SMD:D_SOD-123
D3 — BAT42W-V1.00 szt.Diode_SMD:D_SOD-123
D4 — BAT42W-V1.00 szt.Diode_SMD:D_SOD-123
D5 — BAT42W-V1.00 szt.Diode_SMD:D_SOD-123
D7 — 1N4148W1.00 szt.Diode_SMD:D_SOD-123
F1 — 1206L075/13.2 - thermal check1.00 szt.Fuse:Fuse_1206_3216Metric
J1 — 5V DC INPUT1.00 szt.TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal
J2 — EMS BUS1.00 szt.TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal
J3 — NodeMCU / DOIT 30-pin LEFT - VERIFY1.00 szt.Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_Vertical
J4 — NodeMCU / DOIT 30-pin RIGHT - VERIFY1.00 szt.Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_Vertical
L1 — 4.7uH1.00 szt.1210; 4.7uH; 10%; IDC220mA; DCR max1.5ohm; height max2.4mm
L2 — 4.7uH1.00 szt.1210; 4.7uH; 10%; IDC220mA; DCR max1.5ohm; height max2.4mm
Q1 — DMP2035U-71.00 szt.Package_TO_SOT_SMD:SOT-23
R1 — 10k1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R2 — 360R1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R3 — 47k1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R4 — 10k1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R5 — 100k1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R6 — 4k71.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R7 — 4k71.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R8 — 4k71.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
R9 — 100R - POWER NOT APPROVED1.00 szt.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
T1 — BC847B1.00 szt.Package_TO_SOT_SMD:SOT-23_Handsoldering
U1 — LM3931.00 szt.Package_SO:SOIC-8_3.9x4.9mm_P1.27mm
ESP32 DOIT DevKit V1 30-pin1.00 szt.Rozstaw rzędów 25,4 mm; porównać pinout.
Moduł LM25961.00 szt.Wejście 12 V DC; wyjście ustawić na 5,0 V.

📋 Dziennik postępu

0 wpisów

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