Why Your IoT Sensor Shows 30% Battery But Still Dies in Winter

Thank you! Wiltson Team will contact you shortly!
Date:2026-04-24

Why Your IoT Sensor Shows 30% Battery But Still Dies in Winter

Why Your IoT Sensor Shows 30% Battery But Still Dies in Winter
IoT Hardware EngineeringApril 24, 2026

Why Your IoT Sensor Shows 30% Battery But Still Dies in Winter

Capacity is not pulse power margin. Understanding the difference is why some networks survive a polar vortex while others silently drop off the map.

EJ

Ethan Jin

Senior Battery Engineer

IOT

It's 2:14 a.m. in rural Minnesota. Your NB-IoT pressure sensor network just hit -25°C. The dashboard says 34% SOC across the board — green across the map. Five minutes later, the first "device offline" alert fires. Then the second. By 2:30, you have ten simultaneous dropouts and no explanation.

An engineer drives four hours to the site at first light. Multimeter across the battery terminal: 12.4V. Looks fine. The moment he triggers a manual data upload, the sensor screen flickers — system off. Remove the load, voltage climbs back. Trigger again — off again.

The battery isn't empty. The voltage floor is gone.

This is the failure mode that standard SOC monitoring can't predict. The gauge showed 30% right up to the moment the system died, because 30% capacity is not the same thing as 30% pulse power margin.

The 30% Mystery — Why Your Dashboard Is Lying to You

Your battery management system estimates state of charge from open-circuit voltage, or OCV. That measurement is taken when there's no load — between transmissions, in the silent intervals. During those quiet moments, OCV recovers. The dashboard logs a healthy voltage until the system suddenly dies.

This is the Capacity Trap. Capacity tells you total energy stored. It says nothing about whether that pack can deliver peak current during a 100-millisecond radio transmission without the cell voltage collapsing.

V_sag = I_pulse × R_total(T)

Voltage sag equals pulse current times total pack resistance as a function of temperature.

At -20°C, a standard LFP battery's internal resistance can be three to four times higher than at room temperature. Your capacity changes by maybe 20%. Your pulse power margin changes by 300%. The SOC display shows you the first number. It never shows you the second.

Pulse Loads — The Moment of Truth for LoRaWAN and NB-IoT

Not all radio protocols stress the battery equally. Understanding the difference is how you design a system that survives winter.

LoRaWAN Burst

A LoRaWAN transmit burst runs at roughly 120–180mA at 3.3V for 20 to 100 milliseconds.

I_pack = (3.3 × 0.18) / (12 × 0.90) ≈ 55mA

Fifty-five milliamps. That's the actual demand on the battery. Very manageable.

NB-IoT Attach Phase

NB-IoT modules typically draw 200–500mA. The pack-side equivalent is much higher.

I_pack = (3.3 × 0.35) / (12 × 0.90) ≈ 0.11A (up to 0.8A total)

With the MCU running, sensors sampling, and DC/DC overhead, total peak demand reaches 0.5–0.8A. This is where standard packs meet their end.

The Internal Resistance Spike — Cold's Hidden Weapon

When temperature drops, electrolyte becomes viscous. DC internal resistance (DCIR) measured under actual pulse conditions is what predicts real-world voltage sag.

Table A: DCIR vs Temperature

TemperatureStd LFP / cellLow-Temp LFP / cellStd LFP 4S PackLow-Temp 4S Pack
25°C25 mΩ22 mΩ120 mΩ108 mΩ
-10°C45 mΩ32 mΩ200 mΩ148 mΩ
-20°C70 mΩ45 mΩ300 mΩ200 mΩ
-30°C110 mΩ65 mΩ460 mΩ280 mΩ

Table B: LoRaWAN Pulse Voltage Sag (55mA)

TemperatureStd LFP Pack SagLow-Temp LFP Pack Sag
25°C6.6 mV5.9 mV
-20°C16.5 mV11.0 mV
-30°C25.3 mV15.4 mV

For an NB-IoT node at 0.8A combined load, the sag at -20°C on a standard pack is 240mV. That averages 60mV per cell, and considerably more on a weak cell.

The BMS Trip — From Voltage Sag to System Death

The pack doesn't die when the average cell hits cutoff. It dies when the weakest cell crosses the line.

Worked Example: 4S 12.8V 6Ah LFP pack. SOC is 30%. Weak cell OCV is 2.92V. BMS cutoff is 2.75V. Pack-side pulse current is 0.8A (NB-IoT attach phase).

At -20°C with Standard LFP

  • DCIR: ~220mΩ
  • Sag: 0.8A × 0.220Ω = 0.176V
  • Loaded V: 2.92V - 0.176V = 2.744V
  • BMS TRIP. (2.744V < 2.75V)

At -20°C with Low-Temp LFP

  • DCIR: ~120mΩ
  • Sag: 0.8A × 0.120Ω = 0.096V
  • Loaded V: 2.92V - 0.096V = 2.824V
  • ONLINE. (74mV margin)

Same pack configuration. Same SOC. Same temperature. Same pulse load. The only variable is cell chemistry. The BMS trip is instantaneous. There's no warning in the application log.

Sizing for Winter — What "Cold-Safe" Really Means

Diagnosing the failure mode is step one. Engineering around it requires asking three questions:

1. What is the minimum operating temperature?

Design for the floor, not the average. If your region hits -25°C, design for -30°C.

2. What is the peak pulse current at pack level?

Calculate from your radio module datasheet during the attach current phase, not idle.

3. What is your charge source?

Solar-only nodes need a battery that accepts charge at your minimum winter temperature. Standard LFP shuts off at 0°C.

Table C: Charge Acceptance Rate

TempStd LFPLow-Temp
-10°C0C (Blocked)0.3–0.5C
-20°C0C0.2–0.3C
-30°C0C0.1–0.15C

Table D: IoT Chemistry Check

ChemistrySub-Zero ChargePulse Perf.
Primary LiN/AWeak (needs cap)
Standard LFPNo (<0°C)Poor < -10°C
Low-Temp LFPYes (to -30°C)Best for NB-IoT

3 Specs Your Battery Supplier Must Show You

1. DCIR / HPPC Pulse Resistance at -20°C and -30°C

AC impedance measured at 1kHz understates real-world voltage sag by 3 to 5 times in cold conditions. You need DC internal resistance measured under actual pulse conditions (HPPC protocol).

2. Low-Temperature Charge Curve (-20°C and -30°C)

"Works at -30°C" printed on a datasheet is usually a discharge claim. Ask for the maximum charge C-rate at -20°C and -30°C. The charge curve is where cold-weather systems actually fail to recover.

3. Low-Temperature Cycle Life

Published cycle life figures are measured at room temp. Demand actual capacity fade rate test data at your operating temperature.

Frequently Asked Questions

Does insulating the enclosure fix the problem?

Partially. Insulation keeps the interior warmer than ambient — potentially 5 to 15°C warmer overnight. This improves DCIR margin but is not a substitute for cold-rated chemistry.

Is primary lithium (Li-SOCl₂) better for cold weather IoT?

For ultra-low-power, non-rechargeable nodes, yes. However, high-current pulse events spike their internal impedance, requiring a supercapacitor to absorb the TX burst. For solar-powered rechargeable nodes, low-temperature LFP is the correct choice.

What's the minimum SOC I should set as the system cutoff?

For standard LFP in cold climates, a software cutoff at 40–50% SOC provides meaningful voltage margin. With low-temperature LFP, 20–25% is a defensible floor because the DCIR is lower and the sag margin is preserved.

Can a supercapacitor solve the pulse problem?

Technically yes, but they lose 20 to 30% of their capacitance at -30°C, add PCB complexity, and introduce another cold-sensitive failure mode. Fixing the battery chemistry directly (via low DCIR cells) is simpler.

How do I test my battery for cold-weather pulse reliability?

Run an HPPC test at -20°C with the pack at 30% SOC. Apply a current pulse at your expected peak load. If any cell dips below your BMS undervoltage threshold, you have a field failure waiting to happen.

Secure Your Remote IoT Network

Wiltson Energy manufactures LiFePO4 packs specifically designed for cold-climate IoT: DCIR-optimized cells, direct charge to -30°C, no heating module required.

Request HPPC Test Data

Get deployment sizing support and real pulse performance specs.

&copy; 2026 Wiltson Energy. All rights reserved.

IoT Hardware & Battery Engineering Series

Looking for Our

Products and Services?

YES