DE EN FR NL ES IT
© 2026 S. Sternitzke · CC BY-NC-SA 4.0 ↑ Sommaire Feeder-Relais · Manuel Édition 1
ESP32-C3 · Wi-Fi
Minuterie 230 V
Shelly 1PM Mini Gen4
Fait maison · Version 3

Feeder-Relais

Le manuel — de la carte vierge à l'appareil fini dans son boîtier
La carte Feeder-Relais v3 vue de dessus
Édition 1 · août 2026 · français Matériel v3 · firmware ESPHome · CC BY-NC-SA 4.0

À propos de ce manuel

Ce manuel s'adresse aux débutantes et débutants. Vous n'avez besoin d'aucune formation en électronique — mais d'un fer à souder, d'un peu de patience et de la volonté de taper quelques commandes dans un terminal. Chaque étape est décrite intégralement : ce que vous faites, pourquoi vous le faites, et comment reconnaître que cela a fonctionné. À la fin, vous tiendrez entre les mains un appareil qui met sous tension une charge 230 V (par exemple un distributeur de nourriture automatique) sur simple pression d'un bouton, pendant une durée réglable — utilisable via trois boutons, un petit écran et une page web sur le réseau domestique.

✋ Cet appareil est sous 230 volts 230 volts de tension secteur peuvent être mortels. Le montage, le contrôle et la mise en service de l'alimentation doivent être confiés à un(e) électricien(ne) qualifié(e) ou à une personne formée et habilitée. Tous les tests réalisables sans professionnel se déroulent dans ce manuel exclusivement via USB et sans aucune tension secteur. Merci de lire d'abord le chapitre 2.

Comment lire ce manuel

ℹ Remarque Les encadrés bleus apportent des connaissances de base. On peut les ignorer — mais ils rendent bien des choses plus compréhensibles.
✓ Astuce Les encadrés verts vous font gagner du temps ou des nerfs.
⚠ Attention Les encadrés jaunes signalent les endroits où les choses tournent souvent mal.
✋ Stop Les encadrés rouges signalent des manipulations pouvant détruire le matériel ou vous blesser. À lire impérativement.

Les commandes pour le terminal se présentent ainsi — elles se saisissent ligne par ligne et se valident avec Entrée. Les lignes qui commencent par # sont des commentaires et ne doivent pas être tapées :

# Ceci est un commentaire — juste pour l'explication
esphome run firmware/timer-relais-c3.yaml

Les renvois tels que « chapitre 7 » sont cliquables dans le PDF. Le lien « ↑ Sommaire » en bas de chaque page vous permet à tout moment de revenir à la vue d'ensemble.

Sommaire

  1. 1 Ce qu'est le Feeder-Relais
  2. 2 Sécurité — à lire en premier
  3. 3 Comment fonctionne le système
  4. 4 Liste d'achats : matériel et outillage
  5. 5 Le boîtier
  6. 6 Comprendre la carte
  7. 7 Faire fabriquer la carte
  8. 8 KiCad pas à pas (uniquement en cas de modifications personnelles)
  9. 9 Souder les composants sur la carte
  10. 10 Installer le firmware
  11. 11 Configurer le Wi-Fi et piloter depuis le navigateur
  12. 12 Réseau, langue et affichage
  13. 13 Raccorder le Shelly externe
  14. 14 Assemblage et mise en service
  15. 15 Mises à jour du firmware et maintenance
  16. 16 Dépannage
  17. 17 Annexe : brochages, fichiers, glossaire

1Ce qu'est le Feeder-Relais

Le Feeder-Relais est une carte de commande faite maison qui met sous tension une charge 230 volts sur simple pression d'un bouton, pendant une durée réglable, puis la coupe automatiquement. Son nom vient de son usage d'origine : elle remplace la carte de programmation horaire défectueuse d'un distributeur de nourriture automatique (feeder en anglais). Comme elle se contente en définitive d'« actionner un interrupteur pendant un certain temps », elle convient à toute charge que l'on souhaite commander de façon temporisée.

1.1 Ce que fait l'appareil

Trois boutons-poussoirs se trouvent en façade. Une pression brève met la charge sous tension pour une durée préréglée :

BoutonÉtiquetteDurée par défautréglable
S1Down / Manual (T1)5 secondes1–600 s via Wi-Fi
S2SET (T2)10 secondes1–600 s via Wi-Fi
S3UP (T3)15 secondes1–600 s via Wi-Fi

Un petit écran OLED derrière la vitre de protection affiche en haut la réception Wi-Fi, l'heure en grand (réglée via un serveur de temps Internet) et l'état Repos ; en bas la date et la mémoire libre. Lorsqu'une minuterie est en cours, le compte à rebours en secondes s'affiche au centre et Repas à droite.

La commande fonctionne sans application et sans cloud, via une petite page web optimisée pour mobile que l'ESP32 fournit lui-même (dans le navigateur : http://feeder-relais.local) : déclencher une minuterie, régler les durées, consulter les valeurs réseau et d'état. Pour le raccordement à une domotique (par exemple ioBroker ou Home Assistant), il existe en plus une interface JSON légère (chapitre 11).

1.2 La chaîne de signal

De la pression du bouton jusqu'à la charge commutée, le signal traverse cinq étapes. Chacune a exactement une tâche :

Bouton ─►  ESP32-C3  ─►  330 Ω  ─►  PhotoMOS  ─►  Shelly 1PM  ─►  Charge
S1–S3      compte le     limite      commute       commute et       (pompe,
           temps, dessine le courant  en isolé      mesure la        moteur
           l'OLED        de la LED    galvanique     charge 230 V     d'aliment.…)
