I'm a software student trying to learn about embedded systems. I would like to build a low-power system that can send his coordinates by SMS and also receive SMS. Unfortunately I'm at level zero in electronics and the first step is to estimate power consumption and I am not sure at all of my computations.

Could someone verify my computations and tell me if I forgot anything important ?

I choosed:

Microcontroller: MSP430G2553 datasheet. From the datasheet I read

Low Supply-Voltage Range: 1.8 V to 3.6 V
Active Mode: 230 µA at 1 MHz, 2.2 V
Off Mode (RAM Retention): 0.1 µA

So I made the following computations:

Power consumption on run mode:
230uA * 16MHz * 2.2V ~= 8mW
Power consumption on sleep mode:
0.1 uA * 2.2V = 0.22 uW

For the GSM Module I choose ublox SARA-G3 informations There I see:

Power supply 3.00 to 4.50 V (extended)
Power consumption Power Off: < 40 μA
Connected: < 250 mA

So I compute the power consumption in the following way:

Power off: 40uA * 3.75V(Average) = 0.15 mW
Connected (full power): 250mA * 3.75V ~= 1W

And finally for the GPS: ublox MAX7

Continuous Mode: 17.5 mA @ 3 V => 52.5 mW
I Suppose it can be powered off when unused


Sleep: 0.22 mW + 0.15 mW + 0 = 0.37mW
Max: 8mW + 1W + 52.5mW ~= 1W

So if I take for the sake of the example two AAAA alkaline batteries (1.5V, 500mAh capacity) and put them in series

3V, 500mAh capacity => 3V * 500mAh = 5400 J energy

The device would last:

5400J / 0.37mW = 168 days on sleep mode
5400J / 1W = 1.5 hours in max mode 
  • \$\begingroup\$ Akaline batteries don't hold their 1.5V nominal voltage when discharging under load. They will be ~1 V when almost empty. \$\endgroup\$ – Turbo J Sep 20 '14 at 10:04
  • \$\begingroup\$ There are some GSM modules that have GPS built in. I'm skeptical of that 250ma max as the ones I've worked with have a 2A burst for transmit. They're really designed to work with mobile phone style lithium-ion batteries, although it ought to be possible to drive from AA via a suitable boost converter. \$\endgroup\$ – pjc50 Sep 20 '14 at 14:03

The calculation seems correct to me, but some points:

  • Assume your device is going to use more than you expect. Depending on the circuit you're going to use, not only the modules consume power. It might be insignificant though, I'm not sure.

  • The power consumption of the microcontroller is dependent on the oscillator frequency and the supplied voltage.

    Given is the consumption at 1MHz. For your application, this may or may not be too slow, depending on how much instructions you're going to need to read from the GPS module, process the data, send SMS, read SMS, etc. My guess is that 1MHz is not going to be enough, but it depends on your code and speed requirements. However, you cannot just adjust the frequency.

    On page 22 of the datasheet you linked to, you can see different power consumption graphs for different oscillator frequencies and supply voltages:

    enter image description here

    (http://www.ti.com/lit/ds/symlink/msp430g2553.pdf, p. 22)

    In this graph you can also see that you cannot use 16MHz with any supply voltage. This is clarified on page 21:

    enter image description here

    (http://www.ti.com/lit/ds/symlink/msp430g2553.pdf, p. 21)

    So as you can see, if you want to run the microcontroller at 16MHz, you're going to need 3.3V (see the "Recommended Operating Conditions" table on the same page), and you will be consuming about 4.15mA instead of 0.230uA * 16 = 3.68mA.

    Another note: it depends on the characteristics of the microcontroller that you're using (I don't know it), but running the microcontroller at 2.2V and the GPS/GSM at a different voltage might cause problems, since the input/output of the modules might not be compatible with the input/output of the microcontroller anymore. It's always safe to have both on the same supply to make sure you don't have this kind of issues, but it will also consume some more power.

  • You calculation supposes a perfect voltage source. Real-world batteries however don't have a fixed voltage. The voltage will change over time, and alkaline doesn't have the best specs:

    enter image description here


    Now this graph is an example for a 2Ah battery, but you see the idea. You're going to use two alkaline's to get the necessary 3V for the GSM module, however, directly after using the batteries the voltage will drop and the module won't work anymore. A better option would be to use three NiMH's, which provide 3.6V together and will keep the device running until the batteries are almost completely discharged.

  • You say you want to turn off the GPS when unused. Yes, this is possible, but remember that the module needs some time before it has a fixed position, as it needs to look for satellites. I don't know the details of your application, but say you want to send an SMS every 10 seconds, then you cannot turn the GPS off in between.

    How much time you need to get a fix depends on your module and environmental circumstances like buildings and maybe the weather, I'm not sure. I built a device with a fairly old GPS module once, and that one needed about 4 minutes in open field to get a fix. Nowadays modules should be much better.

    Even though you can use the GPS module within a certain voltage range, that doesn't mean you get the same results. When I was building that device, I noticed I could get a fix slightly faster, in about 3 minutes, when using a supply voltage about 0.5V higher than the minimum. (In the end I didn't use it since I didn't need the minute and it would mean adding an extra battery, for which I didn't have space.)

| improve this answer | |

You're definitely on the right track. I think I see a few misconceptions in your approach though.

Most microelectronic devices can be operated within a range of voltages. The microcontroller you picked, for example, can operate between 1.8V and 3.6V. That doesn't mean it will make the voltage swing between those two numbers. You choose which voltage value you want when you prepare your circuit. And that's the voltage it will run at. So you don't pick an average voltage to calculate power consumption. Just pick the voltage you will use.

Your microcontroller's datasheet specified a current consumption at a specific voltage at a specific frequency. That's the current it will consume to power its core and the oscillator circuitry. It's a (roughly) constant value so you don't have to account for the frequency of your oscillator in your power calculation. If you plan to run at 16MHz, you'll need to find the current consumption specification in the datasheet for 16MHz, not just pull the representative value off the summary page, as you did. Simply multiplying by 16 isn't correct.

You could almost get away with the 2 AAA batteries except for the GSM module. It has a minimum of 3V, and that's only for its special "extended" mode. Regular operation is not guaranteed at that low of a voltage and it won't even turn on unless the voltage is higher. Plus, as the batteries get discharged, the voltage will dip even below 3V. You'll need to use either a third AAA or another type of battery.

Now here's a tricky bit. The GSM needs a voltage between 3.35V and 4.5V, but the GPS wants between 1.65V and 3.6V. So you have a narrow band between 3.35V and 3.6V to run the circuit at. You're gonna need a voltage regulator to keep the voltage in that safe range. As long as the battery you choose is only a little higher than that, you can use a linear regulator and get pretty good conversion efficiencies. Using regulators is outside the scope of this question, but there's plenty of information on them on the internet or on this site.

One last comment. I like your ambition, but designing a project from scratch that involves GPS location acquisition and SMS data transmission using a microcontroller is not easy. I highly recommend you start off with some simpler projects (like making an LED blink!) and work your way up to a multi-function system like this.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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