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.
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.
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.
Aan de voorzijde zitten drie drukknoppen. Een korte druk schakelt de last voor een vastgelegde tijd in:
| Knop | Opschrift | Standaardtijd | instelbaar |
|---|---|---|---|
| S1 | Down / Manual (T1) | 5 seconden | 1–600 s via wifi |
| S2 | SET (T2) | 10 seconden | 1–600 s via wifi |
| S3 | UP (T3) | 15 seconden | 1–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).
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 …)
Deze handleiding beschrijft versie 3 van de printplaat. Ten opzichte van de eerste versie is de opbouw duidelijk vereenvoudigd:
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 volgorde in deze handleiding is bewust zo gekozen dat je alles gevaarlijks als laatste doet en tot dan toe zonder risico kunt oefenen:
| Component | Taak |
|---|---|
| ESP32-C3 Super Mini | Het „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-relais | Het 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 Gen4 | Schakelt 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 + varistor | Beschermen tegen overstroom en overspanning aan de netzijde. |
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.
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.
Hier de precieze functie van elke component — met de waarden die op de v3-printplaat daadwerkelijk zijn verwerkt. De aanduidingen (referentietekens) staan zo op de bestukkingsopdruk van de printplaat.
| Aanduiding | Waarde | Precieze functie |
|---|---|---|
| U1 | ESP32-C3 Super Mini | De 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. |
| K1 | G3VM-601AY2 | De 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. |
| R1 | 330 Ω | 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. |
| PS1 | TSP-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. |
| C1 | 220 µF / 10 V | Steuncondensator op +5 V: buffert korte stroompieken tijdens het wifi-zenden en voorkomt de spanningsval die de ESP anders zou laten herstarten. |
| C2 | 100 nF | Afblokcondensator direct op +5 V/GND: vangt hoogfrequente storingen dicht bij de chip op. |
| F1 | 1 A traag | Fijnzekering (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. |
| RV1 | S14K275 (varistor) | Overspanningsbeveiliging parallel tussen L_F en N: begrenst spanningspieken (schakeltransiënten, netstoringen) en beschermt voeding en elektronica. |
| J2 | OLED SSD1306 128×32 | Het display. I²C-adres 0x3C, 400 kHz. Wordt alleen opgestoken (bezetting GND/VCC/SCL/SDA). |
| SW1–3 | Drukknop 6×6 mm | De 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:
| Aanduiding | Aansluiting | Bezetting |
|---|---|---|
| X1 | Netingang | 1 = N, 2 = L_IN (230 V binnenkomend) |
| X2 | Lastafgang | 1 = O (geschakeld), 2 = N |
| X3 | Snubber | 1 = O, 2 = N — voor een optioneel RC-lid bij inductieve lasten |
| J1 | Shelly | 1 = SW, 2 = O, 3 = L, 4 = N (naar de externe Shelly, hoofdstuk 13) |
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).
| Aanduiding | Component | Waarde / type | Opmerking |
|---|---|---|---|
| U1 | ESP32-C3 Super Mini | 18 × 24 mm, USB-C | Controller met wifi |
| K1 | PhotoMOS-relais | Omron G3VM-601AY2 (of -601BY / Panasonic AQY216) | ≥ 400 V! |
| PS1 | AC/DC-voedingsmodule | 5 V / 3 W (HLK-PM05-klasse) | Pinafstanden nameten |
| — | OLED-display | 0,91" SSD1306, 128 × 32, I²C | Pins: GND VCC SCL SDA, adres 0x3C |
| SW1–3 | Korteslagdrukknop | 6 × 6 mm, slag 1,5 mm | Positie is vast (frontplaat) |
| R1 | Weerstand | 330 Ω | Led-voorweerstand PhotoMOS |
| F1 | Fijnzekering + houder | 1 A traag, 5 × 20 mm | primaire zijde, verplicht |
| RV1 | Varistor | S14K275 | primaire zijde, verplicht |
| C1 / C2 | Condensatoren | 220 µF/10 V & 100 nF | 5-V-buffer en afblokking |
| X1 | Netingang | 2-polig (L, N) | Schroefklem, 230 V binnenkomend |
| X2 | Lastafgang | 2-polig (O, N) | naar de geschakelde last |
| X3 | Snubber | 2-polig (O, N) | optioneel RC-lid voor inductieve lasten |
| J1 | Shelly-aansluiting | 4-polig (SW, O, L, N) | korte draden naar de externe Shelly, hoofdstuk 13 |
| J2 | OLED-connectorstrip | 1 × 4, RM 2,54 | GND/VCC/SCL/SDA, display wordt opgestoken |
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 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).
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.
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.
box/feeder_back.scad
laden.box/feeder_back_35mm.stl.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).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.
| Maat | Waarde |
|---|---|
| Buitenmaat achterstuk | 109,8 × 90,8 mm |
| Diepte achterstuk (v3) | 35 mm |
| Wand- en bodemdikte | 1,3 mm |
| Printplaatmaat | 101,6 × 77,5 mm |
| Domraster | 45 mm (X) × 70 mm (Y) |
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.
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.
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.
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.
Welke leiding wat voert, toont het volgende overzicht:
| Netnaam | voert | verbindt |
|---|---|---|
| L_IN | 230 V (onbeveiligd) | Netingang X1 → zekering F1 |
| L_F | 230 V (beveiligd) | F1 → varistor RV1, voeding PS1, PhotoMOS K1.3, Shelly J1.L |
| N | 230 V nul | X1 → RV1, PS1, Shelly J1.N, last X2, snubber X3 |
| SW_SHELLY | 230 V geschakeld | PhotoMOS K1.4 → Shelly J1.SW |
| O_LAST | 230 V geschakeld | Shelly J1.O → lastafgang X2 + snubber X3 |
| +5V | laagspanning | Voeding → ESP 5V, C1, C2 |
| GND | laagspanning | Massa: ESP, drukknoppen, PhotoMOS, OLED |
| +3V3 | laagspanning | ESP-3V3-uitgang → OLED |
De ESP32-C3 gebruikt deze pins:
| Pin | Functie |
|---|---|
| 5V / G | Voeding vanaf de voedingsmodule |
| 3V3 | voedt het OLED |
| GPIO3 / 4 / 5 | Drukknop T1 / T2 / T3 |
| GPIO6 | PhotoMOS-driver (via 330 Ω) |
| GPIO7 | I²C-SDA (OLED) |
| GPIO8 | Onboard rgb-led (status) |
| GPIO9 | I²C-SCL (OLED) |
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-pin | Firmware (id & configuratie) | Printplaat | Functie in detail |
|---|---|---|---|
| GPIO3 | btn_s1 · ingang, interne pull-up, geïnverteerd, 30 ms ontdenderen | Pad 3 → /BTN1 → drukknop S1 naar GND | Drukknop S1 (Down/Manual). Ruststand HIGH; druk trekt naar GND (LOW) → geldt als „ingedrukt". Kort = timer 1 activeren. |
| GPIO4 | btn_s2 · ingang, pull-up, geïnverteerd, 30 ms | Pad 4 → /BTN2 → drukknop S2 naar GND | Drukknop S2 (SET). Kort = timer 2; lang ≥ 3 s = info-menu. |
| GPIO5 | btn_s3 · ingang, pull-up, geïnverteerd, 30 ms | Pad 5 → /BTN3 → drukknop S3 naar GND | Drukknop S3 (UP). Kort = timer 3; lang ≥ 1,2 s = alles stoppen. |
| GPIO6 | shelly_trigger · GPIO-uitgang | Pad 6 → /PMOS_DRV → R1 330 Ω → K1-led-anode | Stuurt de PhotoMOS aan. HIGH = led aan = PhotoMOS geleidt = Shelly-SW krijgt L → last aan. LOW = uit. |
| GPIO7 | i2c: sda · 400 kHz | Pad 7 → /SDA → OLED J2.4 | I²C-datalijn naar het OLED. Ligt bewust op GPIO7 (niet GPIO8). |
| GPIO8 | status_led · WS2812 (GRB), gedimd | module-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. |
| GPIO9 | i2c: scl · 400 kHz | Pad 9 → /SCL → OLED J2.3 | I²C-kloklijn naar het OLED (adres 0x3C). |
| 5V / GND | Voeding van de module | /+5V / GND vanaf de voedingsmodule | 5 V uit de AC/DC-module; GND is de gemeenschappelijke massa (ook de binnenlagen). |
| 3V3 | Uitgang van de onboard-regelaar | /+3V3 → OLED-VCC | De ESP genereert intern 3,3 V en voedt daarmee het OLED. |
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.
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.
„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:
kicad-v3/Timer-Ersatzplatine-v3.kicad_pcb in
KiCad openen.Upload de ZIP bij een aanbieder zoals JLCPCB, PCBWay of Aisler. Belangrijke instellingen:
| Instelling | Waarde |
|---|---|
| Lagen | 4 |
| Materiaaldikte | 1,6 mm (standaard) |
| Oppervlak | HASL loodvrij of ENIG |
| Koper | 1 oz (35 µm) |
| Kleur | maakt niet uit |
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).
kicad-v3/Timer-Ersatzplatine-v3.kicad_pro
openen.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.
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.
Zijn DRC en visuele controle (3D-weergave met Alt+3) in orde, dan exporteer je Gerber- en boorgegevens zoals beschreven in hoofdstuk 7.
„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.
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).
De PhotoMOS is (afhankelijk van het type) een klein smd-onderdeel. Zo soldeer je hem netjes:
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).
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).ESPHome is het gereedschap waarmee de firmware wordt gebouwd en
geïnstalleerd. Een secrets.yaml is niet nodig — er worden geen
wifi-gegevens ingecompileerd.
esphome run firmware/timer-relais-c3.yaml
/dev/ttyACM0, Windows een COMx) en flasht./dev/ttyACM0 geweigerd wordt, je gebruiker
toevoegen aan de groep dialout en opnieuw inloggen:
sudo usermod -aG dialout $USER
Voor de kant-en-klare feeder-relais.factory.bin helemaal
zonder installatie:
https://espressif.github.io/esptool-js/ openen.115200 laten staan, op Connect
klikken en de seriële poort van de ESP kiezen.0 invoeren, met
Choose File de feeder-relais.factory.bin kiezen, dan
Program. Wachten tot „Hard resetting…" verschijnt.| Symptoom | Oorzaak / oplossing |
|---|---|
| ESP wordt helemaal niet herkend | Laadkabel in plaats van datakabel → andere USB-C-kabel, andere poort |
| Geen poort in de browser | Chrome/Edge gebruiken; onder Windows evt. drivers (CH340/CP210x) |
| „Connect" mislukt | Bootmodus: BOOT ingedrukt houden + RESET tikken + BOOT loslaten, dan opnieuw verbinden |
Geen ….local daarna | eerst wifi instellen (hoofdstuk 11); mDNS heeft een moment nodig |
De firmware brengt bewust geen wifi-toegangsgegevens mee. Na het flashen opent de ESP een eigen hotspot:
feeder1234).http://192.168.4.1
opvragen).http://feeder-relais.local.http://feeder-relais.local opent een mobiele webapp met vijf
tabbladen:
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:
| Aanroep | Werking |
|---|---|
GET /api/status | alle waarden als JSON (actief, resttijd, relais, tijden, wifi …) |
POST /api/trigger?button=N | knop N (1–3) met zijn tijd activeren |
POST /api/trigger?seconds=N | ad-hoc voor N seconden schakelen |
POST /api/trigger?seconds=N&src=adapter | als hierboven, markeert de bron — verschijnt als trg (button/api/adapter) in de status en het logboek |
POST /api/stop | direct uitschakelen |
POST /api/config?time1=A&time2=B&time3=C | tijden instellen (elk 1–600 s) |
POST http://feeder-relais.local/api/config?time1=8.In het tabblad Netwerk stel je in:
de.pool.ntp.org).feeder-relais). Deze wordt tijdens bedrijf gewijzigd — het
adres ….local geldt direct.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.
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 „--:--".
De Shelly heeft vier klemmen: L, N, SW (schakelingang) en O (lastuitgang). Vier korte draden verbinden hem met de printplaatklem J1:
| Printplaat (J1) | → Shelly | Betekenis |
|---|---|---|
| J1.3 (L_F) | L | Fase (beveiligd) |
| J1.4 (N) | N | Nulleider |
| J1.1 (SW_SHELLY) | SW | ons geschakelde signaal (vanaf de PhotoMOS) |
| J1.2 (O_LAST) | O | geschakelde 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.
Na de eerste inschakeling stel je de Shelly eenmalig in (via zijn eigen app of webinterface):
De kleine onderdelen zijn gesoldeerd (hoofdstuk 9). Nu de ESP:
http://feeder-relais.local.Na de eerste USB-flash zijn twee draadloze update-wegen ingericht — de USB-poort mag in ingebouwde toestand gerust slecht bereikbaar zijn:
esphome run firmware/timer-relais-c3.yaml
werkt bij via wifi.feeder-relais.ota.bin uploaden. Het apparaat herstart
daarna.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.
| Probleem | Oplossing |
|---|---|
| ESP wordt niet herkend | Datakabel in plaats van laadkabel; andere USB-poort proberen |
| „Connect" mislukt | Bootmodus forceren (BOOT ingedrukt houden, RESET tikken, BOOT loslaten) |
feeder-relais.local niet bereikbaar | Wifi ingesteld in de setup-hotspot? mDNS heeft even nodig; IP-adres direct proberen (in het OLED-menu) |
| Setup-hotspot ontbreekt | Apparaat is al verbonden met een wifinetwerk; anders fabrieksreset (factory-image met flash-erase) |
| Probleem | Oplossing |
|---|---|
| OLED blijft donker | Zit 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 rood | OLED niet bereikbaar of geen wifi — tabblad Status toont details |
| Last schakelt niet | Shelly op „Switch/Follow"? Bedrading SW/O controleren; PhotoMOS-uitgang meten in de alleen-USB-test |
| Knop activeert niet | Zit de drukknop precies onder de stoter? Soldeerpunten controleren |
| ESP-pin | Functie | Net |
|---|---|---|
| 5V / G | Voeding | +5V / GND |
| 3V3 | OLED-voeding | +3V3 |
| GPIO3 / 4 / 5 | Drukknop T1 / T2 / T3 | BTN1/2/3 |
| GPIO6 | PhotoMOS-driver (via 330 Ω) | PMOS_DRV |
| GPIO7 | I²C-SDA (OLED) | SDA |
| GPIO8 | Onboard rgb-statusled | — |
| GPIO9 | I²C-SCL (OLED) | SCL |
De vijf 230-V-netten (netklasse „230V"): L_IN, L_F,
N, SW_SHELLY, O_LAST.
| Pad | Inhoud |
|---|---|
kicad-v3/ | de printplaat v3 (KiCad: schema, layout, regels) + productiegegevens |
box/feeder_back.scad | achterstuk van de behuizing (OpenSCAD-bron) + kant-en-klare STL |
box/Timer-Ersatzplatine-v3-BOARD.stl | printplaat-attrappe voor de pasproef |
firmware/timer-relais-c3.yaml | ESPHome-firmware |
firmware/timer_web.h | webapp + JSON-interface |
firmware/net_config.h | netwerkconfiguratie (IP, NTP, hostnaam, roaming, taal) |
firmware/build/*.bin | kant-en-klare flashimages (factory + ota) |
README.md | projectoverzicht (Duits; vertalingen onder docs/<taal>/) |
docs/handbuch/…-Handbuch.pdf | deze handleiding als PDF (vertalingen onder docs/<taal>/) |
| Begrip | Betekenis |
|---|---|
| ESP32-C3 | kleine microcontroller met wifi — het „brein" van het apparaat |
| PhotoMOS | halfgeleiderrelais dat laagspanning en 230 V door licht scheidt |
| Shelly | kant-en-klaar wifi-schakelrelais met vermogensmeting (extern) |
| OLED | klein display met hoog contrast |
| Gerber | standaard bestandsformaat voor de printplaatproductie |
| Footprint | het soldeerbeeld van een component op de printplaat |
| DRC | Design Rules Check — de automatische regelcontrole in KiCad |
| Kruipweg | de weg langs het oppervlak die stroom kan „kruipen" |
| OTA | „Over the Air" — draadloze firmware-update |
| NTP | internet-tijddienst die de klok stelt |
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.