ℹ Pourquoi autant d'étapes ? L'ESP32 fonctionne avec des 3,3 volts sans danger. Il ne doit jamais « toucher » directement 230 volts. Le PhotoMOS est le pont entre les deux mondes : il sépare complètement la basse tension et la tension secteur par la lumière (détails au chapitre 3). Le Shelly se charge de la commutation proprement dite de la charge et mesure même la puissance au passage.

1.3 Ce que la version 3 fait différemment

Ce manuel décrit la version 3 de la carte. Par rapport à la première version, la construction s'est nettement simplifiée :

2Sécurité — à lire en premier

✋ Danger de mort par 230 volts La tension secteur peut être mortelle. Quiconque monte, contrôle et met en service le côté 230 V doit connaître les dangers et maîtriser les règles de l'électrotechnique. En cas de doute : faire appel à un(e) électricien(ne) qualifié(e). Il n'existe ni exception ni urgence qui justifie de s'en passer.

2.1 Les règles de base

2.2 Pourquoi 6 millimètres d'écart

Entre deux surfaces de cuivre sur une carte, le courant ne peut pas seulement sauter à travers l'air, il peut aussi « ramper » le long de la surface — favorisé par la poussière, l'humidité et la saleté. Cette « ligne de fuite » doit être suffisamment grande sous 230 volts. Nous la fixons à 6 mm ; c'est généreux et laisse de la marge. La seule exception autorisée est l'intérieur du relais PhotoMOS lui-même — ce composant est le point de séparation certifié et peut faire cohabiter tension secteur et basse tension sur quelques millimètres (chapitre 6).

⚠ La règle des 6 mm n'est pas une recommandation Elle est inscrite dans la conception de la carte comme règle de contrôle fixe (chapitres 6 et 8). Quiconque modifie la carte ne doit pas assouplir cette règle — c'est elle qui garantit la sécurité de l'appareil au quotidien.

2.3 Le chemin sûr vers la première mise en service

L'ordre choisi dans ce manuel l'est délibérément, afin que vous fassiez tout ce qui est dangereux en dernier et que vous puissiez vous exercer sans risque jusque-là :

  1. Souder les composants et flasher l'ESP sans alimentation secteur, par USB (chapitres 9 et 10).
  2. Test USB seul : les boutons, l'OLED et la sortie PhotoMOS sont vérifiés sans aucune tension secteur (chapitre 14).
  3. Ce n'est que lorsque tout fonctionne que viennent l'alimentation et le Shelly — et le premier test sous tension se fait derrière un RCD, boîtier fermé (chapitre 14).

3Comment fonctionne le système

3.1 Les composants et leurs tâches

ComposantTâche
ESP32-C3 Super MiniLe « cerveau ». Un petit microcontrôleur avec Wi-Fi. Il lit les boutons, compte le temps, dessine l'OLED, fournit la page web et pilote le PhotoMOS. Alimenté en 5 V, fonctionne en interne en 3,3 V.
Relais PhotoMOSLe point de séparation galvanique entre 3,3 V et 230 V. Détails à la section 3.3.
Résistance de limitation 330 ΩLimite le courant à travers la LED interne du PhotoMOS afin qu'elle ne soit pas surchargée.
Alimentation (module AC/DC)Transforme les 230 V~ en 5 V qui alimentent l'ESP. Un module tout prêt, encapsulé.
Shelly 1PM Mini Gen4Commute la charge proprement dite, mesure la puissance et est en plus joignable en Wi-Fi. Se trouve à l'extérieur de la carte.
Écran OLED 0,91"Affiche l'heure, le compte à rebours et l'état. S'enfiche simplement, sans être soudé.
Fusible + varistanceProtègent contre les surintensités et les surtensions côté secteur.

3.2 Pourquoi un Shelly — et pourquoi hors de la carte

Le Shelly 1PM Mini Gen4 est un relais de commutation tout prêt et homologué, avec mesure de puissance. L'utiliser présente trois avantages : la commutation risquée de la charge est confiée à un produit fini certifié ; la puissance est mesurée (on voit si la charge fonctionne réellement) ; et le Shelly est lui-même joignable en Wi-Fi, si l'on souhaite l'intégrer en plus.

Notre carte se contente d'« appuyer » sur l'interrupteur du Shelly — via un vrai signal matériel, sans dépendance au Wi-Fi pour la fonction principale. Dans la version 3, le Shelly se trouve à l'extérieur de la carte et se raccorde via une borne (chapitre 13). Cela garde la carte compacte, les chemins 230 V courts et le montage clair.

ℹ « Switch / Follow » Le Shelly est réglé de sorte que son relais soit activé exactement aussi longtemps que notre signal est présent (mode Switch ou Follow). Tout le minutage reste ainsi du côté de l'ESP — le Shelly ne fait que suivre.

3.3 Ce qu'est un PhotoMOS et pourquoi celui-ci précisément

Un PhotoMOS est un minuscule relais à semi-conducteur. D'un côté se trouve une LED, que l'ESP pilote en 3,3 V. De l'autre, un commutateur piloté par la lumière, autorisé à commuter la tension secteur. Entre les deux, il n'y a que de la lumière — donc une isolation galvanique complète entre basse tension et 230 V.

L'entrée de commutation du Shelly est référencée par rapport à la tension secteur (elle attend un L commuté). C'est pourquoi le PhotoMOS doit supporter une tension de blocage ≥ 400 V — par exemple un Omron G3VM-601BY ou un Panasonic AQY216.

✋ Pas de PC817 & Cie Un optocoupleur ordinaire (comme le PC817) n'est pas autorisé côté secteur — il ne tient pas la tension de façon sûre et n'est pas conçu pour l'isolation de la tension secteur. N'utiliser qu'un PhotoMOS adapté à la tension secteur, avec ≥ 400 V.

3.4 Chaque composant en détail

Voici la fonction exacte de chaque composant — avec les valeurs réellement montées sur la carte v3. Les repères (désignateurs de référence) figurent tels quels sur la sérigraphie d'implantation de la carte.

