A soil-moisture sensor runs on two AA cells, about 2,000 mAh usable. It wakes every 15 minutes, sends roughly 60 bytes, and sleeps. Sleep draw is about 10 uA. Each transmission cycle takes roughly 2 seconds at an average 30 mA while the radio is active. Estimate the battery life, and say which assumption you would attack first.
Show the full answer Hide the answer
The assumptions, stated
Orders of magnitude, not datasheet values: 2,000 mAh usable from two alkaline AA cells (nameplate is higher; cold and self-discharge take a share), 10 uA sleep, 30 mA for 2 s per cycle, 96 cycles a day.
The arithmetic
Sleep cost: 10 uA continuous = 0.01 mA x 24 h = 0.24 mAh/day.
Active cost: 30 mA x 2 s = 60 mA-seconds per cycle. Divide by 3,600 to get mAh: 0.0167 mAh per cycle. Times 96 cycles = 1.6 mAh/day.
Total: about 1.84 mAh/day, so 2,000 / 1.84 = roughly 1,090 days, call it 2.5 to 3 years once you allow for cold weather and cell ageing.
The shape of the answer matters more than the number: the radio is about 87% of the budget and sleep is 13%. Optimising the sleep path cannot buy you more than a few months. Halving the transmission interval to 30 minutes takes you to roughly 5 years; doubling it to 7.5 minutes drops you to about 1.5.
Which assumption dominates the error
The 2 seconds of radio time, because it is not a property of your payload — it is a property of the network join. 60 bytes is a few milliseconds of air time. The rest is waking the modem, acquiring the network, negotiating a session and waiting for an acknowledgement. On a cellular fleet this is where the variance lives: a device at the cell edge retries, and a 2-second cycle becomes 8. Your battery life is set by radio-on time, and radio-on time is set by link quality, which varies by site.
That is why the planning number to collect from a pilot is radio-on seconds per successful message, at the 90th percentile across sites, not the average. A fleet sized on the mean fails early in a third of its sites, and the cost lands as truck rolls rather than as an alert.
Low-power wide-area designs exist for this reason: NB-IoT arrived in the 3GPP Release 13 specification (2016) with power-saving mode and extended discontinuous reception precisely so a modem can stay registered without staying awake. Which of those features your module actually implements changes the active window more than anything in your firmware.
What the number rules in or out
- It rules in a session-based protocol with a persistent security context, because re-doing a full handshake per message can double the active window on its own.
- It rules out any design that polls the server, and it rules out server-initiated commands at arbitrary times: the device is unreachable 99.7% of the time by construction.
- It rules out firmware over the air on this power budget. A 200 KB image at 60 bytes per wake is not a rounding error on a 1.8 mAh/day budget; it is months of energy. Fleets in this class either have a larger cell for update windows, or accept mains or solar at some sites, or do not update.
When this is the wrong thing to optimise
If the device has mains power or a 20,000 mAh pack, stop doing this arithmetic and spend the effort on connectivity cost instead. The duty-cycle discipline is a response to a hard energy limit, and it is over-engineering the moment the limit is elsewhere. Choose the energy model when the cost of a dead device is a site visit; choose the data-volume model when the cost is a cellular bill.