The Error: An engineer designs a wildlife GPS collar using a 3400 mAh battery. Calculation: “GPS module draws 40 mA for 1 minute/hour. Sleep current is 50 μA. Battery life should be 3+ years!” In field testing, collars die after 3 months.
The Flawed Calculation:
| GPS fix acquisition |
60 seconds |
40 mA |
0.667 mAh |
| Sleep |
3540 seconds |
0.05 mA |
0.050 mAh |
| Total |
- |
- |
0.717 mAh/hour |
Expected life: 3400 mAh ÷ 0.717 mAh/hour = 4741 hours = 6.6 months (already wrong, but gets worse)
What Was Forgotten - Cellular Transmission:
GPS collars must transmit location to cloud via cellular (2G/3G/4G). Cellular modem characteristics: - Idle (registered to network): 5 mA - Transmitting (GPRS/3G): 200-400 mA peak, 150 mA average - Transmission time: 5-10 seconds per GPS report (TCP handshake + HTTP POST + response)
Revised Calculation:
| GPS fix |
60 seconds |
40 mA |
0.667 mAh |
| Cellular TX (10 sec) |
10 seconds |
200 mA |
0.556 mAh |
| Cellular idle |
3530 seconds |
5 mA |
4.903 mAh |
| Sleep (GPS/cellular off) |
0 seconds |
- |
0 mAh |
| Total |
- |
- |
6.126 mAh/hour |
Actual battery life: 3400 mAh ÷ 6.126 mAh/hour = 555 hours = 23 days (matches field failure at 3 months with temperature derating + inefficiencies)
Cellular transmission dominated the budget:
- GPS: 0.667 mAh (11% of total)
- Cellular: 5.459 mAh (89% of total!)
Correct Design - Reduce Transmission:
Option 1 - Batch Transmissions:
- Collect 24 GPS fixes in local flash memory
- Transmit once per day (1 longer transmission vs 24 short ones)
- Cellular modem off 23 hours/day
| GPS fix (24x) |
24 minutes |
40 mA |
16 mAh |
| Cellular TX (1x, 60s) |
60 seconds |
200 mA |
3.33 mAh |
| Sleep |
23.5 hours |
50 μA |
1.18 mAh |
| Total/day |
- |
- |
20.51 mAh |
New battery life: 3400 mAh ÷ 20.51 mAh/day = 166 days = 5.5 months (still short)
Option 2 - Use Low-Power Radio (LoRaWAN or Satellite IoT):
- LoRaWAN transmission: 120 mA for 2 seconds (vs 200 mA for 10 seconds cellular)
- No idle current (radio off between transmissions)
- Energy: 120 mA × 2s ÷ 3600 = 0.067 mAh per transmission
| GPS fix |
60 seconds |
40 mA |
0.667 mAh |
| LoRaWAN TX |
2 seconds |
120 mA |
0.067 mAh |
| Sleep |
3598 seconds |
50 μA |
0.050 mAh |
| Total |
- |
- |
0.784 mAh/hour |
New battery life: 3400 mAh ÷ 0.784 mAh/hour = 4337 hours = 6.0 months (still needs work)
Option 3 - Combine Batching + LoRaWAN:
- GPS fix and transmit every 4 hours instead of hourly (6 cycles/day)
- Energy: 0.667÷4 (GPS) + 0.067÷4 (LoRa) + 0.050 (sleep) = 0.234 mAh/hour
- Battery life: 3400 ÷ 0.234 = 14,530 hours = 20 months
Final Option - Add Solar Panel:
- 100 mAh/day solar harvest (small 50mm × 50mm panel)
- Net drain: 20.51 - 100 = -79.49 mAh/day (battery charges!)
- Battery life: Indefinite (solar sustains during daylight, battery covers night)
Key Lessons:
- NEVER ignore transmission energy - wireless radios often dominate power budget
- Cellular idle current (5 mA) is 100x higher than deep sleep (50 μA) - keep modem off
- Batching transmissions reduces overhead (1 long TX < 24 short TXs due to handshake costs)
- Low-power radios (LoRaWAN, NB-IoT, satellite IoT) use 50-90% less energy than cellular
- Always measure actual field current with ammeter - datasheets lie about sleep current