RepèreValeurFonction précise
U1ESP32-C3 Super MiniLe microcontrôleur Wi-Fi. Fonctionne en 5 V, génère en interne 3,3 V via un régulateur (aussi pour l'OLED). Porte une LED RVB embarquée (WS2812) sur GPIO8. Pilote les boutons, l'OLED, le PhotoMOS et l'interface web.
K1G3VM-601AY2Le PhotoMOS — l'isolation galvanique entre 3,3 V et 230 V. Broches 1/2 = LED interne (broche 1 via R1 depuis GPIO6, broche 2 à GND), broches 3/4 = commutateur piloté par la lumière (broche 3 = L_F, broche 4 = SW_SHELLY). Tension de blocage ≥ 400 V.
R1330 ΩRésistance de limitation de la LED de K1. À partir de ~3,3 V moins ~1,2 V de tension directe de la LED, il circule environ 6 mA — suffisant pour une commutation sûre, bien en dessous de la limite de la LED.
PS1TSP-05 (5 V / 3 W)L'alimentation : transforme les 230 V~ (L_F + N) en 5 V/GND pour l'ESP. 3 W = 600 mA — suffisant pour les pics d'émission Wi-Fi (~350 mA) plus l'OLED.
C1220 µF / 10 VCondensateur de soutien sur +5 V : tamponne les brefs pics de courant lors de l'émission Wi-Fi et évite la chute de tension qui redémarrerait sinon l'ESP.
C2100 nFCondensateur de découplage directement sur +5 V/GND : absorbe les perturbations haute fréquence près de la puce.
F11 A temporiséFusible fin (5×20 mm) en série : X1 (L_IN) → F1 → L_F. Protège en cas de court-circuit/surintensité. « Temporisé » afin que le courant d'appel de l'alimentation ne le fasse pas fondre à tort.
RV1S14K275 (varistance)Protection contre les surtensions en parallèle entre L_F et N : limite les pics de tension (transitoires de commutation, perturbations réseau) et protège l'alimentation et l'électronique.
J2OLED SSD1306 128×32L'écran. Adresse I²C 0x3C, 400 kHz. S'enfiche simplement (brochage GND/VCC/SCL/SDA).
SW1–3Boutons 6×6 mmLes trois boutons-poussoirs T1/T2/T3. Un contact à GND, l'autre à GPIO3/4/5 — l'ESP utilise des pull-ups internes, une pression tire la broche à GND.

Et les bornes de raccordement en bord de carte :

RepèreRaccordementBrochage
X1Entrée secteur1 = N, 2 = L_IN (230 V entrant)
X2Sortie de charge1 = O (commuté), 2 = N
X3Snubber1 = O, 2 = N — pour un circuit RC optionnel avec charges inductives
J1Shelly1 = SW, 2 = O, 3 = L, 4 = N (vers le Shelly externe, chapitre 13)

4Liste d'achats : matériel et outillage

Tout ce dont vous avez besoin pour un Feeder-Relais. La carte elle-même est confiée à un fabricant (chapitre 7) ; les composants sont commandés et soudés (chapitre 9).

4.1 Composants sur la carte

RepèreComposantValeur / typeRemarque
U1ESP32-C3 Super Mini18 × 24 mm, USB-CContrôleur Wi-Fi
K1Relais PhotoMOSOmron G3VM-601AY2 (ou -601BY / Panasonic AQY216)≥ 400 V !
PS1Module d'alimentation AC/DC5 V / 3 W (classe HLK-PM05)vérifier l'écartement des broches
Écran OLED0,91" SSD1306, 128 × 32, I²CBroches : GND VCC SCL SDA, adresse 0x3C
SW1–3Boutons-poussoirs6 × 6 mm, course 1,5 mmposition fixe (façade)
R1Résistance330 Ωrésistance de limitation LED PhotoMOS
F1Fusible fin + porte-fusible1 A temporisé, 5 × 20 mmcôté primaire, obligatoire
RV1VaristanceS14K275côté primaire, obligatoire
C1 / C2Condensateurs220 µF/10 V & 100 nFsoutien 5 V et découplage
X1Entrée secteur2 broches (L, N)borne à vis, 230 V entrant
X2Sortie de charge2 broches (O, N)vers la charge commutée
X3Snubber2 broches (O, N)circuit RC optionnel pour charges inductives
J1Raccordement Shelly4 broches (SW, O, L, N)fils courts vers le Shelly externe, chapitre 13
J2Connecteur femelle OLED1 × 4, pas 2,54GND/VCC/SCL/SDA, l'écran s'enfiche

4.2 Sous-ensembles hors de la carte

4.3 Outillage

5Le boîtier

Le boîtier se compose de deux parties : la partie avant (la façade d'origine avec sa vitre et les trois poussoirs) et la partie arrière, que vous imprimez vous-même en 3D. La carte se visse par l'arrière sur six colonnettes, l'écran se trouve derrière la vitre.

La partie arrière imprimée du boîtier, vue en perspective
La partie arrière imprimée en 3D avec ses six colonnettes de vissage et la patte de suspension (en haut).

5.1 Composition avant/arrière

La partie avant est le dessus du boîtier d'origine. Elle porte la vitre de protection (derrière laquelle se trouve l'OLED) et les poussoirs qui actionnent, en étant pressés, les trois boutons de la carte. La position des boutons n'est donc pas négociable — ils doivent se trouver exactement sous les poussoirs (chapitre 9).

Partie avant du boîtier
La partie avant (d'origine) avec sa vitre et ses trois poussoirs.

Dans la version 3, la partie arrière est délibérément plus profonde que l'originale (35 mm au lieu des 5,7 mm d'origine), afin que la carte et le Shelly externe y trouvent confortablement leur place. Une patte de suspension à trou en serrure se trouve en haut, pour la fixation murale.

5.2 Imprimer soi-même la partie arrière

Le modèle se trouve dans le projet sous forme de fichier OpenSCAD : box/feeder_back.scad. OpenSCAD est un logiciel gratuit qui génère un modèle 3D à partir d'un fichier texte — l'avantage : toutes les cotes figurent sous forme de variables tout en haut du fichier et peuvent être adaptées.

  1. Ouvrir OpenSCAD et charger box/feeder_back.scad.
  2. Calculer le modèle avec F6 puis, via Fichier → Exporter → STL, l'enregistrer sous forme de fichier imprimable. Un STL déjà prêt est fourni : box/feeder_back_35mm.stl.
  3. Charger le STL dans le slicer de votre imprimante. Recommandation : imprimer avec le côté ouvert vers le haut, 3–4 parois, remplissage 20–30 %, aucun support nécessaire.
✓ D'abord imprimer la carte en factice Le projet contient en plus box/Timer-Ersatzplatine-v3-BOARD.stl — une reproduction 1:1 de la carte (contour, trous de vis, fentes). Imprimez-la à plat et posez-la dans la partie arrière avant de commander la vraie carte. Vous vérifiez ainsi sans risque que tout va bien (chapitre 7).

5.3 Budget de hauteur et fixation

La carte se visse par l'arrière avec six vis sur les colonnettes de la partie arrière (pas de colonnettes 45 mm × 70 mm, trou de vis 3,2 mm, fraisage pour la tête de vis côté arrière). Quatre points supplémentaires sur la façade centrent la carte en plus.

CoteValeur
Encombrement partie arrière109,8 × 90,8 mm
Profondeur partie arrière (v3)35 mm
Épaisseur parois et fond1,3 mm
Dimensions de la carte101,6 × 77,5 mm
Pas des colonnettes45 mm (X) × 70 mm (Y)
⚠ Rien ne doit dépasser vers le bas (vers la façade) Entre la carte et la façade, la place est comptée. Tous les composants hauts se trouvent donc au dos de la carte (chapitre 6). À l'avant ne restent que les boutons plats et le connecteur de l'écran.

6Comprendre la carte

Vous n'avez pas à concevoir la carte vous-même — elle est fournie prête dans le projet, sous kicad-v3/. Ce chapitre explique comment elle est construite, afin que vous sachiez, au moment de souder et de contrôler, ce qui va où. Qui souhaite modifier quelque chose lui-même trouvera le guide KiCad au chapitre 8.

6.1 Face avant et face arrière

Dans la version 3, l'électronique entière se trouve au dos. À l'avant (côté façade) ne restent que les trois boutons et le connecteur OLED — tout ce qui est actionné ou visible.

Face de brasage (dos) de la carte
Le dos porte l'ESP, l'alimentation, le PhotoMOS et les bornes 230 V. La tension secteur (en bas) et la basse tension (en haut) sont clairement séparées dans l'espace.

6.2 Quatre couches et les plans de masse

La carte compte quatre couches de cuivre : les deux couches externes (face avant et face arrière) portent les pistes, les deux couches internes sont des plans de masse continus dans la zone basse tension. De tels plans de masse agissent comme un plan de référence stable : ils rendent le montage peu sensible aux perturbations et la fonction Wi-Fi stable.

ℹ Important pour la sécurité Dans la zone de tension secteur, il n'y a aucun cuivre interne. Les lignes 230 V ne circulent que sur les deux couches externes, et les plans de masse gardent partout au moins 6 mm d'écart avec la tension secteur. Ainsi, nulle part à l'intérieur de la carte ne peut apparaître une proximité dangereuse.

6.3 Tension secteur seulement à l'extérieur : la règle des 6 millimètres

Les cinq nets L_IN, L_F, N, SW_SHELLY et O_LAST transportent 230 volts. Ils sont regroupés dans une classe de réseau « 230V » dédiée (pistes plus larges, écarts plus grands) et se trouvent tous en bas à gauche, loin de l'électronique. Une règle de contrôle inscrite dans la conception exige 6 mm d'écart entre chaque net 230 V et chaque basse tension.

La seule exception est le relais PhotoMOS K1 : son boîtier est le point de séparation certifié (broches 1/2 = basse tension, broches 3/4 = tension secteur). Ce n'est que là que les deux mondes peuvent se côtoyer sur quelques millimètres — c'est exactement pour cela que ce composant est fabriqué.

6.4 Les nets et le brochage

Ce que transporte chaque ligne, l'aperçu suivant le montre :

Nom du nettransporterelie
L_IN230 V (non protégé)entrée secteur X1 → fusible F1
L_F230 V (protégé)F1 → varistance RV1, alimentation PS1, PhotoMOS K1.3, Shelly J1.L
N230 V neutreX1 → RV1, PS1, Shelly J1.N, charge X2, snubber X3
SW_SHELLY230 V commutéPhotoMOS K1.4 → Shelly J1.SW
O_LAST230 V commutéShelly J1.O → sortie de charge X2 + snubber X3
+5Vbasse tensionalimentation → ESP 5V, C1, C2
GNDbasse tensionmasse : ESP, boutons, PhotoMOS, OLED
+3V3basse tensionsortie 3V3 de l'ESP → OLED

L'ESP32-C3 utilise ces broches :

Brochage GPIO de l'ESP32-C3 Super Mini
Les connexions utilisées de l'ESP32-C3 Super Mini.
BrocheFonction
5V / Galimentation depuis le bloc secteur
3V3alimente l'OLED
GPIO3 / 4 / 5boutons T1 / T2 / T3
GPIO6pilote du PhotoMOS (via 330 Ω)
GPIO7I²C-SDA (OLED)
GPIO8LED RVB embarquée (état)
GPIO9I²C-SCL (OLED)
ℹ Pourquoi SDA sur GPIO7 plutôt que GPIO8 ? Sur GPIO8 se trouve la petite LED RVB d'état du module ESP. Si l'I²C s'y trouvait, le trafic de données piloterait la LED de façon incontrôlée. C'est pourquoi SDA se trouve sur GPIO7. Cette même LED RVB affiche plus tard le voyant d'état de l'appareil (chapitre 11).

6.5 Chaque connexion de l'ESP en détail

Ce tableau est la correspondance de référence entre la carte et le firmware. À gauche figure ce que le firmware (timer-relais-c3.yaml) fait de la broche — avec sa configuration exacte ; à droite, où la carte la mène. Les deux côtés doivent concorder exactement, sinon l'appareil ne fonctionne pas.

Broche ESPFirmware (ID & configuration)CarteFonction en détail
GPIO3btn_s1 · entrée, pull-up interne, inversé, anti-rebond 30 msPad 3 → /BTN1 → bouton S1 vers GNDBouton S1 (Down/Manual). Niveau de repos HIGH ; une pression tire vers GND (LOW) → considéré comme « pressé ». Court = déclencher la minuterie 1.
GPIO4btn_s2 · entrée, pull-up, inversé, 30 msPad 4 → /BTN2 → bouton S2 vers GNDBouton S2 (SET). Court = minuterie 2 ; long ≥ 3 s = menu d'info.
GPIO5btn_s3 · entrée, pull-up, inversé, 30 msPad 5 → /BTN3 → bouton S3 vers GNDBouton S3 (UP). Court = minuterie 3 ; long ≥ 1,2 s = tout arrêter.
GPIO6shelly_trigger · sortie GPIOPad 6 → /PMOS_DRV → R1 330 Ω → anode LED de K1Pilote le PhotoMOS. HIGH = LED allumée = PhotoMOS conducteur = Shelly-SW reçoit L → charge activée. LOW = éteint.
GPIO7i2c: sda · 400 kHzPad 7 → /SDA → OLED J2.4Ligne de données I²C vers l'OLED. Délibérément sur GPIO7 (pas GPIO8).
GPIO8status_led · WS2812 (GRB), atténuéinterne au module — aucun net sur la carte (pad 8 libre)LED RVB d'état embarquée (voyant vert/jaune/rouge). Elle est câblée en dur sur le GPIO8 du module ; c'est pourquoi aucun second signal ne doit s'y trouver — la raison pour laquelle SDA a migré vers GPIO7.
GPIO9i2c: scl · 400 kHzPad 9 → /SCL → OLED J2.3Ligne d'horloge I²C vers l'OLED (adresse 0x3C).
5V / GNDalimentation du module/+5V / GND depuis l'alimentation5 V provenant du module AC/DC ; GND est la masse commune (aussi les couches internes).
3V3sortie du régulateur embarqué/+3V3 → OLED-VCCL'ESP génère en interne 3,3 V et alimente ainsi l'OLED.
⚠ C'est précisément cette correspondance qui est décisive Si, sur la carte, SDA se retrouve par erreur sur GPIO8 (où se trouve la WS2812), l'OLED reste noir et le signal de la LED perturbe la ligne de données. Lors de la reproduction, vérifier donc : OLED-SDA doit être relié au pad 7 de l'ESP (GPIO7), SCL au pad 9 (GPIO9) — GPIO8 reste libre.

7Faire fabriquer la carte

Une carte à quatre couches ne se fabrique pas à la maison — on la fait réaliser chez un fabricant de circuits imprimés. C'est aujourd'hui bon marché et simple : on téléverse une poignée de fichiers et l'on reçoit les cartes finies par la poste.

7.1 D'abord un essai en plastique

✓ L'astuce de l'essayage économise de l'argent Avant de commander des cartes, imprimez le fichier fourni box/Timer-Ersatzplatine-v3-BOARD.stl en 1:1 sur l'imprimante 3D (à plat, sans support) et posez-le dans la partie arrière imprimée. Le contour correspond-il, les six fentes s'alignent-elles avec les colonnettes, les trous de vis sont-ils bien placés ? Ces cinq minutes vous évitent une commande erronée coûteuse.

Vous pouvez aussi (ou en plus) imprimer le contour de la carte sur papier à l'échelle 1:1 et le découper.

7.2 Générer les données Gerber

« Gerber » est le format de fichier standard attendu par les fabricants de cartes — un fichier par couche, plus les données de perçage. Les fichiers Gerber prêts se trouvent déjà dans le projet ; vous pouvez les générer depuis KiCad ainsi :

  1. Ouvrir le projet kicad-v3/Timer-Ersatzplatine-v3.kicad_pcb dans KiCad.
  2. Fichier → Fabrication → Fichiers Gerber — sélectionner toutes les couches standard, exporter.
  3. Dans la même boîte de dialogue, générer les fichiers de perçage (Excellon).
  4. Regrouper tous les fichiers générés dans une archive ZIP.

7.3 Commander chez un fabricant

Téléversez le ZIP chez un prestataire tel que JLCPCB, PCBWay ou Aisler. Réglages importants :

RéglageValeur
Couches4
Épaisseur du matériau1,6 mm (standard)
Finition de surfaceHASL sans plomb ou ENIG
Cuivre1 oz (35 µm)
Couleurindifférent
⚠ Bien régler sur quatre couches Choisissez vraiment 4 couches. Une reproduction à deux couches n'aurait pas de plans de masse internes — la stabilité Wi-Fi et l'immunité aux perturbations seraient moins bonnes, et les règles de contrôle de la conception ne conviendraient plus.

8KiCad pas à pas (uniquement en cas de modifications personnelles)

Ce chapitre n'est nécessaire que si vous souhaitez modifier la carte vous-même. Pour une simple reproduction, vous pouvez le sauter — les données de fabrication finies sont fournies. KiCad est un logiciel gratuit de conception de cartes (testé avec KiCad 8/9/10 ; les noms de menus peuvent varier légèrement).

8.1 Ouvrir le projet et vérifier le schéma

  1. Démarrer KiCad et ouvrir kicad-v3/Timer-Ersatzplatine-v3.kicad_pro.
  2. Lancer l'éditeur de schéma. Il montre comment tous les composants sont reliés.
  3. Lancer Outils → Vérifier les règles électriques (ERC). Les avertissements concernant des « broches d'alimentation non connectées » sont connus et sans gravité.

8.2 Empreintes et classes de réseau

Chaque symbole de composant est associé à une empreinte (« footprint ») — le dessin de brasage sur la carte. Vérifiez sous Outils → Assigner les empreintes que PS1, par exemple, correspond à l'alimentation réellement achetée (vérifiez l'écartement des broches !) et que le PhotoMOS correspond au boîtier CMS ou DIP choisi.

