I'm using a SIM808 module (on a breakout card) and I want to send only 20 bytes every 6 hours (i.e. 120 bytes per day), containing GPS position and some very short other data.

So I think I'll probably have to use an Arduino. In order to use the less battery-possible, should I:

  1. Have the Arduino running fulltime (with sleep most of the time), and GSM connected all the time

  2. Have the Arduino running fulltime (with sleep most of the time), and GSM off most of the time, and GSM turned on only 1 minute every 6 hours

  3. Have the Arduino + GSM completely off most of the time, and have a timer chip (what chip?) powering on the Arduino + GSM chip only 1 minute every 6 hours.

  4. Another idea that would use even less battery?

Obviously 1. is not optimal at all. Would you use 2. or 3. (if so, how?)


1 Answer 1


Probably the best way is to completely switch of both the Arduino and GSM ... Let them start up by a timer chip (a simple 555 should suffice if using a fixed time anyway)... than let the Arduino start up, initialize the GSM and after the send, switch down.

6 hours between every communication seems worthwhile to switch it off completely and take the startup of the Arduino and GSM as only advantage.

  • \$\begingroup\$ Can a 555 have a 2 minutes on (let's keep 2 minutes to be sure everything worked) then 6 hours off period? How to set this period with a 555? \$\endgroup\$
    – Basj
    Sep 22, 2017 at 19:47
  • \$\begingroup\$ A 555 is a thirsty beast - even a CMOS one is about 0.1mA, or 100x more than a small CPU like an MSP430 asleep on a 32kHz crstal. Maybe the Arduino's CPU has a similar low power sleep mode? \$\endgroup\$
    – user16324
    Sep 22, 2017 at 19:49
  • \$\begingroup\$ @BrianDrummond do you mean that the Arduino itself in sleep mode could be less thirsty than a 555? \$\endgroup\$
    – Basj
    Sep 22, 2017 at 19:51
  • 1
    \$\begingroup\$ This sounds too good to be true, what do you think? (measured 7.25 uA when in power down mode) \$\endgroup\$
    – Basj
    Sep 22, 2017 at 20:36
  • 1
    \$\begingroup\$ The MSP430 sleeps at about 0.7uA (I measured 0.8) with the 32.768kHz clock running and its own built-in timer primed to wake it up every minute. The Atmega328 used in the Arduino aren't that far behind, I'd believe 7uA. Whether the Arduino supports this or loses a few mA in regulators etc I can't say, but it's a safe bet you can develop on Arduino and tweak your own Atmega to hit that low power - as he says, that was a bare CPU on a breadboard. The "something to wake it up" is again, its own timer. \$\endgroup\$
    – user16324
    Sep 22, 2017 at 22:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.