DE EN FR NL ES IT
© 2026 S. Sternitzke · CC BY-NC-SA 4.0 ↑ Inhoud Feeder-Relais · Handleiding editie 1
ESP32-C3 · wifi
230-V-timer
Shelly 1PM Mini Gen4
Zelfbouw · versie 3

Feeder-Relais

De handleiding — van de lege printplaat tot het kant-en-klare apparaat in de behuizing
De Feeder-Relais-printplaat v3 van bovenaf
Editie 1 · augustus 2026 · Nederlands Hardware v3 · ESPHome-firmware · CC BY-NC-SA 4.0

Over deze handleiding

Deze handleiding richt zich uitdrukkelijk op beginners, die nog nooit eerder een printplaat hebben bestukt of firmware hebben geflasht. Je hebt geen elektronica-opleiding nodig — maar wel een soldeerbout, wat geduld en de bereidheid om af en toe een paar commando's in een terminal in te typen. Elke stap is volledig beschreven: wat je doet, waarom je het doet, en waaraan je herkent dat het gelukt is, zodat je nooit hoeft te raden of je op het juiste spoor zit. Aan het eind van deze handleiding heb je een compleet, zelfgebouwd apparaat in handen dat een 230-V-last (bijvoorbeeld een voederautomaat) op knopdruk voor een instelbare tijd inschakelt — te bedienen via drie knoppen, een klein display en een webpagina in het thuisnetwerk.

✋ Dit apparaat voert 230 volt 230 volt netspanning is levensgevaarlijk. De opbouw, de controle en de inbedrijfstelling van de voeding horen in de handen van een elektromonteur of een onderrichte persoon. Alle tests die zonder vakman mogelijk zijn, verlopen in deze handleiding uitsluitend via USB en zonder enige netspanning. Lees eerst hoofdstuk 2.

Zo lees je deze handleiding

ℹ Opmerking Blauwe kaders geven achtergrondinformatie. Je kunt ze overslaan — maar ze maken veel dingen begrijpelijker.
✓ Tip Groene kaders besparen tijd of ergernis.
⚠ Let op Gele kaders markeren plekken waar vaak iets misgaat.
✋ Stop Rode kaders markeren handelingen die hardware kunnen vernielen of jou kunnen verwonden. Lees deze altijd.

Commando's voor de terminal zien er zo uit — ze worden regel voor regel ingevoerd en met Enter bevestigd. Regels die met # beginnen, zijn commentaar en worden niet mee ingetypt:

# Dit is commentaar — alleen ter uitleg
esphome run firmware/timer-relais-c3.yaml

Verwijzingen zoals „hoofdstuk 7" zijn in de PDF aanklikbaar. Via de link „↑ Inhoud" onderaan elke pagina spring je op elk moment terug naar het overzicht.

Inhoud

  1. 1 Wat het Feeder-Relais is
  2. 2 Veiligheid — lees dit eerst
  3. 3 Hoe het systeem werkt
  4. 4 Boodschappenlijst: materiaal en gereedschap
  5. 5 De behuizing
  6. 6 De printplaat begrijpen
  7. 7 De printplaat laten produceren
  8. 8 KiCad stap voor stap (alleen bij eigen wijzigingen)
  9. 9 De printplaat bestukken
  10. 10 De firmware installeren
  11. 11 Wifi instellen en bedienen via de browser
  12. 12 Netwerk, taal en weergave
  13. 13 De externe Shelly aansluiten
  14. 14 Assemblage en inbedrijfstelling
  15. 15 Firmware-updates en onderhoud
  16. 16 Probleemoplossing
  17. 17 Bijlage: bezettingen, bestanden, verklarende woordenlijst

1Wat het Feeder-Relais is

Het Feeder-Relais is een zelfgebouwde stuurprintplaat die een 230-volt-last op knopdruk voor een instelbare tijd inschakelt en daarna vanzelf weer uitschakelt. De naam komt van de oorspronkelijke toepassing: het vervangt de defecte tijdschakelprintplaat van een voederautomaat (Engels feeder). Omdat het uiteindelijk alleen „een schakelaar voor een bepaalde tijd indrukt", is het geschikt voor elke last die je tijdgestuurd wilt schakelen.

1.1 Wat het apparaat doet

Aan de voorzijde zitten drie drukknoppen. Een korte druk schakelt de last voor een vastgelegde tijd in:

KnopOpschriftStandaardtijdinstelbaar
S1Down / Manual (T1)5 seconden1–600 s via wifi
S2SET (T2)10 seconden1–600 s via wifi
S3UP (T3)15 seconden1–600 s via wifi

Een klein OLED-display achter het kijkvenster toont bovenaan de wifi-ontvangst, de grote klok (ingesteld via een internet-tijdserver) en de status Idle; onderaan de datum en het vrije geheugen. Loopt er een timer, dan staat in het midden de secondenaftelling en rechts Feed.