Les classes de réseau figurent dans le fichier de projet et ne doivent pas être modifiées : Default (0,2 mm d'écart et de largeur de piste) et 230V (1,0 mm d'écart et de largeur de piste) avec les cinq nets L_IN, L_F, N, SW_SHELLY, O_LAST.

8.3 La règle des 6 millimètres et le DRC

La règle de ligne de fuite figure dans un fichier dédié, Timer-Ersatzplatine-v3.kicad_dru, dans le projet. Elle exige 6 mm entre 230 V et basse tension — avec l'exception délibérée du 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)))

Après chaque modification, lancer le DRC (Design Rules Check, Inspecter → Vérifier les règles de conception) jusqu'à ce qu'il soit sans erreur.

⚠ Retirer les plans de masse de 6 mm Le remplissage automatique des plans de masse ne respecte que l'écart de la classe de réseau, pas la règle des 6 mm. C'est pourquoi les plans de masse sont façonnés géométriquement de sorte à rester partout à 6 mm de la tension secteur. Quiconque redessine les plans doit conserver cet écart à la main.

8.4 Données de fabrication

Si le DRC et le contrôle visuel (vue 3D avec Alt+3) sont corrects, exportez les données Gerber et de perçage comme décrit au chapitre 7.

9Souder les composants sur la carte

