Electronic – Battery lifetime calculation approach for Arduino + GPS/GSM


I want an Arduino Nano to send its GPS coordinates via SMS. I'm going to use the GSM/GPS module SIM908. My problem has to do with how many SMS will I be able to send before the battery dies.

I've done some calculations but I'm not sure if I'm doing something wrong or missing something…

The arduino nano voltage is 5V while the SIM908 Operating Voltage is 3.2V to 4.8V.

Then I've done this timeline trying to be really conservative:

  • Turn on: 3 seconds @ 580mA (280mA Arduino + 300mA SIM908).
  • GPS data gather: 2 seconds @ 2280mA (280mA Arduino + 2000mA SIM908).
  • Data processing: 1 second @ 580mA (280 Ard + 300 SIM).
  • SMS Send: 3 seconds @ 2280mA (280mA Ard + 2000 SIM).
  • End process + turn off: 1 second @ 580mA.

(I totally made up the durations, I just hope they're upper bounds)

average = (5*580+5*2280)/10 = 1430mA.

That is, the process of transmitting an SMS consumes in average e=1430mA. Then, if I have a battery with a capacity of C=10.000mAh, I could get the battery lifetime as,

    L = C/e = 10000/1430 = 7h.

Since 7h = 25200 seconds and we spend 10 seconds in each gather data – send data process, we could be able to complete the process 2.520 times with a full battery…

Now, some considerations: I know that the voltage is slightly different for the Arduino and the SIM908, and the calculations are assuming their voltage is the same, but anyway my result is an upperbound, right?

This calculations are not taking into account the time interval between executing the process. Actually this will be done automatically once every 12h, so I guess the Arduino should actually be ON all the time and fire an interruption every 12h. I don't know if there's any low-consumption mode for such things… or perhaps there are some other ways to handle this like having really low-consumption specific hardware.

Am I missing some important fact that will drop my battery? The battery is meant to last months with just one charge… the device should just send its coordinates via SMS every 12h (or maybe 8h), and perhaps this long periods of time might cause some other problems.

Best Answer

I don't know if its still applicable.

SIM908 board does consume that much average current during normal operation. It includes the current drawn by the total circuit shown in this image.

SIM908 GPS tracker

SIM908 does take a minute or two for getting GPS satellite fix after power on, using a active antenna, Depending on how well exposed the antenna is to the sky. If power saving is the concern then, you should put the module in sleep mode and wake up when needed. The module has the capability to stay in low power mode with average current consumption <1mA. And it can automatically wake up when there is a event like SMS arrived or call arrived. Also there is a catch, We cannot enter the GSM engine to sleep mode unless the GPS engine is powered off.

So, we cant expect to get power saving at a time with faster TTF.

The ideal way would be to use separate GSM/GPS modules like this,


Here I am using the SIM800C GSM and SIM39EA GPS module. This gives me freedom to save power as I can put the individual modules into sleep mode or not. The SMS based tracking of this product is able to run for more than 72 hours on 1100maH Li Ion battery. The device is always on during this time and listening to incoming SMS commands to reply. The TTF of SIM39EA is very good. It is able to acquire GPS signal in less than 30s after waking up from sleep mode.

P.S: I am the author of the blog listed above.