Buata giren ESP32 kartlar: güç ölçümlü akıllı priz ve nötrlü/nötrsüz çift TRIAC anahtar, KiCad ve ESPHome dosyaları
Ø60 buata sığan izolesiz ESP32-C3 kartları: BL0937 ile güç ölçen röleli priz modülü ve iki kanallı TRIAC lamba anahtarı, anahtarın bir de lambalar üzerinden beslenen nötrsüz sürümü. Home Assistant'a ESPHome ile bağlanıyorlar, termal kilitleri var. KiCad projeleri, JLCPCB'ye hazır Gerber/BOM/CPL ve ESPHome YAML'ları indirilebilir.

Duvardaki prizi ve lamba anahtarını akıllı hale getirmek için iki küçük kart tasarladım; çift anahtarın bir de nötrsüz sürümü var. Hepsi Ø60 buata, prizin ya da anahtarın arkasına sığıyor, ESP32-C3 ile çalışıyor ve Home Assistant'a ESPHome üzerinden bağlanıyor. Bulut yok, uygulama yok.
- priz60: röleli bir modül. Arkasındaki prizi açıp kapatıyor, akımı, gerilimi, gücü ve harcanan enerjiyi ölçüyor.
- anahtar2: iki kanallı, rölesiz bir lamba anahtarı. Lambaları TRIAC ile sürüyor, mevcut çift anahtar yerinde kalıyor.
- anahtar2l: anahtar2'nin nötrsüz sürümü. Anahtar kutusunda nötr olmayan binalar için; kart kendini lambaların üzerinden besliyor.
KiCad projeleri, JLCPCB'ye hazır Gerber/BOM/CPL dosyaları ve ESPHome yapılandırmaları yazının sonunda indirilebilir.

Önce güvenlik
Kartların hepsi izolesiz. Devrenin toprağı (GND) şebekeye bağlı, yani ESP dahil kartın her noktası 230 V potansiyelinde. Bu küçük boyutun ve ucuzluğun bedeli: izole bir besleme Ø60 buata sığmıyor.
- Kart şebekeye bağlıyken ona hiçbir şey bağlanmaz: USB-seri dönüştürücü, osiloskop probu, bilgisayar. Programlama, şebeke bağlı değilken test noktalarından (TP1-TP6) yapılır. Sonraki güncellemeler Wi-Fi üzerinden (OTA) gelir.
- Muhafaza tamamen yalıtkan olmalı. Dışarı açılan bir bağlantı (USB, sensör) yok, olmamalı.
- Hat, sigortalı ve kaçak akım röleli (30 mA RCD) olmalı.
- Kartlar henüz üretilmedi ve prototip testleri yapılmadı. Aşağıdaki sayılar simülasyondan ve hesaptan geliyor.
Şebekeyle çalışma deneyimin yoksa bu kartları kurma. Dosyalar tasarımı incelemek ve öğrenmek için açık.