« Souder les composants » signifie : les fixer sur la carte. Nous procédons des pièces plates vers les pièces hautes — ainsi la carte repose toujours de façon stable pendant la soudure.

9.1 Ordre et outillage

Ordre recommandé : R1 → C2 → PhotoMOS → boutons → connecteur OLED J4 → C1 → porte-fusible F1 → varistance RV1 → bornes. L'ESP ne vient qu'une fois flashé et testé (chapitres 10 et 14).

9.2 Les composants CMS

Le PhotoMOS est (selon le type) un petit composant CMS (montage en surface). Voici comment le souder proprement :

  1. Étamer finement un pad.
  2. Poser le composant à la pince et le fixer sur le pad étamé — contrôler son orientation.
  3. Souder les broches restantes. Le flux aide ; on évite les ponts en utilisant peu d'étain.
ℹ Orientation du PhotoMOS La broche 1 est repérée (point ou coin biseauté). Le côté basse tension (broches 1/2) est orienté vers l'électronique, le côté tension secteur (broches 3/4) vers le coin 230 V. La sérigraphie indique le sens à respecter — ne devinez pas, fiez-vous à l'impression.

9.3 Les composants traversants et connecteurs

ℹ L'OLED s'enfiche, il ne se soude pas Vous soudez sur l'OLED une barrette de broches (vers l'arrière), qui s'enfiche dans le connecteur J4. L'écran repose alors avec un fin coussinet de mousse directement contre la vitre. Il reste ainsi remplaçable et la hauteur de montage reste faible.

