DS1307 or similar

I am currently building a system with the Arduino and a DS1307 timer. I was wondering if anyone had some advice about how one would go about using the ds1307 to wake-up the arduino after a certain period of time, run some operations, and then go back to sleep. The idea behind this move it so increase the battery life as much as possible. I have looked around quite a bit and have had little luck finding anything. I would love some advice or suggestions from anyone, especially someone who may have already come across this task.



I can't offer much advice if you are using a 1307, but if you were to use a 3231 then you could set an alarm. The alarm pulls a pin low - if this pin is connected to one of the interrupt pins on the Arduino you could use that to wake it up as per Nicks article.

And the 3231 has a built in crystal, temperature compensation...

I would recommend a DS1337 instead of 1307. The 1337 have alarm feature added to the RTC so that you can connect the interrupt pin of 1337 to hardware interrupt pins of your arduino. Datasheet http://datasheets.maximintegrated.com/en/ds/DS1337-DS1337C.pdf. Check out http://forum.arduino.cc/index.php?topic=38077.0 for library.

Can i se the ds1307 to wake-up the arduino?

jtxu77: Can i se the ds1307 to wake-up the arduino?

Given the advice above, if you really want to, you can. Set the SQW output on the DS1307 to one second, and connect that to an interrupt pin on the arduino chip.

Go to sleep and wait for the interrupt to wake you. Count the seconds when you wake up, and if it's not time to do something yet, go back to sleep.

The DS1337 has two interrupt ouput that can be connected to the interrupt pins of arduino(digitalpins 2 and 3).You can program the DS1337 to trigger interrupt on these pins to awake the arduino from sleep :P. But remember it does not have a pin to connect to backup battery :frowning: