Este manual está dirigido a personas principiantes. No necesitas formación en electrónica — pero sí un soldador, algo de paciencia y la disposición a teclear algunos comandos en una terminal. Cada paso está descrito por completo: qué haces, por qué lo haces y cómo reconoces que ha funcionado. Al final tendrás en tus manos un dispositivo que enciende una carga de 230 V (por ejemplo, un comedero automático) pulsando un botón durante un tiempo ajustable — manejable mediante tres botones, una pequeña pantalla y una página web en la red doméstica.
Los comandos para la terminal se ven así — se introducen línea por línea
y se envían con Enter. Las líneas que empiezan por
# son comentarios y no se escriben:
# Esto es un comentario — solo a modo de explicación
esphome run firmware/timer-relais-c3.yaml
Las referencias como «capítulo 7» son pulsables en el PDF. A través del enlace «↑ Contenido» en el pie de cada página puedes volver en cualquier momento a la vista general.
El Feeder-Relais es una placa de control autoconstruida que enciende una carga de 230 voltios pulsando un botón durante un tiempo ajustable y luego se apaga sola. El nombre proviene de su uso original: sustituye la placa temporizadora defectuosa de un comedero automático (en inglés feeder). Como al final solo «pulsa un interruptor durante un tiempo determinado», sirve para cualquier carga que se quiera conmutar de forma temporizada.
En la parte delantera hay tres pulsadores. Una pulsación corta enciende la carga durante un tiempo predefinido:
| Botón | Rótulo | Tiempo por defecto | ajustable |
|---|---|---|---|
| S1 | Down / Manual (T1) | 5 segundos | 1–600 s por WiFi |
| S2 | SET (T2) | 10 segundos | 1–600 s por WiFi |
| S3 | UP (T3) | 15 segundos | 1–600 s por WiFi |
Una pequeña pantalla OLED detrás de la ventana muestra arriba la recepción WiFi, la hora grande (ajustada mediante un servidor de hora de internet) y el estado Idle; abajo, la fecha y la memoria libre. Cuando un temporizador está en marcha, en el centro aparece la cuenta atrás en segundos y a la derecha Feed.
El manejo funciona sin app y sin nube mediante una
pequeña página web optimizada para móviles que el propio ESP32 proporciona
(en el navegador http://feeder-relais.local): activar el
temporizador, ajustar los tiempos, consultar los valores de red y estado.
Para la conexión con una domótica (por ejemplo ioBroker o Home Assistant)
existe además una interfaz JSON ligera
(capítulo 11).
Desde que se pulsa el botón hasta que se conmuta la carga, la señal recorre cinco etapas. Cada una tiene una única función:
Botón ─► ESP32-C3 ─► 330 Ω ─► PhotoMOS ─► Shelly 1PM ─► Carga
S1–S3 cuenta el limita la conmuta con conmuta y (bomba,
tiempo, corriente aislamiento mide la carga motor de
dibuja el del LED galvánico de 230 V alimentación,
OLED ventilador …)
Este manual describe la versión 3 de la placa. Respecto a la primera versión, la construcción se ha simplificado notablemente:
Entre dos superficies de cobre en una placa, la corriente no solo puede saltar por el aire, sino también «arrastrarse» a lo largo de la superficie — favorecida por el polvo, la humedad y la suciedad. Esta «distancia de fuga» debe ser lo bastante grande a 230 voltios. La fijamos en 6 mm; es un valor generoso y deja margen. La única excepción permitida es el interior del propio relé PhotoMOS — este componente es el punto de aislamiento certificado y puede llevar tensión de red y baja tensión a pocos milímetros de distancia (capítulo 6).
El orden de este manual se ha elegido deliberadamente para que hagas lo peligroso al final y puedas practicar sin riesgo hasta entonces:
| Componente | Función |
|---|---|
| ESP32-C3 Super Mini | El «cerebro». Un pequeño microcontrolador con WiFi. Lee los pulsadores, cuenta el tiempo, dibuja el OLED, sirve la página web y controla el PhotoMOS. Alimentado con 5 V, funciona internamente con 3,3 V. |
| Relé PhotoMOS | El punto de aislamiento galvánico entre 3,3 V y 230 V. Detalles en el apartado 3.3. |
| Resistencia limitadora 330 Ω | Limita la corriente a través del LED interno del PhotoMOS, para que no se sobrecargue. |
| Fuente de alimentación (módulo AC/DC) | Convierte los 230 V~ en los 5 V con los que funciona el ESP. Un módulo terminado y encapsulado. |
| Shelly 1PM Mini Gen4 | Conmuta la carga propiamente dicha, mide la potencia y además es accesible por WiFi. Se encuentra fuera de la placa. |
| Pantalla OLED de 0,91" | Muestra la hora, la cuenta atrás y el estado. Solo se enchufa, no se suelda. |
| Fusible + varistor | Protegen contra sobrecorriente y sobretensión en el lado de red. |
El Shelly 1PM Mini Gen4 es un relé de conmutación terminado y probado, con medición de potencia. Usarlo tiene tres ventajas: la conmutación arriesgada de la carga la asume un producto certificado ya fabricado; la potencia se mide (se ve si la carga realmente está funcionando); y el propio Shelly es accesible por WiFi, por si se quiere integrar adicionalmente.
Nuestra placa solo «pulsa el interruptor» del Shelly — como una señal de hardware real, sin dependencia del WiFi para la función principal. En la versión 3, el Shelly está fuera de la placa y se conecta mediante un borne (capítulo 13). Esto mantiene la placa pequeña, los tramos de 230 V cortos y el montaje ordenado.
Un PhotoMOS es un diminuto relé de semiconductor. En un lado hay un LED, que el ESP controla con 3,3 V. En el otro lado hay un interruptor controlado por luz, que puede conmutar tensión de red. Entre ambos solo hay luz — es decir, un aislamiento galvánico completo entre baja tensión y 230 V.
La entrada de conmutación del Shelly está referida a la tensión de red (espera una L conmutada). Por eso el PhotoMOS debe soportar ≥ 400 V de tensión de bloqueo — por ejemplo un Omron G3VM-601BY o un Panasonic AQY216.
Aquí tienes la función exacta de cada componente — con los valores que realmente se han montado en la placa v3. Las referencias (designadores) aparecen así en la serigrafía de montaje de la placa.
| Referencia | Valor | Función exacta |
|---|---|---|
| U1 | ESP32-C3 Super Mini | El microcontrolador con WiFi. Funciona con 5 V, genera internamente 3,3 V mediante un regulador (también para el OLED). Incorpora un LED RGB integrado (WS2812) en GPIO8. Controla los pulsadores, el OLED, el PhotoMOS y la interfaz web. |
| K1 | G3VM-601AY2 | El PhotoMOS — el aislamiento galvánico entre 3,3 V y 230 V. Pines 1/2 = LED interno (pin 1 a través de R1 desde GPIO6, pin 2 a GND), pines 3/4 = interruptor controlado por luz (pin 3 = L_F, pin 4 = SW_SHELLY). Tensión de bloqueo ≥ 400 V. |
| R1 | 330 Ω | Resistencia limitadora del LED de K1. De ~3,3 V menos ~1,2 V de tensión directa del LED fluyen unos 6 mA — suficiente para una conmutación segura, muy por debajo del límite del LED. |
| PS1 | TSP-05 (5 V / 3 W) | La fuente de alimentación: convierte 230 V~ (L_F + N) en los 5 V/GND para el ESP. 3 W = 600 mA — suficiente para los picos de transmisión WiFi (~350 mA) más el OLED. |
| C1 | 220 µF / 10 V | Condensador de apoyo en +5 V: amortigua picos breves de corriente al transmitir por WiFi y evita la caída de tensión que de otro modo reiniciaría el ESP. |
| C2 | 100 nF | Condensador de desacoplo directamente en +5 V/GND: absorbe interferencias de alta frecuencia cerca del chip. |
| F1 | 1 A lento | Fusible de precisión (5×20 mm) en serie: X1 (L_IN) → F1 → L_F. Protege ante cortocircuito/sobrecorriente. «Lento», para que la corriente de arranque de la fuente de alimentación no lo dispare por error. |
| RV1 | S14K275 (varistor) | Protección contra sobretensión en paralelo entre L_F y N: limita picos de tensión (transitorios de conmutación, interferencias de red) y protege la fuente de alimentación y la electrónica. |
| J2 | OLED SSD1306 128×32 | La pantalla. Dirección I²C 0x3C, 400 kHz. Solo se enchufa (asignación GND/VCC/SCL/SDA). |
| SW1–3 | Pulsador 6×6 mm | Los tres micropulsadores T1/T2/T3. Una conexión a GND, la otra a GPIO3/4/5 — el ESP usa pull-ups internos, una pulsación lleva el pin a GND. |
Y los bornes de conexión en el borde de la placa:
| Referencia | Conexión | Asignación |
|---|---|---|
| X1 | Entrada de red | 1 = N, 2 = L_IN (230 V entrante) |
| X2 | Salida de carga | 1 = O (conmutado), 2 = N |
| X3 | Snubber | 1 = O, 2 = N — para una red RC opcional en cargas inductivas |
| J1 | Shelly | 1 = SW, 2 = O, 3 = L, 4 = N (al Shelly externo, capítulo 13) |
Todo lo que necesitas para un Feeder-Relais. La placa en sí la mandas fabricar (capítulo 7); los componentes se piden y se sueldan (capítulo 9).
| Referencia | Componente | Valor / tipo | Observación |
|---|---|---|---|
| U1 | ESP32-C3 Super Mini | 18 × 24 mm, USB-C | Controlador con WiFi |
| K1 | Relé PhotoMOS | Omron G3VM-601AY2 (o -601BY / Panasonic AQY216) | ≥ 400 V! |
| PS1 | Módulo de alimentación AC/DC | 5 V / 3 W (clase HLK-PM05) | Comprobar la separación de pines |
| — | Pantalla OLED | 0,91" SSD1306, 128 × 32, I²C | Pines: GND VCC SCL SDA, dirección 0x3C |
| SW1–3 | Micropulsador | 6 × 6 mm, recorrido 1,5 mm | La posición es fija (panel frontal) |
| R1 | Resistencia | 330 Ω | Resistencia limitadora del LED del PhotoMOS |
| F1 | Fusible de precisión + portafusible | 1 A lento, 5 × 20 mm | lado primario, obligatorio |
| RV1 | Varistor | S14K275 | lado primario, obligatorio |
| C1 / C2 | Condensadores | 220 µF/10 V & 100 nF | Amortiguación de 5 V y desacoplo |
| X1 | Entrada de red | 2 polos (L, N) | Borne de tornillo, 230 V entrante |
| X2 | Salida de carga | 2 polos (O, N) | hacia la carga conmutada |
| X3 | Snubber | 2 polos (O, N) | red RC opcional para cargas inductivas |
| J1 | Conexión Shelly | 4 polos (SW, O, L, N) | hilos cortos hacia el Shelly externo, capítulo 13 |
| J2 | Regleta hembra OLED | 1 × 4, paso 2,54 | GND/VCC/SCL/SDA, la pantalla se enchufa |
La carcasa consta de dos partes: la parte delantera (el panel frontal original con la ventana y las tres varillas pulsadoras) y la parte trasera, que imprimes tú mismo en 3D. La placa se atornilla desde atrás a seis columnas, y la pantalla se sitúa detrás de la ventana.
La parte delantera es la parte superior de la carcasa original. Lleva la ventana (detrás está el OLED) y las varillas que, al pulsarlas, accionan los tres pulsadores de la placa. Por eso la posición de los pulsadores no es negociable — deben quedar exactamente debajo de las varillas (capítulo 9).
La parte trasera en la versión 3 es deliberadamente más profunda que el original (35 mm en lugar de los 5,7 mm originales), para que quepan cómodamente la placa y el Shelly externo. En el borde superior hay una lengüeta de suspensión con ojo de cerradura para el montaje en pared.
La plantilla está como archivo OpenSCAD en el proyecto, en
box/feeder_back.scad. OpenSCAD es un programa gratuito que
genera un modelo 3D a partir de un archivo de texto — la ventaja: todas las
medidas están como variables al principio del archivo y se pueden
adaptar.
box/feeder_back.scad.box/feeder_back_35mm.stl.box/Timer-Ersatzplatine-v3-BOARD.stl
— una réplica 1:1 de la placa (contorno, agujeros de tornillo, ranuras).
Imprímela plana y colócala dentro de la parte trasera antes
de encargar la placa real. Así compruebas sin riesgo si todo encaja
(capítulo 7).La placa se atornilla desde atrás con seis tornillos a las columnas de la parte trasera (retícula de columnas 45 mm × 70 mm, agujero de tornillo 3,2 mm, avellanado para la cabeza del tornillo en la cara posterior). Otros cuatro puntos en el panel frontal centran la placa adicionalmente.
| Medida | Valor |
|---|---|
| Medida exterior parte trasera | 109,8 × 90,8 mm |
| Profundidad parte trasera (v3) | 35 mm |
| Grosor de pared y fondo | 1,3 mm |
| Medida de la placa | 101,6 × 77,5 mm |
| Retícula de columnas | 45 mm (X) × 70 mm (Y) |
No tienes que diseñar la placa tú mismo — está terminada en el proyecto,
en kicad-v3/. Este capítulo explica cómo está
construida, para que al montar los componentes y comprobar sepas qué va
dónde. Quien quiera modificar algo por su cuenta encontrará la guía de
KiCad en el capítulo 8.
En la versión 3, toda la electrónica está en la cara posterior. En la cara delantera (hacia el panel frontal) solo quedan los tres pulsadores y el conector OLED — todo lo que se maneja o se ve.
La placa tiene cuatro capas de cobre: las dos capas externas (cara delantera y trasera) llevan las pistas, las dos capas internas son planos de masa continuos en la zona de baja tensión. Estos planos de masa actúan como un plano de referencia estable: hacen que el montaje sea poco propenso a interferencias y que la función WiFi sea estable.
Las cinco redes L_IN, L_F, N,
SW_SHELLY y O_LAST llevan 230 voltios. Están
agrupadas en una clase de red propia «230V» (pistas más
anchas, distancias mayores) y se encuentran todas abajo a la izquierda, lejos
de la electrónica. Una regla de comprobación establecida en el diseño exige
6 mm de distancia entre cada red de 230 V y cada baja
tensión.
La única excepción es el relé PhotoMOS K1: su encapsulado es el punto de aislamiento certificado (pines 1/2 = baja tensión, pines 3/4 = tensión de red). Solo ahí pueden encontrarse ambos mundos a pocos milímetros — precisamente para eso está construido el componente.
Qué lleva cada línea lo muestra la siguiente vista general:
| Nombre de red | lleva | conecta |
|---|---|---|
| L_IN | 230 V (sin proteger) | Entrada de red X1 → fusible F1 |
| L_F | 230 V (protegida) | F1 → varistor RV1, fuente PS1, PhotoMOS K1.3, Shelly J1.L |
| N | 230 V neutro | X1 → RV1, PS1, Shelly J1.N, carga X2, snubber X3 |
| SW_SHELLY | 230 V conmutado | PhotoMOS K1.4 → Shelly J1.SW |
| O_LAST | 230 V conmutado | Shelly J1.O → salida de carga X2 + snubber X3 |
| +5V | baja tensión | Fuente de alimentación → ESP 5V, C1, C2 |
| GND | baja tensión | Masa: ESP, pulsadores, PhotoMOS, OLED |
| +3V3 | baja tensión | Salida ESP-3V3 → OLED |
El ESP32-C3 utiliza estos pines:
| Pin | Función |
|---|---|
| 5V / G | Alimentación desde la fuente |
| 3V3 | alimenta el OLED |
| GPIO3 / 4 / 5 | Pulsadores T1 / T2 / T3 |
| GPIO6 | Excitador del PhotoMOS (a través de 330 Ω) |
| GPIO7 | I²C-SDA (OLED) |
| GPIO8 | LED RGB integrado (estado) |
| GPIO9 | I²C-SCL (OLED) |
Esta tabla es la correspondencia vinculante entre la placa y el
firmware. A la izquierda está lo que el firmware
(timer-relais-c3.yaml) hace con el pin — con su configuración
exacta; a la derecha, adónde lo lleva la placa. Ambos lados deben coincidir
exactamente, o el dispositivo no funcionará.
| Pin ESP | Firmware (ID y configuración) | Placa | Función en detalle |
|---|---|---|---|
| GPIO3 | btn_s1 · entrada, pull-up interno, invertido, antirrebote de 30 ms | Pad 3 → /BTN1 → pulsador S1 a GND | Pulsador S1 (Down/Manual). Nivel de reposo HIGH; una pulsación lleva a GND (LOW) → se considera «pulsado». Corta = activa el temporizador 1. |
| GPIO4 | btn_s2 · entrada, pull-up, invertido, 30 ms | Pad 4 → /BTN2 → pulsador S2 a GND | Pulsador S2 (SET). Corta = temporizador 2; larga ≥ 3 s = menú de información. |
| GPIO5 | btn_s3 · entrada, pull-up, invertido, 30 ms | Pad 5 → /BTN3 → pulsador S3 a GND | Pulsador S3 (UP). Corta = temporizador 3; larga ≥ 1,2 s = detener todo. |
| GPIO6 | shelly_trigger · salida GPIO | Pad 6 → /PMOS_DRV → R1 330 Ω → ánodo del LED de K1 | Controla el PhotoMOS. HIGH = LED encendido = PhotoMOS conduce = Shelly-SW recibe L → carga encendida. LOW = apagado. |
| GPIO7 | i2c: sda · 400 kHz | Pad 7 → /SDA → OLED J2.4 | Línea de datos I²C hacia el OLED. Está deliberadamente en GPIO7 (no en GPIO8). |
| GPIO8 | status_led · WS2812 (GRB), atenuado | interno al módulo — sin red en la placa (Pad 8 libre) | LED RGB de estado integrado (semáforo verde/amarillo/rojo). Está fijo en GPIO8 del módulo; por eso aquí no puede haber una segunda señal — la razón por la que SDA se trasladó a GPIO7. |
| GPIO9 | i2c: scl · 400 kHz | Pad 9 → /SCL → OLED J2.3 | Línea de reloj I²C hacia el OLED (dirección 0x3C). |
| 5V / GND | Alimentación del módulo | /+5V / GND de la fuente de alimentación | 5 V del módulo AC/DC; GND es la masa común (también las capas internas). |
| 3V3 | Salida del regulador integrado | /+3V3 → OLED-VCC | El ESP genera internamente 3,3 V y con ellos alimenta el OLED. |
Una placa de cuatro capas no se hace en casa — se manda fabricar en un fabricante de placas de circuito impreso. Hoy en día es barato y sencillo: se suben un puñado de archivos y las placas terminadas llegan por correo.
box/Timer-Ersatzplatine-v3-BOARD.stl a escala 1:1 (plano, sin
soportes) y colócalo dentro de la parte trasera impresa. ¿Encaja el
contorno, se alinean las seis ranuras con las columnas, quedan bien los
agujeros de tornillo? Estos cinco minutos te ahorran un pedido caro
equivocado.Alternativamente (o además), imprime el contorno de la placa en papel a escala 1:1 y recórtalo.
«Gerber» es el formato de archivo estándar que esperan los fabricantes de placas — un archivo por capa, más los datos de taladrado. Los Gerber ya terminados están incluidos en el proyecto; para generarlos tú mismo desde KiCad:
kicad-v3/Timer-Ersatzplatine-v3.kicad_pcb.Sube el ZIP a un proveedor como JLCPCB, PCBWay o Aisler. Ajustes importantes:
| Ajuste | Valor |
|---|---|
| Capas | 4 |
| Grosor del material | 1,6 mm (estándar) |
| Acabado superficial | HASL sin plomo o ENIG |
| Cobre | 1 oz (35 µm) |
| Color | indiferente |
Este capítulo lo necesitas solo si quieres modificar tú mismo la placa. Para una réplica pura puedes saltarlo — los datos de fabricación ya terminados están incluidos. KiCad es un programa gratuito para el diseño de placas (probado con KiCad 8/9/10; los nombres de menú pueden variar mínimamente).
kicad-v3/Timer-Ersatzplatine-v3.kicad_pro.Cada símbolo de componente está vinculado a un footprint — la huella de soldadura en la placa. Comprueba en Herramientas → Asignar footprints que, por ejemplo, PS1 corresponde a la fuente de alimentación realmente comprada (¡comprobar la separación de pines!) y que el PhotoMOS corresponde a la forma constructiva SMD o DIP.
Las clases de red están en el archivo del proyecto y no deben modificarse: Default (0,2 mm de distancia y anchura de pista) y 230V (1,0 mm de distancia y anchura de pista) con las cinco redes L_IN, L_F, N, SW_SHELLY, O_LAST.
La regla de distancia de fuga está como archivo propio
Timer-Ersatzplatine-v3.kicad_dru en el proyecto. Exige
6 mm entre 230 V y baja tensión — con la excepción deliberada del
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)))
Después de cada cambio, ejecutar el DRC (Design Rules Check, Comprobar → Comprobar reglas de diseño) hasta que quede sin errores.
Si el DRC y la comprobación visual (vista 3D con Alt+3) están correctos, exportas los datos Gerber y de taladrado tal como se describe en el capítulo 7.
«Montar los componentes» significa: soldar las piezas a la placa. Procedemos de las piezas planas a las altas — así la placa siempre queda estable al soldar.
Orden recomendado: R1 → C2 → PhotoMOS → pulsadores → conector OLED J4 → C1 → portafusible F1 → varistor RV1 → bornes. El ESP se coloca solo cuando ya se ha flasheado y probado (capítulos 10 y 14).
El PhotoMOS es (según el tipo) un pequeño componente SMD. Así se suelda limpiamente:
El «firmware» es el programa que se ejecuta en el ESP. La primerísima vez llega al chip por cable USB. Todas las actualizaciones posteriores son inalámbricas (capítulo 15).
firmware/build/:
feeder-relais.factory.bin para el primer flasheo y
feeder-relais.ota.bin para actualizaciones web posteriores. No
contienen ninguna credencial de WiFi — esas las configuras
después de flashear (capítulo 11).ESPHome es la herramienta con la que se compila y se carga el firmware.
No hace falta un secrets.yaml — no se compilan datos de WiFi
en el binario.
esphome run firmware/timer-relais-c3.yaml
/dev/ttyACM0; en Windows, un COMx) y flashea./dev/ttyACM0, añade tu usuario al
grupo dialout y vuelve a iniciar sesión:
sudo usermod -aG dialout $USER
Para la imagen ya terminada feeder-relais.factory.bin, sin
ninguna instalación:
https://espressif.github.io/esptool-js/.115200, pulsar Connect
y elegir el puerto serie del ESP.0, con
Choose File elegir feeder-relais.factory.bin, y luego
Program. Esperar hasta que aparezca «Hard
resetting…».| Síntoma | Causa / solución |
|---|---|
| El ESP no se detecta en absoluto | Cable de carga en lugar de cable de datos → probar otro cable USB-C, otro puerto |
| No aparece ningún puerto en el navegador | Usar Chrome/Edge; en Windows, comprobar controladores (CH340/CP210x) |
| «Connect» falla | Modo boot: mantener pulsado BOOT + pulsar RESET + soltar BOOT, y volver a conectar |
Después no aparece ….local | configurar primero el WiFi (capítulo 11); mDNS necesita un momento |
El firmware no incluye deliberadamente ninguna credencial de WiFi. Tras flashear, el ESP abre su propio punto de acceso:
feeder1234).http://192.168.4.1).http://feeder-relais.local.http://feeder-relais.local abre una aplicación web móvil con
cinco pestañas:
En la cabecera hay un punto de estado: verde = todo en orden, amarillo = un temporizador está en marcha, rojo = fallo en reposo (p. ej. OLED inaccesible o sin WiFi). Ese mismo semáforo lo muestra en el dispositivo el LED RGB integrado atenuado.
Para la domótica, el ESP ofrece una interfaz JSON. Los puntos finales más importantes:
| Llamada | Efecto |
|---|---|
GET /api/status | todos los valores en JSON (activo, tiempo restante, relé, tiempos, WiFi …) |
POST /api/trigger?button=N | activa el pulsador N (1–3) con su tiempo |
POST /api/trigger?seconds=N | conmuta ad hoc durante N segundos |
POST /api/trigger?seconds=N&src=adapter | como arriba, marca el origen — aparece como trg (button/api/adapter) en el estado y el registro |
POST /api/stop | apaga de inmediato |
POST /api/config?time1=A&time2=B&time3=C | fija los tiempos (1–600 s cada uno) |
POST http://feeder-relais.local/api/config?time1=8.En la pestaña Red configuras:
de.pool.ntp.org).feeder-relais). Se cambia en tiempo de ejecución — la
dirección ….local es válida de inmediato.El interruptor Roaming WiFi (802.11k/v) solo tiene sentido si tienes varios puntos de acceso con el mismo SSID (Mesh/UniFi) y estos soportan la tecnología. Entonces el dispositivo puede cambiar de forma dirigida al punto de acceso más fuerte. Por defecto: desactivado. Tras cambiar el ajuste, el botón «Reconectar ahora» ayuda a que surta efecto de inmediato.
En el dispositivo, los botones están rotulados: S1 = Down/Manual, S2 = SET, S3 = UP.
El OLED (128 × 32) muestra arriba la barra de WiFi, la hora grande o la cuenta atrás y el estado (Idle/Feed); abajo, la fecha y la memoria libre. El día de la semana, el estado y los títulos de menú siguen el idioma configurado. Hasta la primera sincronización de hora aparece «--:--».
El Shelly tiene cuatro bornes: L, N, SW (entrada de conmutación) y O (salida de carga). Cuatro hilos cortos lo conectan con el borne de la placa J1:
| Placa (J1) | → Shelly | Significado |
|---|---|---|
| J1.3 (L_F) | L | Fase (protegida) |
| J1.4 (N) | N | Neutro |
| J1.1 (SW_SHELLY) | SW | nuestra señal conmutada (desde el PhotoMOS) |
| J1.2 (O_LAST) | O | carga conmutada hacia la salida |
El Shelly se fija tumbado dentro de la carcasa (cinta VHB o clip). Los hilos deben ser cortos y los bornes de tornillo firmes — ningún cobre debe quedar al descubierto.
Tras el primer encendido, configuras el Shelly una única vez (mediante su propia app o interfaz web):
Las piezas pequeñas ya están soldadas (capítulo 9). Ahora el ESP:
http://feeder-relais.local.Tras el primer flasheo por USB quedan configuradas dos vías de actualización inalámbrica — el puerto USB puede quedar tranquilamente poco accesible una vez montado:
esphome run firmware/timer-relais-c3.yaml actualiza por
WiFi.feeder-relais.ota.bin. El dispositivo se reinicia después.La pestaña Servicio muestra, con la vista en vivo
activada, las últimas líneas del registro, filtradas por nivel
(ERROR/WARN/INFO/DEBUG). Esto ayuda a la resolución de problemas sin tener
que conectar el ESP por cable. Los registros completos también están
disponibles mediante
esphome logs firmware/timer-relais-c3.yaml.
| Problema | Solución |
|---|---|
| El ESP no se detecta | Cable de datos en lugar de cable de carga; probar otro puerto USB |
| «Connect» falla | Forzar el modo boot (mantener BOOT, pulsar RESET, soltar BOOT) |
feeder-relais.local no accesible | ¿Se configuró el WiFi en el punto de acceso de configuración? mDNS tarda un momento; probar la IP directamente (en el menú del OLED) |
| Falta el punto de acceso de configuración | El dispositivo ya está conectado a un WiFi; si no, restablecimiento de fábrica (imagen factory con borrado de flash) |
| Problema | Solución |
|---|---|
| El OLED permanece oscuro | ¿Está la pantalla bien colocada en J4? Comprobar la asignación GND/VCC/SCL/SDA |
| El reloj muestra «--:--» | todavía no hay hora del servidor NTP; comprobar el WiFi y el servidor NTP |
| Punto de estado rojo | OLED inaccesible o sin WiFi — la pestaña Estado muestra detalles |
| La carga no conmuta | ¿Shelly en «Switch/Follow»? Comprobar el cableado SW/O; medir la salida del PhotoMOS en la prueba solo por USB |
| El botón no activa nada | ¿Está el pulsador exactamente debajo de la varilla? Comprobar las soldaduras |
| Pin ESP | Función | Red |
|---|---|---|
| 5V / G | Alimentación | +5V / GND |
| 3V3 | Alimentación del OLED | +3V3 |
| GPIO3 / 4 / 5 | Pulsadores T1 / T2 / T3 | BTN1/2/3 |
| GPIO6 | Excitador del PhotoMOS (a través de 330 Ω) | PMOS_DRV |
| GPIO7 | I²C-SDA (OLED) | SDA |
| GPIO8 | LED RGB de estado integrado | — |
| GPIO9 | I²C-SCL (OLED) | SCL |
Las cinco redes de 230 V (clase de red «230V»): L_IN,
L_F, N, SW_SHELLY,
O_LAST.
| Ruta | Contenido |
|---|---|
kicad-v3/ | la placa v3 (KiCad: esquemático, layout, reglas) + datos de fabricación |
box/feeder_back.scad | parte trasera de la carcasa (fuente OpenSCAD) + STL terminado |
box/Timer-Ersatzplatine-v3-BOARD.stl | maqueta de la placa para la prueba de encaje |
firmware/timer-relais-c3.yaml | firmware ESPHome |
firmware/timer_web.h | aplicación web + interfaz JSON |
firmware/net_config.h | configuración de red (IP, NTP, hostname, roaming, idioma) |
firmware/build/*.bin | imágenes de flasheo terminadas (factory + ota) |
README.md | resumen del proyecto (alemán; traducciones en docs/<idioma>/) |
docs/handbuch/…-Handbuch.pdf | este manual en PDF (traducciones en docs/<idioma>/) |
| Término | Significado |
|---|---|
| ESP32-C3 | pequeño microcontrolador con WiFi — el «cerebro» del dispositivo |
| PhotoMOS | relé de semiconductor que separa baja tensión y 230 V mediante luz |
| Shelly | relé de conmutación WiFi terminado con medición de potencia (externo) |
| OLED | pantalla pequeña de alto contraste |
| Gerber | formato de archivo estándar para la fabricación de placas |
| Footprint | la huella de soldadura de un componente en la placa |
| DRC | Design Rules Check — la comprobación automática de reglas en KiCad |
| Distancia de fuga | el camino a lo largo de la superficie por el que la corriente puede «arrastrarse» |
| OTA | «Over the Air» — actualización de firmware inalámbrica |
| NTP | servicio de hora de internet que ajusta el reloj |
Este manual está bajo CC BY-NC-SA 4.0. Su estructura sigue el reglamento de documentación del proyecto hermano AskSin-Analyzer: un índice con enlaces, reglas de salto de página fijas y el pie de página con el camino de vuelta al índice en cada página.
La réplica se realiza bajo la responsabilidad propia de cada persona. 230 voltios son mortales — en caso de duda, consultar a un electricista cualificado.