10Installer le firmware

Le « firmware » est le programme qui s'exécute sur l'ESP. La toute première fois, il est installé par câble USB. Toutes les mises à jour ultérieures se font ensuite sans fil (chapitre 15).

10.1 Ce dont vous avez besoin

Connexion USB du PC vers l'ESP32-C3
Relier l'ESP32-C3 au PC via USB-C.
ℹ Vous n'avez rien à compiler Des images prêtes se trouvent dans le projet sous firmware/build/ : feeder-relais.factory.bin pour le premier flashage et feeder-relais.ota.bin pour les mises à jour ultérieures par le web. Elles ne contiennent aucun identifiant Wi-Fi — vous les configurez après le flashage (chapitre 11).

10.2 Méthode A — avec ESPHome

ESPHome est l'outil avec lequel le firmware est compilé et installé. Un fichier secrets.yaml n'est pas nécessaire — aucune donnée Wi-Fi n'est intégrée à la compilation.

  1. Brancher l'ESP en USB-C.
  2. Dans le dossier du projet, exécuter :
    esphome run firmware/timer-relais-c3.yaml
  3. ESPHome compile, demande le port série (sous Linux par exemple /dev/ttyACM0, sous Windows un COMx) et flashe.
  4. Après le redémarrage, l'ESP ouvre son point d'accès de configuration → poursuivre au chapitre 11.
✓ Linux : « Permission denied » ? Si l'accès à /dev/ttyACM0 est refusé, ajoutez votre utilisateur au groupe dialout et reconnectez-vous :
sudo usermod -aG dialout $USER

10.3 Méthode B — dans le navigateur

Pour l'image toute prête feeder-relais.factory.bin, sans aucune installation :

Déroulement : flashage via le navigateur
Le déroulement du flashage dans le navigateur, via le flasheur web.
  1. Dans Chrome/Edge, ouvrir la page https://espressif.github.io/esptool-js/.
  2. Brancher l'ESP via câble USB-C.
  3. Laisser le débit à 115200, cliquer sur Connect et choisir le port série de l'ESP.
  4. Dans Flash Address, saisir 0, choisir avec Choose File le fichier feeder-relais.factory.bin, puis Program. Attendre l'apparition de « Hard resetting… ».
  5. Poursuivre au chapitre 11.