De bediening verloopt zonder app en zonder cloud via een kleine, voor mobiele telefoons geoptimaliseerde webpagina die de ESP32 zelf aanbiedt (in de browser http://feeder-relais.local): timer activeren, tijden instellen, netwerk- en statuswaarden bekijken. Voor de koppeling met een huisautomatisering (bijvoorbeeld ioBroker of Home Assistant) is er bovendien een compacte JSON-interface (hoofdstuk 11).

1.2 De signaalketen

Van de knopdruk tot de geschakelde last doorloopt het signaal vijf stations. Elk heeft precies één taak:

Knop   ─►  ESP32-C3  ─►  330 Ω  ─►  PhotoMOS  ─►  Shelly 1PM  ─►  Last
S1–S3      telt de       begrenst    schakelt      schakelt en      (pomp,
           tijd, tekent  de LED-     galvanisch    meet de          voeder-
           het OLED      stroom      gescheiden    230-V-last       motor …)
ℹ Waarom zoveel stations? De ESP32 werkt met ongevaarlijke 3,3 volt. Hij mag 230 volt nooit rechtstreeks „aanraken". De PhotoMOS is de brug: hij scheidt laagspanning en netspanning volledig van elkaar door licht (details in hoofdstuk 3). De Shelly neemt het eigenlijke schakelen van de last voor zijn rekening en meet daarbij zelfs het vermogen.

1.3 Wat versie 3 anders doet

Deze handleiding beschrijft versie 3 van de printplaat. Ten opzichte van de eerste versie is de opbouw duidelijk vereenvoudigd:

2Veiligheid — lees dit eerst

✋ Levensgevaar door 230 volt Netspanning kan dodelijk zijn. Wie de 230-V-zijde opbouwt, controleert en in bedrijf stelt, moet de gevaren kennen en de regels van de elektrotechniek beheersen. Bij twijfel: een elektromonteur inschakelen. Er is geen uitzondering en geen haast die dat rechtvaardigt.

2.1 De basisregels

2.2 Waarom 6 millimeter afstand

Tussen twee koperen vlakken op een printplaat kan stroom niet alleen door de lucht overslaan, maar ook langs het oppervlak kruipen — bevorderd door stof, vocht en vuil. Deze „kruipweg" moet bij 230 volt groot genoeg zijn. Wij leggen hem vast op 6 mm; dat is royaal en laat marge over. De enige toegestane uitzondering is het inwendige van het PhotoMOS-relais zelf — deze component is het gecertificeerde scheidingspunt en mag netspanning en laagspanning op enkele millimeters van elkaar voeren (hoofdstuk 6).

⚠ De 6-mm-regel is geen aanbeveling Ze is in het printplaatontwerp vastgelegd als vaste controleregel (hoofdstuk 6 en 8). Wie de printplaat verandert, mag deze regel niet versoepelen — ze is de reden waarom het apparaat in het dagelijks gebruik veilig blijft.

2.3 De veilige weg naar de eerste inbedrijfstelling

De volgorde in deze handleiding is bewust zo gekozen dat je alles gevaarlijks als laatste doet en tot dan toe zonder risico kunt oefenen:

  1. Printplaat bestukken en de ESP zonder voeding via USB flashen (hoofdstuk 9 en 10).
  2. Alleen-USB-test: drukknoppen, OLED en de PhotoMOS-uitgang worden volledig zonder netspanning gecontroleerd (hoofdstuk 14).
  3. Pas als alles werkt, komen de voeding en de Shelly erbij — en de eerste netspanningstest verloopt achter een aardlekschakelaar met gesloten behuizing (hoofdstuk 14).

3Hoe het systeem werkt

3.1 De componenten en hun taken

ComponentTaak
ESP32-C3 Super MiniHet „brein". Een kleine microcontroller met wifi. Hij leest de drukknoppen, telt de tijd, tekent het OLED, biedt de webpagina aan en stuurt de PhotoMOS aan. Gevoed met 5 V, werkt intern met 3,3 V.
PhotoMOS-relaisHet galvanische scheidingspunt tussen 3,3 V en 230 V. Details in paragraaf 3.3.
Voorweerstand 330 ΩBegrenst de stroom door de interne led van de PhotoMOS, zodat deze niet overbelast raakt.
Voeding (AC/DC-module)Maakt van 230 V~ de 5 V waarmee de ESP draait. Een kant-en-klare, ingekapselde module.
Shelly 1PM Mini Gen4Schakelt de eigenlijke last, meet het vermogen en is bovendien via wifi bereikbaar. Zit buiten de printplaat.
OLED-display 0,91"Toont klok, aftelling en status. Wordt alleen opgestoken, niet gesoldeerd.
Zekering + varistorBeschermen tegen overstroom en overspanning aan de netzijde.

3.2 Waarom een Shelly — en waarom buiten de printplaat

De Shelly 1PM Mini Gen4 is een kant-en-klaar, gekeurd schakelrelais met vermogensmeting. Hem gebruiken heeft drie voordelen: het risicovolle schakelen van de last wordt overgenomen door een gecertificeerd kant-en-klaar product; het vermogen wordt gemeten (je ziet of de last echt draait); en de Shelly is zelf via wifi bereikbaar, mocht je hem ook nog willen inbinden.

Onze printplaat „drukt" voor de Shelly alleen de schakelaar in — als een echt hardwaresignaal, zonder wifi-afhankelijkheid voor de kernfunctie. In versie 3 zit de Shelly buiten de printplaat en wordt via een klem verbonden (hoofdstuk 13). Dat houdt de printplaat klein, de 230-V-wegen kort en de opbouw overzichtelijk.

ℹ „Switch / Follow" De Shelly wordt zo ingesteld dat het relais ervan precies zo lang aan is als ons signaal actief is (bedrijfsmodus Switch respectievelijk Follow). De volledige timing blijft daarmee bij de ESP — de Shelly volgt alleen.

3.3 Wat een PhotoMOS is en waarom precies deze

Een PhotoMOS is een piepklein halfgeleiderrelais. Aan de ene kant zit een led, die de ESP met 3,3 V aanstuurt. Aan de andere kant een lichtgestuurde schakelaar, die netspanning mag schakelen. Daartussen zit alleen licht — dus een volledige galvanische scheiding tussen laagspanning en 230 V.

De schakelingang van de Shelly is netspanningsgebonden (hij verwacht een geschakelde L). Daarom moet de PhotoMOS ≥ 400 V sperspanning aankunnen — bijvoorbeeld een Omron G3VM-601BY of een Panasonic AQY216.

✋ Geen PC817 & co. Een gewone opto-coupler (zoals de PC817) is voor de netzijde niet toegestaan — hij houdt de spanning niet veilig tegen en is niet gebouwd voor de scheiding van netspanning. Gebruik alleen een voor netspanning geschikte PhotoMOS met ≥ 400 V.

3.4 Elke component in detail

Hier de precieze functie van elke component — met de waarden die op de v3-printplaat daadwerkelijk zijn verwerkt. De aanduidingen (referentie­tekens) staan zo op de bestukkingsopdruk van de printplaat.

AanduidingWaardePrecieze functie
U1ESP32-C3 Super MiniDe microcontroller met wifi. Draait op 5 V, genereert intern via een regelaar 3,3 V (ook voor het OLED). Draagt een onboard rgb-led (WS2812) op GPIO8. Stuurt drukknoppen, OLED, PhotoMOS en de webinterface aan.
K1G3VM-601AY2De PhotoMOS — de galvanische scheiding tussen 3,3 V en 230 V. Pins 1/2 = interne led (pin 1 via R1 van GPIO6, pin 2 naar GND), pins 3/4 = lichtgestuurde schakelaar (pin 3 = L_F, pin 4 = SW_SHELLY). Sperspanning ≥ 400 V.
R1330 ΩVoorweerstand van de K1-led. Van ~3,3 V min ~1,2 V led-voorwaartsspanning vloeit ongeveer 6 mA — genoeg om veilig te schakelen, ruim onder de grenswaarde van de led.
PS1TSP-05 (5 V / 3 W)De voeding: maakt van 230 V~ (L_F + N) de 5 V/GND voor de ESP. 3 W = 600 mA — genoeg voor de wifi-zendpieken (~350 mA) plus OLED.
C1220 µF / 10 VSteuncondensator op +5 V: buffert korte stroompieken tijdens het wifi-zenden en voorkomt de spanningsval die de ESP anders zou laten herstarten.
C2100 nFAfblokcondensator direct op +5 V/GND: vangt hoogfrequente storingen dicht bij de chip op.
F11 A traagFijnzekering (5×20 mm) in serie: X1 (L_IN) → F1 → L_F. Beschermt bij kortsluiting/overstroom. „Traag", zodat de inschakelstroom van de voeding niet ten onrechte afschakelt.
RV1S14K275 (varistor)Overspanningsbeveiliging parallel tussen L_F en N: begrenst spanningspieken (schakeltransiënten, netstoringen) en beschermt voeding en elektronica.
J2OLED SSD1306 128×32Het display. I²C-adres 0x3C, 400 kHz. Wordt alleen opgestoken (bezetting GND/VCC/SCL/SDA).
SW1–3Drukknop 6×6 mmDe drie korteslagdrukknoppen T1/T2/T3. Eén aansluiting op GND, de andere op GPIO3/4/5 — de ESP gebruikt interne pull-ups, een druk trekt de pin naar GND.

En de aansluitklemmen aan de rand van de printplaat:

AanduidingAansluitingBezetting
X1Netingang1 = N, 2 = L_IN (230 V binnenkomend)
X2Lastafgang1 = O (geschakeld), 2 = N
X3Snubber1 = O, 2 = N — voor een optioneel RC-lid bij inductieve lasten
J1Shelly1 = SW, 2 = O, 3 = L, 4 = N (naar de externe Shelly, hoofdstuk 13)

4Boodschappenlijst: materiaal en gereedschap

Alles wat je nodig hebt voor één Feeder-Relais. De printplaat zelf laat je produceren (hoofdstuk 7); de componenten worden besteld en opgesoldeerd (hoofdstuk 9).

4.1 Componenten op de printplaat

AanduidingComponentWaarde / typeOpmerking
U1ESP32-C3 Super Mini18 × 24 mm, USB-CController met wifi
K1PhotoMOS-relaisOmron G3VM-601AY2 (of -601BY / Panasonic AQY216)≥ 400 V!
PS1AC/DC-voedingsmodule5 V / 3 W (HLK-PM05-klasse)Pinafstanden nameten
OLED-display0,91" SSD1306, 128 × 32, I²CPins: GND VCC SCL SDA, adres 0x3C
SW1–3Korteslagdrukknop6 × 6 mm, slag 1,5 mmPositie is vast (frontplaat)
R1Weerstand330 ΩLed-voorweerstand PhotoMOS
F1Fijnzekering + houder1 A traag, 5 × 20 mmprimaire zijde, verplicht
RV1VaristorS14K275primaire zijde, verplicht
C1 / C2Condensatoren220 µF/10 V & 100 nF5-V-buffer en afblokking
X1Netingang2-polig (L, N)Schroefklem, 230 V binnenkomend
X2Lastafgang2-polig (O, N)naar de geschakelde last
X3Snubber2-polig (O, N)optioneel RC-lid voor inductieve lasten
J1Shelly-aansluiting4-polig (SW, O, L, N)korte draden naar de externe Shelly, hoofdstuk 13
J2OLED-connectorstrip1 × 4, RM 2,54GND/VCC/SCL/SDA, display wordt opgestoken

4.2 Onderdelen buiten de printplaat

4.3 Gereedschap

5De behuizing

De behuizing bestaat uit twee delen: het voorstuk (de originele frontplaat met kijkvenster en de drie taststoters) en het achterstuk, dat je zelf in 3D print. De printplaat wordt van achteren op zes domes geschroefd, het display zit achter het kijkvenster.

Het geprinte achterstuk van de behuizing van schuin bovenaf
Het 3D-geprinte achterstuk met de zes schroefdomes en het ophanglipje (boven).

5.1 Opbouw uit voor- en achterstuk

Het voorstuk is het originele bovendeel van de behuizing. Het draagt het kijkvenster (daarachter zit het OLED) en de stoters die bij het indrukken de drie drukknoppen op de printplaat bedienen. Daarom is de positie van de drukknoppen niet onderhandelbaar — ze moeten precies onder de stoters zitten (hoofdstuk 9).

Voorstuk van de behuizing
Het voorstuk (origineel) met kijkvenster en de drie taststoters.

Het achterstuk is in versie 3 bewust dieper dan het origineel (35 mm in plaats van de oorspronkelijke 5,7 mm), zodat printplaat en de externe Shelly er gemakkelijk in passen. Bovenaan zit een ophanglipje met sleutelgat voor de wandmontage.

5.2 Het achterstuk zelf printen

De sjabloon zit als OpenSCAD-bestand in het project onder box/feeder_back.scad. OpenSCAD is een gratis programma dat een 3D-model genereert uit een tekstbestand — het voordeel: alle afmetingen staan als variabelen bovenaan in het bestand en zijn aan te passen.

  1. OpenSCAD openen en box/feeder_back.scad laden.
  2. Met F6 het model berekenen en via Bestand → Exporteren → STL als printbaar bestand opslaan. Een kant-en-klare STL zit al bij het project: box/feeder_back_35mm.stl.
  3. De STL in de slicer van je printer laden. Aanbeveling: met de open zijde naar boven printen, 3–4 wandlijnen, 20–30 % vulling, geen steunconstructies nodig.
✓ Eerst de printplaat als attrappe printen In het project zit ook box/Timer-Ersatzplatine-v3-BOARD.stl — een 1:1-afbeelding van de printplaat (omtrek, schroefgaten, sleuven). Print hem plat en leg hem in het achterstuk, voordat je de echte printplaat bestelt. Zo controleer je zonder risico of alles past (hoofdstuk 7).

5.3 Hoogtebudget en bevestiging

De printplaat wordt van achteren met zes schroeven op de domes van het achterstuk geschroefd (domraster 45 mm × 70 mm, schroefgat 3,2 mm, verzinking voor de schroefkop aan de achterzijde). Vier aanvullende punten aan de frontplaat centreren de printplaat extra.

MaatWaarde
Buitenmaat achterstuk109,8 × 90,8 mm
Diepte achterstuk (v3)35 mm
Wand- en bodemdikte1,3 mm
Printplaatmaat101,6 × 77,5 mm
Domraster45 mm (X) × 70 mm (Y)
⚠ Niets mag naar beneden (naar de voorzijde) uitsteken Tussen printplaat en frontplaat is de ruimte krap. Alle hoge componenten zitten daarom op de achterzijde van de printplaat (hoofdstuk 6). Aan de voorzijde blijven alleen de platte drukknoppen en de display-aansluiting over.

6De printplaat begrijpen

Je hoeft de printplaat niet zelf te ontwerpen — hij zit kant-en-klaar in het project onder kicad-v3/. Dit hoofdstuk legt uit hoe hij is opgebouwd, zodat je bij het bestukken en controleren weet wat waar hoort. Wie zelf iets wil wijzigen, vindt de KiCad-handleiding in hoofdstuk 8.

6.1 Voor- en achterzijde

In versie 3 ligt de volledige elektronica op de achterzijde. Aan de voorzijde (naar de frontplaat toe) blijven alleen de drie drukknoppen en de OLED-connector over — alles wat bediend of gezien wordt.

Bestukkingszijde (achterzijde) van de printplaat
De achterzijde draagt ESP, voeding, PhotoMOS en de 230-V-klemmen. Netspanning (onder) en laagspanning (boven) zijn ruimtelijk duidelijk gescheiden.

6.2 Vier lagen en de massavlakken

De printplaat heeft vier koperlagen: de beide buitenlagen (voor- en achterzijde) dragen de printbanen, de beide binnenlagen zijn doorlopende massavlakken in het laagspanningsgebied. Zulke massavlakken werken als een rustig referentievlak: ze maken de opbouw storingsarm en de wifi-functie stabiel.

ℹ Belangrijk voor de veiligheid In het netspanningsgebied is er geen binnenkoper. De 230-V-leidingen lopen uitsluitend op de beide buitenlagen, en de massavlakken houden overal minimaal 6 mm afstand tot de netspanning. Zo kan nergens in het binnenste van de printplaat een gevaarlijke nabijheid ontstaan.

6.3 Netspanning alleen aan de buitenzijde: de 6-millimeterregel

De vijf netten L_IN, L_F, N, SW_SHELLY en O_LAST voeren 230 volt. Ze zijn samengebracht in een eigen netklasse „230V" (bredere printbanen, grotere afstanden) en liggen allemaal linksonder, ver weg van de elektronica. Een in het ontwerp vastgelegde controleregel eist 6 mm afstand tussen elk 230-V-net en elke laagspanning.

De enige uitzondering is het PhotoMOS-relais K1: de behuizing daarvan is het gecertificeerde scheidingspunt (pins 1/2 = laagspanning, pins 3/4 = netspanning). Alleen daar mogen beide werelden elkaar op enkele millimeters ontmoeten — precies daarvoor is de component gebouwd.

6.4 De netten en de pinbezetting

Welke leiding wat voert, toont het volgende overzicht:

Netnaamvoertverbindt
L_IN230 V (onbeveiligd)Netingang X1 → zekering F1
L_F230 V (beveiligd)F1 → varistor RV1, voeding PS1, PhotoMOS K1.3, Shelly J1.L
N230 V nulX1 → RV1, PS1, Shelly J1.N, last X2, snubber X3
SW_SHELLY230 V geschakeldPhotoMOS K1.4 → Shelly J1.SW
O_LAST230 V geschakeldShelly J1.O → lastafgang X2 + snubber X3
+5VlaagspanningVoeding → ESP 5V, C1, C2
GNDlaagspanningMassa: ESP, drukknoppen, PhotoMOS, OLED
+3V3laagspanningESP-3V3-uitgang → OLED

De ESP32-C3 gebruikt deze pins:

GPIO-bezetting van de ESP32-C3 Super Mini
De gebruikte aansluitingen van de ESP32-C3 Super Mini.
PinFunctie
5V / GVoeding vanaf de voedingsmodule
3V3voedt het OLED
GPIO3 / 4 / 5Drukknop T1 / T2 / T3
GPIO6PhotoMOS-driver (via 330 Ω)
GPIO7I²C-SDA (OLED)
GPIO8Onboard rgb-led (status)
GPIO9I²C-SCL (OLED)
ℹ Waarom SDA op GPIO7 in plaats van GPIO8? Op GPIO8 zit de kleine rgb-statusled van de ESP-module. Lag daar I²C, dan zou het dataverkeer de led ongecontroleerd aansturen. Daarom ligt SDA op GPIO7. Dezelfde rgb-led toont later het statusverkeerslicht van het apparaat (hoofdstuk 11).

6.5 Elke ESP-aansluiting tot in detail

Deze tabel is de bindende afstemming tussen printplaat en firmware. Links staat wat de firmware (timer-relais-c3.yaml) met de pin doet — met de precieze configuratie ervan; rechts, waarheen de printplaat hem leidt. Beide kanten moeten exact overeenkomen, anders werkt het apparaat niet.

ESP-pinFirmware (id & configuratie)PrintplaatFunctie in detail
GPIO3btn_s1 · ingang, interne pull-up, geïnverteerd, 30 ms ontdenderenPad 3 → /BTN1 → drukknop S1 naar GNDDrukknop S1 (Down/Manual). Ruststand HIGH; druk trekt naar GND (LOW) → geldt als „ingedrukt". Kort = timer 1 activeren.
GPIO4btn_s2 · ingang, pull-up, geïnverteerd, 30 msPad 4 → /BTN2 → drukknop S2 naar GNDDrukknop S2 (SET). Kort = timer 2; lang ≥ 3 s = info-menu.
GPIO5btn_s3 · ingang, pull-up, geïnverteerd, 30 msPad 5 → /BTN3 → drukknop S3 naar GNDDrukknop S3 (UP). Kort = timer 3; lang ≥ 1,2 s = alles stoppen.
GPIO6shelly_trigger · GPIO-uitgangPad 6 → /PMOS_DRV → R1 330 Ω → K1-led-anodeStuurt de PhotoMOS aan. HIGH = led aan = PhotoMOS geleidt = Shelly-SW krijgt L → last aan. LOW = uit.
GPIO7i2c: sda · 400 kHzPad 7 → /SDA → OLED J2.4I²C-datalijn naar het OLED. Ligt bewust op GPIO7 (niet GPIO8).
GPIO8status_led · WS2812 (GRB), gedimdmodule-intern — geen net op de printplaat (pad 8 vrij)Onboard rgb-statusled (verkeerslicht groen/geel/rood). Deze zit vast op GPIO8 van de module; daarom mag hier geen tweede signaal liggen — de reden waarom SDA naar GPIO7 verhuisde.
GPIO9i2c: scl · 400 kHzPad 9 → /SCL → OLED J2.3I²C-kloklijn naar het OLED (adres 0x3C).
5V / GNDVoeding van de module/+5V / GND vanaf de voedingsmodule5 V uit de AC/DC-module; GND is de gemeenschappelijke massa (ook de binnenlagen).
3V3Uitgang van de onboard-regelaar/+3V3 → OLED-VCCDe ESP genereert intern 3,3 V en voedt daarmee het OLED.
⚠ Precies deze afstemming is doorslaggevend Wordt op de printplaat SDA per ongeluk op GPIO8 gelegd (daar zit de WS2812), dan blijft het OLED zwart en verstoort het led-signaal de datalijn. Controleer daarom bij de nabouw: OLED-SDA moet aan ESP-pad 7 (GPIO7) hangen, SCL aan pad 9 (GPIO9) — GPIO8 blijft vrij.

7De printplaat laten produceren

Een vierlaagse printplaat maak je niet thuis — je laat hem produceren bij een printplaatfabrikant. Dat is tegenwoordig goedkoop en eenvoudig: je upload een handvol bestanden en krijgt de kant-en-klare printplaten per post.

7.1 Eerst een test in kunststof

✓ De pastruc bespaart geld Voordat je printplaten bestelt, print je de bijgevoegde box/Timer-Ersatzplatine-v3-BOARD.stl 1:1 op de 3D-printer (plat, zonder steunconstructies) en leg je hem in het geprinte achterstuk. Past de omtrek, sluiten de zes sleuven aan op de domes, zitten de schroefgaten goed? Deze vijf minuten besparen je een dure verkeerde bestelling.

Als alternatief (of aanvullend) print je de omtrek van de printplaat op papier op schaal 1:1 en knip je hem uit.

7.2 Gerberbestanden genereren

„Gerber" is het standaard bestandsformaat waarin fabrikanten printplaten verwachten — één bestand per laag, plus de boorgegevens. De kant-en-klare Gerberbestanden zitten al in het project; genereren doe je zo vanuit KiCad:

  1. Het project kicad-v3/Timer-Ersatzplatine-v3.kicad_pcb in KiCad openen.
  2. Bestand → Productiegegevens → Gerberbestanden — alle standaardlagen selecteren, exporteren.
  3. In hetzelfde dialoogvenster de boorbestanden (Excellon) genereren.
  4. Alle gegenereerde bestanden in een ZIP-archief verpakken.

7.3 Bestellen bij een fabrikant

Upload de ZIP bij een aanbieder zoals JLCPCB, PCBWay of Aisler. Belangrijke instellingen:

InstellingWaarde
Lagen4
Materiaaldikte1,6 mm (standaard)
OppervlakHASL loodvrij of ENIG
Koper1 oz (35 µm)
Kleurmaakt niet uit
⚠ Vierlaags instellen Kies echt 4 lagen. Een tweelaagse nabouw zou geen inwendige massavlakken hebben — de wifi- en storingsvastheid zou slechter zijn, en de controleregels van het ontwerp zouden niet meer kloppen.

8KiCad stap voor stap (alleen bij eigen wijzigingen)

Dit hoofdstuk heb je alleen nodig als je de printplaat zelf wilt veranderen. Voor het pure nabouwen kun je het overslaan — de kant-en-klare productiegegevens zitten erbij. KiCad is een gratis programma voor printplaatontwerp (getest met KiCad 8/9/10; menunamen kunnen minimaal afwijken).

8.1 Project openen en schema controleren

  1. KiCad starten en kicad-v3/Timer-Ersatzplatine-v3.kicad_pro openen.
  2. De schema-editor starten. Deze toont hoe alle componenten verbonden zijn.
  3. Gereedschap → Elektrische regels controleren (ERC) laten lopen. Meldingen over „niet-aangesloten voedingspinnen" zijn bekend en niet kritiek.

8.2 Footprints en netklassen

Elk componentsymbool is gekoppeld aan een footprint — het soldeerbeeld op de printplaat. Controleer onder Gereedschap → Footprints toewijzen dat bijvoorbeeld PS1 past bij de daadwerkelijk gekochte voeding (pinafstanden nameten!) en de PhotoMOS bij de smd- of dip-bouwvorm.

De netklassen staan in het projectbestand en mogen niet veranderd worden: Default (0,2 mm afstand en baanbreedte) en 230V (1,0 mm afstand en baanbreedte) met de vijf netten L_IN, L_F, N, SW_SHELLY, O_LAST.

8.3 De 6-millimeterregel en de DRC

De kruipwegregel staat als apart bestand Timer-Ersatzplatine-v3.kicad_dru in het project. Ze eist tussen 230 V en laagspanning 6 mm — met de bewuste uitzondering van de PhotoMOS K1:

(version 1)
(rule "230V->SELV 6mm (K1-Barriere ausgenommen)"
   (condition "... 230-V-Netz gegen Nicht-230-V-Netz,
               K1 ausgenommen ...")
   (constraint creepage (min 6mm))
   (constraint clearance (min 6mm)))

Laat na elke wijziging de DRC (Design Rules Check, Controleren → Ontwerpregels controleren) lopen, tot deze foutloos is.

⚠ Massavlakken 6 mm terugtrekken Het automatische vulproces van de massavlakken houdt alleen de netklasse-afstand aan, niet de 6-mm-regel. Daarom zijn de massavlakken geometrisch zo gevormd dat ze overal 6 mm van de netspanning wegblijven. Wie de vlakken opnieuw tekent, moet deze afstand met de hand bewaken.

8.4 Productiegegevens

Zijn DRC en visuele controle (3D-weergave met Alt+3) in orde, dan exporteer je Gerber- en boorgegevens zoals beschreven in hoofdstuk 7.

9De printplaat bestukken

„Bestukken" betekent: de componenten op de printplaat solderen. We gaan van de platte naar de hoge onderdelen — zo ligt de printplaat tijdens het solderen altijd stabiel.

9.1 Volgorde en gereedschap

Aanbevolen volgorde: R1 → C2 → PhotoMOS → drukknoppen → OLED-connector J4 → C1 → zekeringhouder F1 → varistor RV1 → klemmen. De ESP komt pas als hij geflasht en getest is (hoofdstuk 10 en 14).

9.2 De smd-componenten

De PhotoMOS is (afhankelijk van het type) een klein smd-onderdeel. Zo soldeer je hem netjes:

  1. Eén pad dun vertinnen.
  2. Het onderdeel met de pincet erop leggen en op het vertinde pad vastsolderen — positie controleren.
  3. De overige pinnen solderen. Vloeimiddel helpt; bruggen voorkom je met weinig tin.
ℹ Oriëntatie van de PhotoMOS Pin 1 is gemarkeerd (stip of afgeschuinde hoek). De laagspanningszijde (pins 1/2) wijst naar de elektronica, de netspanningszijde (pins 3/4) naar de 230-V-hoek. Het soldeerbeeld geeft de richting aan — niet raden, op de opdruk oriënteren.

9.3 De bedrade componenten en connectoren

ℹ Het OLED wordt gestoken, niet gesoldeerd Aan het OLED soldeer je een pinstrip (naar achteren), die in de connector J4 past. Het display zit dan met een dun schuimrubber pad direct tegen het kijkvenster. Zo blijft het verwisselbaar en de bouwhoogte laag.

10De firmware installeren

De „firmware" is het programma dat op de ESP draait. De allereerste keer komt het via een USB-kabel op de chip. Alle latere updates verlopen daarna draadloos (hoofdstuk 15).

10.1 Wat je nodig hebt

USB-verbinding pc met de ESP32-C3
ESP32-C3 via USB-C met de pc verbinden.
ℹ Je hoeft niets te compileren Kant-en-klare images zitten in het project onder firmware/build/: feeder-relais.factory.bin voor de eerste flash en feeder-relais.ota.bin voor latere web-updates. Ze bevatten geen wifi-toegangsgegevens — die stel je na het flashen in (hoofdstuk 11).

10.2 Weg A — met ESPHome

ESPHome is het gereedschap waarmee de firmware wordt gebouwd en geïnstalleerd. Een secrets.yaml is niet nodig — er worden geen wifi-gegevens ingecompileerd.

  1. ESP via USB-C aansluiten.
  2. In de projectmap uitvoeren:
    esphome run firmware/timer-relais-c3.yaml
  3. ESPHome compileert, vraagt de seriële poort op (Linux bijv. /dev/ttyACM0, Windows een COMx) en flasht.
  4. Na de herstart opent de ESP zijn setup-hotspot → verder met hoofdstuk 11.
✓ Linux: „Permission denied"? Als de toegang tot /dev/ttyACM0 geweigerd wordt, je gebruiker toevoegen aan de groep dialout en opnieuw inloggen:
sudo usermod -aG dialout $USER

10.3 Weg B — in de browser

Voor de kant-en-klare feeder-relais.factory.bin helemaal zonder installatie:

Verloop: flashen via de browser
Het flashverloop in de browser via de web-flasher.
  1. In Chrome/Edge de pagina https://espressif.github.io/esptool-js/ openen.
  2. ESP via USB-C-datakabel aansluiten.
  3. Baudrate 115200 laten staan, op Connect klikken en de seriële poort van de ESP kiezen.
  4. Bij Flash Address 0 invoeren, met Choose File de feeder-relais.factory.bin kiezen, dan Program. Wachten tot „Hard resetting…" verschijnt.
  5. Verder met hoofdstuk 11.

10.4 Als het flashen vastloopt

SymptoomOorzaak / oplossing
ESP wordt helemaal niet herkendLaadkabel in plaats van datakabel → andere USB-C-kabel, andere poort
Geen poort in de browserChrome/Edge gebruiken; onder Windows evt. drivers (CH340/CP210x)
„Connect" misluktBootmodus: BOOT ingedrukt houden + RESET tikken + BOOT loslaten, dan opnieuw verbinden
Geen …​.local daarnaeerst wifi instellen (hoofdstuk 11); mDNS heeft een moment nodig

11Wifi instellen en bedienen via de browser

11.1 De setup-hotspot

De firmware brengt bewust geen wifi-toegangsgegevens mee. Na het flashen opent de ESP een eigen hotspot:

  1. Ga op de telefoon/pc naar het wifinetwerk „Feeder-Relais Setup" (wachtwoord feeder1234).
  2. Er opent een aanmeldvenster (anders http://192.168.4.1 opvragen).
  3. Je thuis-wifi kiezen, wachtwoord invoeren, opslaan — de ESP herstart en verbindt.
  4. Vanaf nu bereikbaar onder http://feeder-relais.local.
ℹ Eén keer instellen, dan nooit meer De wifigegevens staan onder een vaste opslagsleutel en overleven firmware-updates. Voor een fabrieksreset flash je het factory-image met „Erase all flash".

11.2 De webinterface

http://feeder-relais.local opent een mobiele webapp met vijf tabbladen:

11.3 Het statusverkeerslicht en de JSON-interface

In de kopregel staat een statuspunt: groen = alles in orde, geel = een timer loopt, rood = storing in ruststand (bijv. OLED niet bereikbaar of geen wifi). Hetzelfde verkeerslicht toont op het apparaat de gedimde onboard rgb-led.

Voor de huisautomatisering biedt de ESP een JSON-interface. De belangrijkste endpoints:

AanroepWerking
GET /api/statusalle waarden als JSON (actief, resttijd, relais, tijden, wifi …)
POST /api/trigger?button=Nknop N (1–3) met zijn tijd activeren
POST /api/trigger?seconds=Nad-hoc voor N seconden schakelen
POST /api/trigger?seconds=N&src=adapterals hierboven, markeert de bron — verschijnt als trg (button/api/adapter) in de status en het logboek
POST /api/stopdirect uitschakelen
POST /api/config?time1=A&time2=B&time3=Ctijden instellen (elk 1–600 s)
ℹ Voorbeeld ioBroker Tijd van knop 1 op 8 seconden zetten: POST http://feeder-relais.local/api/config?time1=8.

12Netwerk, taal en weergave

12.1 Netwerkinstellingen

In het tabblad Netwerk stel je in:

12.2 Wifi-roaming

De schakelaar wifi-roaming (802.11k/v) is alleen zinvol als je meerdere access points met dezelfde SSID hebt (mesh/UniFi) en deze de techniek ondersteunen. Dan kan het apparaat gericht overschakelen naar het sterkere access point. Standaard: uit. Na het omschakelen helpt de knop „Nu opnieuw verbinden", zodat het direct actief wordt.

12.3 Bediening via de knoppen en het OLED

Op het apparaat zijn de knoppen beschreven: S1 = Down/Manual, S2 = SET, S3 = UP.

Het OLED (128 × 32) toont bovenaan de wifibalk, de grote klok respectievelijk de aftelling en de status (Idle/Feed); onderaan datum en vrij geheugen. Weekdag, status en menutitel volgen de ingestelde taal. Tot de eerste tijdsynchronisatie staat er „--:--".

13De externe Shelly aansluiten

✋ Alleen spanningsvrij bedraden De Shelly voert 230 volt. Alle bedradingswerkzaamheden gebeuren spanningsvrij, met de stekker uit het stopcontact respectievelijk de zekeringautomaat uitgeschakeld — en bij twijfel door een elektromonteur.

13.1 Bedrading

De Shelly heeft vier klemmen: L, N, SW (schakelingang) en O (lastuitgang). Vier korte draden verbinden hem met de printplaatklem J1:

Printplaat (J1)→ ShellyBetekenis
J1.3 (L_F)LFase (beveiligd)
J1.4 (N)NNulleider
J1.1 (SW_SHELLY)SWons geschakelde signaal (vanaf de PhotoMOS)
J1.2 (O_LAST)Ogeschakelde last naar de afgang

De Shelly wordt liggend in de behuizing vastgezet (VHB-tape of clip). De draden kort en de schroefklemmen stevig — er mag geen koper uitsteken.

13.2 De Shelly instellen (Input Mode)

Na de eerste inschakeling stel je de Shelly eenmalig in (via zijn eigen app of webinterface):

  1. Shelly met de wifi verbinden (handleiding van de Shelly).
  2. Input Mode = Switch (Follow) instellen — zodat het relais het SW-signaal exact volgt.
  3. Klaar: vanaf nu bepaalt de ESP via de PhotoMOS hoe lang de last draait.

14Assemblage en inbedrijfstelling

14.1 Bestukken en de ESP voorbereiden

De kleine onderdelen zijn gesoldeerd (hoofdstuk 9). Nu de ESP:

  1. ESP via USB flashen en de wifiverbinding testen (hoofdstuk 10 en 11) — dat gaat het gemakkelijkst voordat hij ingesoldeerd is.
  2. ESP op de printplaat solderen (pinstrips of direct).

14.2 De alleen-USB-test

✓ Al het belangrijke gaat zonder netspanning Voed de ESP via USB (geen net!). Controleer: Pas als dit allemaal klopt, komt netspanning in het spel.

14.3 De eerste netspanningstest

  1. Visuele controle: geen soldeerbruggen, geen kortsluiting tussen L/N, overal ≥ 6 mm afstand tussen 230 V en laagspanning.
  2. Voeding insolderen, Shelly aansluiten (hoofdstuk 13), last aanklemmen.
  3. Behuizing sluiten.
  4. Via een RCD/PRCD inschakelen. Het OLED toont klok/status.
  5. De Shelly instellen (Input Mode „Switch"), dan een knoptest met last.
  6. Tijden naar wens instellen via http://feeder-relais.local.
✋ Nooit open onder spanning De netspanningstest verloopt alleen met gesloten behuizing. Voor wijzigingen altijd eerst spanningsvrij schakelen.

15Firmware-updates en onderhoud

15.1 Draadloze updates (OTA)

Na de eerste USB-flash zijn twee draadloze update-wegen ingericht — de USB-poort mag in ingebouwde toestand gerust slecht bereikbaar zijn:

ℹ Wifigegevens blijven behouden Een update overschrijft alleen het programma, niet de opgeslagen instellingen. Wifi, tijden en netwerkconfiguratie overleven de update.

15.2 Het servicelog

Het tabblad Service toont bij geactiveerde live-weergave de laatste logregels, gefilterd op niveau (ERROR/WARN/INFO/DEBUG). Dat helpt bij het opsporen van problemen zonder de ESP aan de kabel te hoeven leggen. Volledige logs zijn bovendien beschikbaar via esphome logs firmware/timer-relais-c3.yaml.

16Probleemoplossing

16.1 Bij het flashen en verbinden

ProbleemOplossing
ESP wordt niet herkendDatakabel in plaats van laadkabel; andere USB-poort proberen
„Connect" misluktBootmodus forceren (BOOT ingedrukt houden, RESET tikken, BOOT loslaten)
feeder-relais.local niet bereikbaarWifi ingesteld in de setup-hotspot? mDNS heeft even nodig; IP-adres direct proberen (in het OLED-menu)
Setup-hotspot ontbreektApparaat is al verbonden met een wifinetwerk; anders fabrieksreset (factory-image met flash-erase)

16.2 Tijdens bedrijf

ProbleemOplossing
OLED blijft donkerZit het display goed op J4? Bezetting GND/VCC/SCL/SDA controleren
Klok toont „--:--"nog geen tijd van de NTP-server; wifi en NTP-server controleren
Statuspunt roodOLED niet bereikbaar of geen wifi — tabblad Status toont details
Last schakelt nietShelly op „Switch/Follow"? Bedrading SW/O controleren; PhotoMOS-uitgang meten in de alleen-USB-test
Knop activeert nietZit de drukknop precies onder de stoter? Soldeerpunten controleren

17Bijlage: bezettingen, bestanden, verklarende woordenlijst

17.1 Pinbezetting en netlijst

ESP-pinFunctieNet
5V / GVoeding+5V / GND
3V3OLED-voeding+3V3
GPIO3 / 4 / 5Drukknop T1 / T2 / T3BTN1/2/3
GPIO6PhotoMOS-driver (via 330 Ω)PMOS_DRV
GPIO7I²C-SDA (OLED)SDA
GPIO8Onboard rgb-statusled
GPIO9I²C-SCL (OLED)SCL

De vijf 230-V-netten (netklasse „230V"): L_IN, L_F, N, SW_SHELLY, O_LAST.

17.2 Bestanden van het project

PadInhoud
kicad-v3/de printplaat v3 (KiCad: schema, layout, regels) + productiegegevens
box/feeder_back.scadachterstuk van de behuizing (OpenSCAD-bron) + kant-en-klare STL
box/Timer-Ersatzplatine-v3-BOARD.stlprintplaat-attrappe voor de pasproef
firmware/timer-relais-c3.yamlESPHome-firmware
firmware/timer_web.hwebapp + JSON-interface
firmware/net_config.hnetwerkconfiguratie (IP, NTP, hostnaam, roaming, taal)
firmware/build/*.binkant-en-klare flashimages (factory + ota)
README.mdprojectoverzicht (Duits; vertalingen onder docs/<taal>/)
docs/handbuch/…-Handbuch.pdfdeze handleiding als PDF (vertalingen onder docs/<taal>/)

17.3 Verklarende woordenlijst

BegripBetekenis
ESP32-C3kleine microcontroller met wifi — het „brein" van het apparaat
PhotoMOShalfgeleiderrelais dat laagspanning en 230 V door licht scheidt
Shellykant-en-klaar wifi-schakelrelais met vermogensmeting (extern)
OLEDklein display met hoog contrast
Gerberstandaard bestandsformaat voor de printplaatproductie
Footprinthet soldeerbeeld van een component op de printplaat
DRCDesign Rules Check — de automatische regelcontrole in KiCad
Kruipwegde weg langs het oppervlak die stroom kan „kruipen"
OTA„Over the Air" — draadloze firmware-update
NTPinternet-tijddienst die de klok stelt

17.4 Licentie en dank

Deze handleiding staat onder CC BY-NC-SA 4.0. De opzet volgt het doku-regelwerk van het zusterproject AskSin-Analyzer: een inhoudsopgave met sprongmarkeringen, vaste afbreekregels en de voettekst met de weg terug naar de inhoud op elke pagina.

De nabouw gebeurt op eigen verantwoordelijkheid. 230 volt is levensgevaarlijk — raadpleeg bij twijfel een elektromonteur.