Go Down

Topic: Time based output (Read 722 times) previous topic - next topic



I'm trying to build a low power gps module with an update rate which is user set. For example, I want to be able to set the update rate to every 15 minutes, 8 minutes, 5 minutes and every minute. When the GPS-location doesnt need to be updated I want the arduino to go into a sleep mode for power saving. Most sleep modes need an interrupt to come out of the sleep mode.
Preferably I want to do this with a timer on the side. I want to be able to set the timer to the user defined countdown time. After the timer has reached 0, I want the (clock)module to sent a pulse to the interrupt pin on an Uno to come out of the sleep mode and get a GPS location.
Ive been looking around the find a solution for this, however I havent found one. I hope someone here can help me out, all help and suggestions are welcome!

Thanks in advance.



Running the Arduino for a few microseconds every second shouldn't increase the power requirement much.  If your GPS provides a "Pulse Per Second" output you could use that to wake the CPU.  Count off the time and if its not time to take a reading, go back to sleep.

If you want an external chip, many RTC chips have alarm-clock outputs.  You can set the alarm for some time in the future and use the alarm signal to trigger and interrupt.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

Nick Gammon


A simple solution is to use the watchdog timer to wake you every 8 seconds. Count those up as appropriate to get your desired interval (eg. a minute would be 7 lots of 8 seconds plus one of 4).

You may (probably) want to use a MOSFET to turn the power to the GPS on and off as required.
Please post technical questions on the forum, not by personal message. Thanks!

More info:


There are a number of different was of making an Arduino "sleep" take a look in the datasheet!.


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131