10.4 En cas de blocage lors du flashage

SymptômeCause / solution
L'ESP n'est pas du tout détectécâble de charge au lieu d'un câble de données → autre câble USB-C, autre port
Aucun port dans le navigateurutiliser Chrome/Edge ; sous Windows, éventuellement des pilotes (CH340/CP210x)
« Connect » échoueMode boot : maintenir BOOT + appuyer sur RESET + relâcher BOOT, puis se reconnecter
Pas de …​.local ensuiteconfigurer d'abord le Wi-Fi (chapitre 11) ; le mDNS a besoin d'un instant

11Configurer le Wi-Fi et piloter depuis le navigateur

11.1 Le point d'accès de configuration

Le firmware n'embarque délibérément aucun identifiant Wi-Fi. Après le flashage, l'ESP ouvre son propre point d'accès :

  1. Sur le téléphone/PC, rejoindre le réseau Wi-Fi « Feeder-Relais Setup » (mot de passe feeder1234).
  2. Une fenêtre de connexion s'ouvre (sinon, ouvrir http://192.168.4.1).
  3. Choisir votre Wi-Fi domestique, saisir le mot de passe, enregistrer — l'ESP redémarre et se connecte.
  4. Il est désormais joignable à l'adresse http://feeder-relais.local.
ℹ Configuré une fois, plus jamais besoin d'y revenir Les identifiants Wi-Fi sont stockés sous une clé de mémoire fixe et survivent aux mises à jour du firmware. Pour une réinitialisation d'usine, flashez l'image Factory avec « Erase all flash ».

11.2 L'interface web

http://feeder-relais.local ouvre une application web mobile à cinq onglets :

11.3 Le voyant d'état et l'interface JSON

Dans l'en-tête figure un point d'état : vert = tout va bien, jaune = une minuterie est en cours, rouge = anomalie au repos (par exemple OLED injoignable ou pas de Wi-Fi). Le même voyant est affiché sur l'appareil par la LED RVB embarquée, atténuée.

Pour la domotique, l'ESP propose une interface JSON. Les points d'accès les plus importants :

AppelEffet
GET /api/statustoutes les valeurs en JSON (actif, temps restant, relais, durées, Wi-Fi …)
POST /api/trigger?button=Ndéclencher le bouton N (1–3) avec sa durée
POST /api/trigger?seconds=Ncommuter ponctuellement pendant N secondes
POST /api/trigger?seconds=N&src=adaptercomme ci-dessus, marque la source — apparaît comme trg (button/api/adapter) dans le statut et le journal
POST /api/stopcouper immédiatement
POST /api/config?time1=A&time2=B&time3=Crégler les durées (chacune 1–600 s)
ℹ Exemple ioBroker Régler la durée du bouton 1 sur 8 secondes : POST http://feeder-relais.local/api/config?time1=8.

12Réseau, langue et affichage

12.1 Paramètres réseau

Dans l'onglet Réseau, vous réglez :

12.2 Itinérance Wi-Fi

Le commutateur Itinérance Wi-Fi (802.11k/v) n'a de sens que si vous disposez de plusieurs points d'accès avec le même SSID (Mesh/UniFi) prenant en charge cette technologie. L'appareil peut alors se réorienter délibérément vers le point d'accès le plus fort. Par défaut : désactivé. Après le basculement, le bouton « Reconnecter maintenant » aide à l'appliquer immédiatement.

12.3 Commande aux boutons et sur l'OLED

Sur l'appareil, les boutons sont étiquetés : S1 = Down/Manual, S2 = SET, S3 = UP.

L'OLED (128 × 32) affiche en haut la barre Wi-Fi, l'horloge en grand ou le compte à rebours, et l'état (Repos/Repas) ; en bas la date et la mémoire libre. Le jour de la semaine, l'état et les titres de menu suivent la langue réglée. Jusqu'à la première synchronisation horaire, « --:-- » s'affiche.

13Raccorder le Shelly externe

✋ Câbler uniquement hors tension Le Shelly transporte 230 volts. Tous les travaux de câblage se font hors tension, fiche secteur débranchée ou disjoncteur coupé — et en cas de doute, par un(e) électricien(ne) qualifié(e).

13.1 Câblage

Le Shelly dispose de quatre bornes : L, N, SW (entrée de commande) et O (sortie de charge). Quatre fils courts le relient à la borne J1 de la carte :

Carte (J1)→ ShellySignification
J1.3 (L_F)Lphase (protégée)
J1.4 (N)Nneutre
J1.1 (SW_SHELLY)SWnotre signal commuté (depuis le PhotoMOS)
J1.2 (O_LAST)Ocharge commutée vers la sortie

Le Shelly est fixé à plat dans le boîtier (ruban adhésif VHB ou clip). Les fils doivent être courts et les bornes à vis bien serrées — aucun cuivre ne doit dépasser.

13.2 Configurer le Shelly (Input Mode)

Après la première mise sous tension, configurez le Shelly une fois pour toutes (via son application ou son interface web propre) :

  1. Connecter le Shelly au Wi-Fi (voir la notice du Shelly).
  2. Régler Input Mode = Switch (Follow) — ainsi le relais suit exactement le signal SW.
  3. Terminé : désormais, c'est l'ESP, via le PhotoMOS, qui détermine la durée de fonctionnement de la charge.

14Assemblage et mise en service

14.1 Soudure et préparation de l'ESP

Les petits composants sont soudés (chapitre 9). Vient maintenant l'ESP :

  1. Flasher l'ESP par USB et tester la connexion Wi-Fi (chapitres 10 et 11) — c'est plus pratique avant de le souder.
  2. Souder l'ESP sur la carte (barrettes de broches ou directement).

