Hay muchas formas diferentes de crear un circuito temporizador, aunque todas tienen inconvenientes.
RC Timer
Esto se puede hacer simplemente teniendo un circuito RC donde el tiempo necesario es
$$ \ tau = RC $$
El problema es que la precisión es un problema importante con este circuito y el tiempo que elige es fijo. Es una solución simple y barata.
Temporizador basado en 555
Esto funcionaría creando una frecuencia PWM de su elección y utilizando un contador IC para contar el número de pulsos.
Un circuito temporizador 555 será más preciso que un circuito RC, pero aún así no será tan preciso y tendrá un tiempo fijo que cuente. También es bastante barato.
Basado en procesador
Esta opción le dará bastante flexibilidad porque podrá programar los tiempos para que puedan cambiar dinámicamente. El tiempo en un procesador (por ejemplo, una tarjeta ATTINY) no es muy preciso a menos que use un cristal externo. Incluso entonces la precisión se desincronizará con el mundo real. Para resolver esto, puede darle al sistema una conexión a Internet y sincronizar la hora con la hora BMT.
Una opción de procesador también puede ser una opción barata, aunque una vez que el sistema se complica, por ejemplo, con el módulo externo de cristal y wifi, se vuelve bastante costoso y el software se vuelve más complicado.
Sugerencia
Definitivamente optaría por una opción de procesador barata, es simple y barata siempre y cuando no requieras un tiempo súper preciso. El filtro rc y las opciones de temporizador 555 serán complejas para que todo tu sistema funcione y el tiempo será horrible.