priz60: güç ölçümlü röle
Klemens (soldan sağa): SW · N · L · O. L şebekeden gelir, O prize gider, N besleme için gerekir, SW'ye duvar anahtarı bağlanır.
L ── şönt 1 mΩ ── röle COM → NO ── O (priz)
N ── F1 500 mA T ── varistör ── 10 Ω ── M7 ── π-filtre (4.7µ / 1 mH / 4.7µ)
→ LNK306 buck → 5 V → AMS1117 → 3.3 V → ESP32-C3
- Röle: Hongfa HF32FV-16 (16 A, 5 V bobin). Bobin 100 ms tam gerilimle çekiyor, sonra 20 kHz'lik %50 PWM ile tutuluyor. Bobinin harcadığı güç 0,4 W'tan yaklaşık 0,1 W'a iniyor; kapalı bir buatta bu fark önemli.
- Ölçüm: BL0937. Akım 1 mΩ'luk şönt üzerinden, gerilim 4 × 470k / 1k bölücüyle ölçülüyor. ESPHome'un
hlw8012bileşeni (model: BL0937) bunu doğrudan okuyor. - Besleme: Power Integrations LNK306 ile buck. Kartın GND'si L'ye bağlı, buck N'den beslenip L'ye göre +5 V üretiyor.
- Duvar anahtarı girişi: SW → 2 × 100k (1206) → BAT54S kıskaç → GPIO. Anahtar L'ye kapandığında giriş LOW oluyor. Klasik bir anahtar her çevrildiğinde röle durum değiştiriyor.
Ne kadar akım?
Röle 16 A'lik ama kart bu akımı sürekli taşıyamaz. Bakır yolların akım yoğunluğunu ve ısınmasını basit bir sonlu farklar modeliyle hesapladım (ortam 40°C, 2 oz bakır, röle kontağı için 3/5/8 mΩ senaryoları). En sıcak nokta rölenin NO pini:
| Sürekli akım | Röle pini (gerçekçi senaryo) |
|---|---|
| 8 A | 57°C |
| 10 A | 67°C |
| 12 A | 78°C |
| 16 A | 108°C |
Yani kart sürekli yaklaşık 10 A için uygun, 16 A ancak kısa süreli. 2 kW'lık bir ısıtıcı ya da çamaşır makinesi için yeterli; 3,5 kW'lık bir fırın için değil.