14.2 Le test USB seul

✓ Tout ce qui est important se fait sans tension secteur Alimentez l'ESP par USB (pas de secteur !). Vérifiez : Ce n'est que lorsque tout cela est correct que la tension secteur entre en jeu.

14.3 Le premier test sous tension

  1. Contrôle visuel : pas de pont de soudure, pas de court-circuit entre L/N, partout ≥ 6 mm d'écart entre 230 V et basse tension.
  2. Souder l'alimentation, raccorder le Shelly (chapitre 13), brancher la charge.
  3. Fermer le boîtier.
  4. Mettre sous tension via un RCD/PRCD. L'OLED affiche l'heure/l'état.
  5. Configurer le Shelly (Input Mode « Switch »), puis tester un bouton avec la charge.
  6. Régler les durées selon vos souhaits via http://feeder-relais.local.
✋ Jamais ouvert sous tension Le test sous tension ne se fait que boîtier fermé. Pour toute modification, toujours couper d'abord la tension.

15Mises à jour du firmware et maintenance

15.1 Mises à jour sans fil (OTA)

Après le premier flashage par USB, deux voies de mise à jour sans fil sont en place — le port USB peut rester difficilement accessible une fois l'appareil monté :

ℹ Les données Wi-Fi sont conservées Une mise à jour n'écrase que le programme, pas les réglages enregistrés. Le Wi-Fi, les durées et la configuration réseau survivent à la mise à jour.

15.2 Le journal de service

L'onglet Service affiche, une fois l'affichage en direct activé, les dernières lignes du journal, filtrées par niveau (ERROR/WARN/INFO/DEBUG). Cela aide au dépannage sans devoir brancher l'ESP par câble. Les journaux complets sont également disponibles via esphome logs firmware/timer-relais-c3.yaml.

16Dépannage

16.1 Lors du flashage et de la connexion

ProblèmeRemède
L'ESP n'est pas détectécâble de données au lieu d'un câble de charge ; essayer un autre port USB
« Connect » échoueforcer le mode boot (maintenir BOOT, appuyer sur RESET, relâcher BOOT)
feeder-relais.local injoignableWi-Fi configuré dans le point d'accès de configuration ? le mDNS a besoin d'un instant ; essayer directement l'adresse IP (dans le menu OLED)
Pas de point d'accès de configurationl'appareil est déjà connecté à un Wi-Fi ; sinon réinitialisation d'usine (image Factory avec effacement du flash)

16.2 En fonctionnement

ProblèmeRemède
L'OLED reste éteintl'écran est-il bien enfiché sur J4 ? vérifier le brochage GND/VCC/SCL/SDA
L'horloge affiche « --:-- »pas encore d'heure reçue du serveur NTP ; vérifier le Wi-Fi et le serveur NTP
Point d'état rougeOLED injoignable ou pas de Wi-Fi — l'onglet État donne les détails
La charge ne commute pasShelly sur « Switch/Follow » ? vérifier le câblage SW/O ; mesurer la sortie PhotoMOS lors du test USB seul
Le bouton ne déclenche rienle bouton est-il exactement sous le poussoir ? vérifier les points de soudure

17Annexe : brochages, fichiers, glossaire

17.1 Brochage et liste des nets

Broche ESPFonctionNet
5V / Galimentation+5V / GND
3V3alimentation OLED+3V3
GPIO3 / 4 / 5boutons T1 / T2 / T3BTN1/2/3
GPIO6pilote du PhotoMOS (via 330 Ω)PMOS_DRV
GPIO7I²C-SDA (OLED)SDA
GPIO8LED RVB d'état embarquée
GPIO9I²C-SCL (OLED)SCL

Les cinq nets 230 V (classe de réseau « 230V ») : L_IN, L_F, N, SW_SHELLY, O_LAST.

17.2 Fichiers du projet

CheminContenu
kicad-v3/la carte v3 (KiCad : schéma, routage, règles) + données de fabrication
box/feeder_back.scadpartie arrière du boîtier (source OpenSCAD) + STL prêt
box/Timer-Ersatzplatine-v3-BOARD.stlcarte factice pour l'essayage
firmware/timer-relais-c3.yamlfirmware ESPHome
firmware/timer_web.happlication web + interface JSON
firmware/net_config.hconfiguration réseau (IP, NTP, nom d'hôte, itinérance, langue)
firmware/build/*.binimages de flashage prêtes (factory + ota)
README.mdprésentation du projet (allemand ; traductions sous docs/<langue>/)
docs/handbuch/…-Handbuch.pdfce manuel au format PDF (traductions sous docs/<langue>/)

17.3 Glossaire

TermeSignification
ESP32-C3petit microcontrôleur Wi-Fi — le « cerveau » de l'appareil
PhotoMOSrelais à semi-conducteur qui isole basse tension et 230 V par la lumière
Shellyrelais de commutation Wi-Fi tout prêt, avec mesure de puissance (externe)
OLEDpetit écran à fort contraste
Gerberformat de fichier standard pour la fabrication de cartes
Footprintle dessin de brasage d'un composant sur la carte
DRCDesign Rules Check — la vérification automatique des règles dans KiCad
Ligne de fuitele chemin le long de la surface que le courant peut « ramper »
OTA« Over the Air » — mise à jour du firmware sans fil
NTPservice horaire Internet qui règle l'horloge

17.4 Licence et remerciements

Ce manuel est placé sous licence CC BY-NC-SA 4.0. Sa structure suit le règlement documentaire du projet frère AskSin-Analyzer : un sommaire avec ancres de navigation, des règles de saut de page fixes et le bandeau de pied de page permettant de revenir au sommaire sur chaque page.

La reproduction se fait sous votre propre responsabilité. 230 volts sont mortels — en cas de doute, faites appel à un(e) électricien(ne) qualifié(e).