Sleeping using Watchdog - Clarification

Hi folks,

I’m a bit new at the whole Arduino / electronics thing so please excuse me if I’m asking dumb questions! I’ve researched this quite a bit but I haven’t been able to make it click so far - I was hoping maybe somebody could explain this to me. I’m working on a remote weather sensor that has a DS18B20 and a DH11 in it, powered by an Uno + a battery pack. I’m working to conserve power on the Arduino its self currently.

I understand the whole deal with the watchdog timer, but what I’m looking to know is whether or not the watchdog timer could be staggered. From what I understand the timer allows for a maximum of 8 seconds at a time - I’m looking to have the Arduino sleep for about 14 minutes, to send the updated temp/humidity via Xbee every 15 minutes. I guess the main point I’m trying to clear up is whether or not this type of deal would be possible:

void sleep()
{
sleep magic 
}

void loop() {
do stuff
for until i is 113
{
sleep()
}
}

I’ve seen this mentioned elsewhere but I can’t really been able to determine if this will work, or if this is a good idea. I understand that the Arduino will be powering off and on and I’m okay with that. I’m not looking to make something that will last forever, just something that will last for a bit more than a day :slight_smile:

I’m aware of the external timer/clock + pin wake up method, but I’m preferring not to go that route at this time - I’m trying to keep things as simple as possible as I learn a bit more about this process.

Thanks guys - and I’m sorry if the answer to this is around somewhere, I did look, but I tend to be prone to occasional blindness.

Welcome. Yes that will work. Basically counting watchdog wake-ups to time a longer interval. Most of the time the microcontroller wakes up and goes back to sleep almost immediately, so this is very nearly as good as sleeping the whole time.

But there is another problem in that other circuitry on an Uno will continue to draw significant current even while the microcontroller sleeps. See this thread for more info:
http://forum.arduino.cc/index.php?topic=164146.msg1232507#msg1232507

If the XBee isn't sleeping, too, reducing the little current that some circuity on the Arduino uses will have virtually no affect on how long the battery lasts. Its like turning off a LED night light while leaving the electric heater running, and wondering why the power bill doesn't go down.

Thanks for the replies! I am planning on also having the Xbee sleep as well. I'm going to go ahead and give this a shot, thanks again!

The Uno will continue to draw 25-30mA even while the MCU sleeps. This is only 11-12mA less than when the MCU is running.