Yazılımdaki korumalar
- Akım 16 A'i geçerse röle bırakılır.
- Kartın üstündeki NTC 85°C'yi geçerse röle bırakılır ve termal kilit devreye girer. Kilit elektrik kesilse de kalır. Kilitliyken röle duvar anahtarından, butondan ya da Home Assistant'tan çekilemez. Home Assistant'taki "Termal kilidi aç" düğmesi kilidi ancak kart 60°C'nin altına indiğinde açar.
anahtar2: iki kanallı TRIAC anahtar
Klemens: S1 · S2 · L · O1 · O2 · N. Duvardaki çift anahtar S1 ve S2'ye bağlanıyor ve yerinde kalıyor; lambalar O1 ve O2'den besleniyor. Bu sürüm nötr istiyor.
- Anahtarlama: kanal başına bir BT136S-600E TRIAC (TO-252, 4 A / 600 V). Lamba başına en fazla 100 W; bu yükte TRIAC'ta yaklaşık 0,4 W ısı çıkıyor. Röle olmadığı için tık sesi yok ve kontak aşınması yok.
- Kapı sürüşü: ESP → AO3400A → 330 Ω → kapı. Kapı akımı yaklaşık 12 mA ve negatif (TRIAC'ın 2. ve 3. çeyreği), bu yüzden tek bir N-MOSFET yetiyor.
- Dahili bypass: her çıkışta O → 2 × 1k → 47 nF X2 → N. LED lambalar kapalıyken TRIAC'tan sızan küçük akımla hafifçe parlar ya da titrer; bypass bu akıma ayrı bir yol açıyor. Ayrıca bir bypass modülü almaya gerek kalmıyor.
- Besleme: priz60 ile aynı parçalar, ama LNK306 burada negatif çıkışlı buck-boost olarak çalışıyor. L devrenin +5 V rayı, ESP'nin GND'si L'nin 5 V altında. TRIAC'ın MT1'i doğrudan L'ye bağlanabildiği için kapı sürüşü basitleşiyor.
- Koruma: L hattında 2 A T sigorta, beslemede 500 mA T sigorta ve 275 VAC varistör. İki TRIAC'ın arasında bir NTC var: 95°C'yi geçince iki lamba kapanıyor ve priz60'taki gibi termal kilit devreye giriyor (kilit 70°C altında açılıyor).

anahtar2l: nötrsüz sürüm
Eski binalarda anahtar kutusunda çoğu zaman nötr yok: kutuya yalnızca faz ve lambalara giden teller geliyor. anahtar2l bu durum için. Klemens: S1 · S2 · L · O1 · O2 (6. konum boş). Mantık Shelly 1L/2L ile aynı: kart kendini lambaların üzerinden besliyor.
- Besleme lambalar üzerinden: O1 ve O2 iki M7 diyotla birleşiyor → 500 mA T sigorta → 10 Ω → π-filtre → LNK306 buck-boost (L'ye göre -3,9 V) → 470 µF polimer kondansatör → ME6211 LDO → 3,3 V. Lamba kapalıyken kartın çektiği küçük akım lambanın içinden geçiyor.
- Besleme penceresi: lamba açıkken TRIAC iletimdeyse kartın üzerinde gerilim kalmıyor. Bu yüzden iki lamba açıkken 1. kanal her pozitif yarım periyotta 1,5 ms geç tetikleniyor (
charge_delay) ve kart o aralıkta kendini besliyor. Tek lamba açıkken gecikme yok, kapalı lambanın yolu besliyor. - Sıfır geçiş: O1 → 2 × 470k → 10k → IO7, BAT54S kıskaç. Kapıları sıfır geçişe göre sürmek için ESPHome'a bir bileşen yazdım (
components/triac_nl). ESP-IDF'in donanım zamanlayıcısıyla 50 µs'de bir çalışıyor, kapıyı her sıfır geçişten 0,8 ms önce bırakıyor ki TRIAC sönebilsin. Sıfır geçiş kaybolursa iki kanal da kapanıyor. - Darbeli kapı: kapı 150 Ω üzerinden yaklaşık 18 mA ile sürülüyor, ama tetikleme penceresi boyunca sürekli değil: 300 µs'de bir 100 µs'lik darbeyle. LED sürücüsü akımı TRIAC'ın tutma akımının altına düşürürse bir sonraki darbe onu yeniden tetikliyor. Ortalama kapı akımı sürekli sürüşün yaklaşık üçte biri; lambalar üzerinden beslenen bir kartta bu fark önemli.
- Kurulum şartları: her lambanın yanına (tavan buatına) bir bypass takılmalı (Shelly Bypass ya da 47 nF X2 + 2 × 1k seri). Bypass olmadan LED lambalar kapalıyken parlar ve kartın beslemesi zayıf kalır. En az bir lamba takılı olmalı, ve lamba 1 (O1) her zaman takılı olmalı: sıfır geçiş yalnızca O1'den alınıyor, lamba 1 yoksa iki kanal da açılamaz. Tek lambalı kurulumda lamba O1'e bağlanır. Home Assistant'taki "Sıfır geçiş" tanılama sensörü bu durumu gösteriyor.
Üst yüzde bir de mirket logosu var.

Kart tasarımı
Üç kart da 2 katmanlı ve Ø60 yuvarlak. İzolesiz oldukları için klasik "şebeke tarafı / alçak gerilim tarafı" ayrımı yok, ama şebekenin farklı düğümleri arasında yine mesafe gerekiyor. KiCad'in özel kural dosyasında (.kicad_dru) üç net sınıfı tanımladım:
| Sınıf | Netler | Minimum mesafe |
|---|---|---|
| HV | N, O, S, buck girişi | 2,5 mm |
| SWN | LNK306'nın anahtarlama düğümü | 2,0 mm |
| HVCH | seri direnç zincirlerinin ara düğümleri | 1,5 mm |
Yerleşim Python script'leriyle yapıldı (scripts/place.py). Yüksek akım yolları ve şebeke bakırları da script'le çizildi (copper60.py, copper2t.py, copper2l.py), kalan sinyal yollarını kendi autorouter'ım fastroute bağladı. priz60 ve anahtar2l'de son adımda alt ve üst katmandaki GND bakır adacıkları via'larla birleştirildi. Üç kartta da KiCad DRC 0 hata ve 0 bağlanmamış pad veriyor, ERC 0 hata.
Parça maliyeti (JLCPCB, Ekim 2026 fiyatları, kart ve dizgi dahil): priz60 için 5 kart yaklaşık 53 $ artı extended parça ücretleri (17 × 3 $), anahtar2 için 5 kart 92 $, 10 kart 126 $, 50 kart 385 $.
ESPHome
Üç kart için de hazır YAML var. secrets.yaml dosyasına Wi-Fi bilgileri yazılıyor, ilk yükleme şebeke bağlı değilken TP1-TP6 test noktalarından (3V3, GND, TXD, RXD, IO9, EN) bir USB-seri dönüştürücüyle yapılıyor:
uvx esphome run priz60.yaml
Home Assistant'ta priz60 bir röle anahtarı, akım, gerilim, güç, enerji ve kart sıcaklığı sensörleri olarak; anahtar2 iki lamba, iki duvar anahtarı girişi ve TRIAC sıcaklığı olarak görünüyor. İkisinde de "Termal kilit" durumu ve "Termal kilidi aç" düğmesi var. priz60'ta BL0937'nin katsayıları ilk kurulumda bilinen bir yük ve multimetreyle kalibre edilmeli.
anahtar2l'nin YAML'ı components/triac_nl klasörünü yanında istiyor (pakette ikisi birlikte). Home Assistant'ta anahtar2 gibi görünüyor, ayrıca bir "Sıfır geçiş" tanılama sensörü var. charge_delay, zero_cross_offset ve kapı darbesi YAML'dan ayarlanıyor.
Prototipte doğrulanacaklar
- LNK306 beslemesi: yük altında ve Wi-Fi açıkken çıkış gerilimi ve dalgalanma, SOURCE pininin sıcaklığı. Ölçüm yalnızca izolasyon trafosuyla.
- EMI: π-filtrenin yeterli olup olmadığı.
- priz60: 10 A ve 16 A'de, kapalı buatta röle pinlerinde termokuplla ısı testi; BL0937 kalibrasyonu.
- anahtar2: küçük LED lambalarla (3-5 W) kapalıyken parlama ve açıkken titreme; iki 100 W yükte TRIAC sıcaklığı; LED sürücülerinin ani akımı.
- anahtar2l: iki lamba açıkken ve Wi-Fi çalışırken 3,9 V rayının çökmemesi (gerekirse
charge_delayartırılır); sıfır geçiş gecikmesinin osiloskopla ölçülüp ayarlanması; darbeli kapıyla TRIAC'ın farklı LED lambalarda her yarım periyot iletimde kalması.
İndir
| Dosya | İçerik | Boyut |
|---|---|---|
| priz60-kicad.zip | KiCad 10 projesi: şema, PCB, kurallar, footprint ve 3D modeller, şema PDF'i, Gerber/BOM/CPL, ESPHome YAML, yerleşim ve bakır script'leri, ısı simülasyonu | 3.5 MB |
| anahtar2-kicad.zip | KiCad 10 projesi: şema, PCB, kurallar, footprint ve 3D modeller, şema PDF'i, Gerber/BOM/CPL, ESPHome YAML, script'ler | 3.5 MB |
| priz60-gerber.zip | Yalnızca Gerber + Excellon, JLCPCB'ye doğrudan yüklenebilir | 0.1 MB |
| anahtar2-gerber.zip | Yalnızca Gerber + Excellon, JLCPCB'ye doğrudan yüklenebilir | 0.1 MB |
| anahtar2l-kicad.zip | KiCad 10 projesi: şema, PCB, kurallar, footprint ve 3D modeller, şema PDF'i, Gerber/BOM/CPL, ESPHome YAML ve triac_nl bileşeni, script'ler, logo | 4.2 MB |
| anahtar2l-gerber.zip | Yalnızca Gerber + Excellon, JLCPCB'ye doğrudan yüklenebilir | 0.1 MB |
| priz-anahtar-esphome.zip | Üç kartın ESPHome yapılandırması, anahtar2l'nin triac_nl bileşeni ve kurulum notu | 12 KB |
JLCPCB'nin BOM ve CPL dosyaları KiCad paketlerinin production/ klasöründe. Dizgi önizlemesinde parça yönlerini mutlaka kontrol et: KiCad ile JLCPCB'nin 0° tanımı bazı kılıflarda farklı.