Reset desde el programa

De hecho la idea de transistor no es mala idea, (si respetas las leyes de Ohm). Yo utilizaria un capacitor para resolver el problema de tiempo.

Utilizar un 555 no es mala idea para nada tampoco, y tienes que tener las mismas precauciones como el ejemplo anterior.