Watchdog timer IC for ESPESP32-PICO-V3-02

srohini

Newbie level 4
Newbie level 4
Joined
Sep 21, 2010
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,321
Hello, I wanted to design a watchdog circuit for ESP-32.which can wait 15 minutes before sending RESET pulse to ESP-32.can anybody suggest me how can I do That?
 

You don't say what your use case is - personally I think that 15 minutes is a very long time before you detect that the processor has got stuck.
Be that as it may, you could set up a timer within the ESP32 that you reset on as regular basis by testing whatever it is that you are concerned about getting stuck. If that times out then you can do a software reset.
If you are concerned about the ESP32 itself getting stuck, the you can also use one of the internal watchdog timers. While they typically go up to 60+ seconds.
By the sound of it you are wanting an external circuit. You then need to tell us about the other design parameters that you can deal with - for example budget, PCB space, power etc.. Most important is what is the external thing that you are monitoring and how does it tell the external watchdog that it is still active.
Finally, what have YOU come up with? It is much easier for us to assist you if you have thought the problem through and com e to us with specific quesitons to actua problems.
Susan
 
Thank you for the information. I have very little information about this system. I will find out the details you mentioned and will get back.
 

I agree with Susan.

15 minutes is very long.
The delay should be a bit longer than your longest blocking function (or loop cycle).
In my application this usually is below 20ms. (My functions usually don´t contain busy waits like delay_ms() )
Thus - in my applications - it´s good to set the watchdog timeout to 50ms - for example.

"I set" means I usually use the internal watchdog. Done using a couple of flags / counters.
I have ISR that need to run frequently. The usually SET a (volatile) flag when processed.
In main loop I check all these flags reguraily . when ALL are HIGH I clear reset the watchdog and clear all flags.

If one of the flags are missing ... the watchdog does not become reset, the same is true when the main loop is stalled.

For sure you are free to extend such a function by using counters or the internal milliseconds_timer to extend this to your desired 15 minutes.

***
You also may keep your idea of an external watchdog.
This needs to detect activitiy. In order to design an external watchdog you first need to define the signal including timing of your activity_signal.

Klaus
 

Similar threads