top of page

LiSOCl2 vs LiMnO2 vs LiFePO4 for LoRa Sensor Nodes: Choosing Battery Chemistry and Avoiding the Pulse-Current Trap

Writer: Srihari Maddula
Srihari Maddula
16 hours ago
15 min read
Three batteries sitting on a table
Photo: Андрей Сизов / Unsplash

The decision first. For an unattended LoRa sensor node that must run ten years or more on one battery, use a bobbin-type lithium thionyl chloride (LiSOCl2) cell, and pair it with a pulse-handling element (a hybrid layer capacitor or a supercapacitor) unless you have measured that the bare cell survives your transmit burst after long storage and at your coldest temperature. For a node with a three-to-five-year life and modest cost pressure, two lithium iron disulfide (LiFeS2) AA cells in series are the low-risk choice. For a node with solar input and frequent uplinks, a lithium iron phosphate (LiFePO4) cell with temperature-gated charging beats any primary cell. Lithium manganese dioxide (LiMnO2) cells in the CR123A family fill the gap where size matters more than longevity.

Most of the confusion in this topic comes from one fact that datasheets bury: the average current of a LoRa node is tiny, and the peak current is not. A node that sleeps at a few microamps and transmits for a quarter of a second once every few minutes has an average current in the tens of microamps. During that quarter second it draws a hundred milliamps or more. Battery capacity is sized by the average. Battery survival is decided by the peak. Teams that size the battery by arithmetic and test it with a multimeter on the bench get nodes that work for six months, then reset during transmit in the first cold week of winter.


This post compares the four chemistries on the properties that matter for LoRa nodes, works through an energy budget with real numbers, explains the passivation effect that causes the classic failure, shows the pulse-sizing calculation, and ends with a purchasing and test checklist.


Size the battery for the average current and prove it for the peak current. A cell that passes the first and fails the second is a cell that works on the bench and not in the field.

The Four Candidates

Chemistry

Nominal voltage

Strengths

Weaknesses

Typical fit for LoRa nodes

Lithium thionyl chloride (LiSOCl2), bobbin type

3.6 V

Highest energy density among primary cells; very low self-discharge (manufacturer sheets quote under 1 percent per year at 25 C); very wide temperature range (down to around minus 55 C and up to plus 85 C on common sheets)

Low pulse capability for the bobbin construction; passivation causes voltage delay; strict transport and safety rules

Ten to twenty year unattended nodes, with a pulse-handling element

Lithium manganese dioxide (LiMnO2), such as CR123A-style cells

3.0 V

Better pulse capability than a bobbin LiSOCl2 cell; moderate passivation; compact sizes

Lower energy density; higher self-discharge than LiSOCl2

Small nodes, three-to-eight year life

Lithium iron disulfide (LiFeS2), AA or AAA

1.5 V per cell (two in series)

Good pulse capability; good cold performance; widely available; shelf life measured in many years

Lower voltage needs two cells or a boost; lower capacity per volume than LiSOCl2

Three-to-five year nodes, easy sourcing, cost-sensitive

Lithium iron phosphate (LiFePO4), rechargeable

3.2 V

Excellent pulse capability; long cycle life; safe chemistry

Cannot be charged below about 0 C without damage; self-discharge higher than primary lithium; needs a charger and a source

Solar-assisted nodes with frequent uplinks

Two cautions on that table. The numbers are typical, and cells differ by maker and by construction, so read the datasheet of the exact part. And the labels hide a construction split inside LiSOCl2: a bobbin cell is built for high capacity and low rate, while spiral-wound and modified high-power variants trade some capacity for pulse capability. A "LiSOCl2 D cell" can be either, and only the datasheet's pulse figures tell you which.


What a Datasheet Cell Looks Like

A common D-size bobbin LiSOCl2 cell (the ER34615 family) lists a nominal capacity of about 19 Ah at 3.6 V, a self-discharge below 1 percent per year, and an operating range from about minus 55 to plus 85 degrees Celsius. One manufacturer sheet gives a maximum pulse current of 400 mA for this class of cell, and adds that fitting the cell with a capacitor may be recommended where pulses are demanding. The metal content matters for logistics: a cell of this size carries about 5 grams of lithium metal, above the 1 gram threshold per cell at which lithium metal batteries are regulated as dangerous goods for air transport, which affects how you ship spares and finished goods.

Compare this with the hybrid construction. A bobbin LiSOCl2 cell combined with a hybrid layer capacitor in one hermetically sealed package (the Tadiran TLP family is the best-known example) lists, for an 8.5 Ah model, a maximum one-second pulse of 1 A to 3.0 V, no delay time at 125 mA, a temperature range of minus 40 to plus 85 C, and capacity retention of about 93 percent after ten years. A 2.4 Ah model lists the same 1 A pulse. The pattern is clear: you give up capacity (a hybrid in a D-size body holds less than a bare bobbin cell, because part of the volume is the capacitor) and gain pulse capability and freedom from voltage delay.


The Failure Everyone Meets Once: Passivation

Lithium thionyl chloride cells owe their very low self-discharge to a thin film of lithium chloride that forms on the lithium anode and separates it from the electrolyte. That film is the reason a cell stored for years still holds its charge. It is also the reason for voltage delay. When a load is applied after a period of rest, the film presents a temporarily high resistance, and the cell's voltage dips before the discharge reaction thins the film and the voltage recovers.


The effect scales with several things: how long the cell has rested, storage and operating temperature, the current drawn, and the cell's prior discharge history. A partly discharged cell that is then left on a very light load can grow a thicker film over time. The key practical features are these:

  • Small currents show no problem. A node's sleep current, in microamps, passes through the film without trouble, and a multimeter on the bench confirms it.

  • Large pulses can collapse the voltage. A transmit burst of 100 mA or more through a passivated bobbin cell can pull the supply below the microcontroller's brownout threshold or the radio's minimum voltage, even though the cell is nearly full.

  • Cold makes it worse, because the film's resistance rises as temperature falls.

  • It is hard to detect with a quick test. A cell tested at room temperature after a short rest looks fine and fails after six months in a warehouse and a cold night in the field.


A manufacturer of these cells advises that after storage of three to six months, a cell should be activated by applying a model-specific depassivation current. That is a procedure for production and spares handling, and a node in the field can't follow it, which is why design margin matters more than procedure.


A worked example shows the stakes. Suppose a node transmits at +20 dBm with a 120 mA burst, and the cell's internal resistance has risen to 20 ohms through passivation at low temperature. The voltage drop across the cell during the burst is 0.12 A times 20 ohms, or 2.4 V. From a 3.6 V open-circuit cell, the terminal voltage falls to 1.2 V, below the brownout of almost any microcontroller and radio. The node resets mid-transmission, and then resets again on the next attempt, since the pulse that fails to complete does not thin the film. The numbers are illustrative of the mechanism: real internal resistance varies widely by cell, temperature, and history, and the lesson is that a few tens of ohms is enough to cause failure at LoRa transmit currents.

A multimeter cannot see a 400 ms voltage dip. A scope or a rail logger can.

Sizing the Pulse Element


The fix is to ask the cell for less than the pulse. A capacitor in parallel with the battery supplies the burst and lets the cell recharge it slowly between transmissions at a low current the cell handles easily. Two kinds of element are used. A hybrid layer capacitor (HLC), either integrated in the cell or added in parallel, is designed for this role and is the preferred industrial solution, with low leakage and good high-temperature behaviour. A supercapacitor is cheaper and widely available, with two cautions: its leakage current can be a few microamps or more, which is a noticeable part of a node's sleep budget, and its internal resistance and leakage both vary with temperature and age.

The sizing calculation is short. During the burst, the cell supplies whatever current it can sustain without sagging, and the capacitor supplies the rest:

# pulse_cap.py -- size a capacitor to carry a transmit burst
def cap_farads(i_burst_a, t_burst_s, i_cell_a, droop_v):
    """Capacitance needed so the rail droops no more than droop_v during the burst.
    i_cell_a is the current the (possibly passivated) cell can safely supply meanwhile."""
    q = (i_burst_a - i_cell_a) * t_burst_s       # charge the capacitor must supply
    return q / droop_v

# +20 dBm burst: 120 mA for 0.45 s (SF10 uplink).  Cell can safely give 10 mA when cold/passivated.
C = cap_farads(0.120, 0.45, 0.010, droop_v=0.30)
print(f"required capacitance: {C*1000:.0f} mF")      # about 165 mF -> use 220 mF, derate for ESR and age

Real designs add margin for three things. Equivalent series resistance (ESR) adds an immediate voltage step equal to the burst current times the ESR, which can be several hundred milliohms in small supercapacitors, so a 120 mA burst across 1 ohm of ESR costs 0.12 V before any droop. Ageing and temperature reduce capacitance and raise ESR over years, especially in the heat. And recharge time must fit between uplinks: with the cell limited to 10 mA, replacing the roughly 50 mC drawn by each burst takes about 5 seconds of cell current, which is comfortable for intervals of minutes and impossible for uplinks every few seconds.


Lowering the burst helps as much as sizing the capacitor. A +14 dBm transmit draws on the order of 40 to 45 mA on common sub-GHz radios, against 100 to 120 mA at +20 dBm. A node that can reach its gateway at +14 dBm, by antenna placement or a lower spreading factor, shrinks the capacitor, the passivation risk, and the energy per uplink together.


A Real Energy Budget


The following numbers are computed for a 20-byte application payload (33 bytes on the air with LoRaWAN overhead), 125 kHz bandwidth, coding rate 4/5, and a 19 Ah D-size LiSOCl2 cell derated to 80 percent usable, with a 3 microamp sleep current and the cell's 1 percent per year self-discharge. They show how little the radio matters at low reporting rates and how much it matters as the interval shrinks.


Scenario

Airtime per uplink

Transmit charge per uplink

Node energy per year (excluding self-discharge)

Self-discharge per year

Computed life

Hourly, SF9, +14 dBm (44 mA)

about 247 ms

about 3.0 microamp-hours

about 58 mAh

about 190 mAh

far beyond shelf life

Every 5 minutes, SF10, +14 dBm

about 453 ms

about 5.5 microamp-hours

about 670 mAh

about 190 mAh

about 18 years

Every 5 minutes, SF10, +20 dBm (120 mA)

about 453 ms

about 15 microamp-hours

about 1,670 mAh

about 190 mAh

about 8 years

Every 5 minutes, SF12, +14 dBm

about 1,810 ms

about 22 microamp-hours

about 2,410 mAh

about 190 mAh

about 6 years

Three readings of the table matter. At hourly reporting, the model says the cell outlasts any realistic life, so the real limit is shelf life, temperature, seals, and the electronics, and a design life of 15 years is a choice and not a computation. At five-minute intervals, the choice of spreading factor and transmit power changes the life by a factor of three, which is a larger lever than any change of battery chemistry. And self-discharge, about 190 mAh a year for this cell, is a fixed tax that matters mainly at low reporting rates.

The script behind the table is short, and you should run it with your own measured figures instead of mine:

# lora_budget.py -- annual energy and life for a LoRa node on a primary cell
import math

def airtime_s(app_bytes, sf, bw=125e3, cr=1, preamble=8, overhead=13):
    pl = app_bytes + overhead
    tsym = (2 ** sf) / bw
    de = 1 if tsym > 0.016 else 0                    # low data rate optimisation
    n = 8 + max(math.ceil((8*pl - 4*sf + 28 + 16) / (4*(sf - 2*de))) * (cr + 4), 0)
    return (preamble + 4.25) * tsym + n * tsym

def life_years(interval_min, sf, tx_ma, app_bytes=20, cap_mah=19000, usable=0.8,
               sleep_ua=3, rx_mah=0.0005, sensor_mah=0.00008, selfdis_pct=1.0):
    n_per_day = 24 * 60 / interval_min
    tx_mah = tx_ma * airtime_s(app_bytes, sf) / 3600.0
    per_day = n_per_day * (tx_mah + rx_mah + sensor_mah) + sleep_ua / 1000.0 * 24
    per_year = per_day * 365 + cap_mah * selfdis_pct / 100.0
    return cap_mah * usable / per_year

print(life_years(5, 10, 44))    # about 18 years
print(life_years(5, 10, 120))   # about 8 years

Replace the receive and sensor terms with bench measurements. The receive windows after each uplink on a class A device cost more than most people expect when a gateway answers with downlinks, and a sensor that warms up for a second before sampling can outweigh the radio.


Lowering the burst current shrinks the capacitor, the passivation risk and the energy per uplink together.

Where Each Chemistry Wins


LiSOCl2 with a pulse element wins when the life target is long, the site is remote, and temperatures are extreme. Its very low self-discharge and wide temperature range suit field nodes that nobody wants to visit. The costs are the pulse-handling design, the transport rules for lithium metal cells above the shipping threshold, and the discipline of testing aged cells.


LiFeS2 AA cells win for the middle of the market. They tolerate the radio's bursts directly in most designs, work well in the cold, and come from many suppliers. Two cells in series give about 3 V, which suits sub-GHz radios and most microcontrollers directly. A boost converter lets you run from one cell and extends the useful discharge range, at the price of the converter's quiescent current, which must be low enough not to dominate a microamp sleep budget.


LiMnO2 cells win when a small, robust cell is needed and a five-year life is enough. They are available in compact cylindrical formats, handle moderate pulses, and cost less than LiSOCl2.


LiFePO4 with energy harvesting wins when the node reports often enough that a primary cell would not last, and a small solar panel can keep a rechargeable cell topped up. It handles bursts easily. The design burden shifts to charging: the charger must stop charging below about 0 C and above the maximum charge temperature, since charging a lithium cell outside its window damages it. A charge controller with a thermistor input and a temperature cutoff is part of the design, not an option.


Never put a rechargeable lithium cell on a node and charge it from a solar panel with no temperature gate. A cold morning with bright sun is exactly when a panel pushes current into a cell that cannot accept it.

Pulse Failures in the Field: Three Patterns


Three patterns account for most field failures traced to the power supply.

The winter reset. A node passes qualification in warm weather and begins resetting during transmit when temperatures drop. The cause is higher cell resistance at low temperature combined with a burst current that the cell could supply at room temperature. The diagnosis is a log of supply voltage minima around each transmission (a field-return unit with a scope or a voltage-capture routine tells the story), and the cure is a bigger pulse element or a lower burst.


The warehouse delay. Spare nodes assembled in a batch sit on a shelf for six months and fail on first power-up in the field, or run for days and then recover. The cause is passivation after storage. The cure is a production step that applies a depassivation load before shipping, a minimum-voltage hold-off in firmware that waits for the rail to recover before attempting a transmit, and an inventory policy that rotates stock.


The capacitor that ate the budget. A supercapacitor added to fix a reset problem has a leakage current of 10 microamps, which triples the node's sleep current and cuts its life by half. The cure is to measure leakage at temperature, choose a low-leakage part or an HLC, and include the capacitor's leakage in the budget.


A Water-Level Node in a Hot Climate


A representative composite, genericised: a node measures water level in open channels and reports every 15 minutes over LoRaWAN, with a design life of 10 years, in a region where daytime enclosure temperatures reach the low 70s Celsius under direct sun and winter nights drop to single digits.


The first design used a bare D-size bobbin LiSOCl2 cell and transmitted at +20 dBm for margin. Bench tests at room temperature passed. An environmental chamber test at 5 C after two weeks of storage showed brownouts during transmit on three of ten units, with supply minima near 2.1 V during the burst. The team had three levers. They could add a pulse capacitor, lower the transmit power, or switch to a hybrid cell.


They measured first. Dropping to +14 dBm cut the burst from 120 mA to about 44 mA and the brownouts disappeared at 5 C, but the link margin to the farthest gateway fell by 6 dB, and the two outer nodes of the network lost reliability. A hybrid cell solved the pulse problem entirely and cut capacity by roughly half or more for a similar body size, which still left over 10 years at 15-minute reporting on the budget. A bare cell with a 220 mF low-leakage capacitor also passed, at lower cost, but measured leakage at 70 C was higher than at room temperature and the enclosure's solar heating pushed it into the budget.


The decision: hybrid cells at the two outer nodes where +20 dBm was needed, and bare cells with a small capacitor and +14 dBm elsewhere, with the antennas of the outer nodes raised by two metres to recover a few decibels. The firmware added a supply-minimum log and a hold-off that delays transmission until the rail is above a safe threshold. The case shows the usual outcome of this kind of work: no single chemistry choice settled it, and the combination of radio settings, antenna placement, and pulse element did.


Reading a Cell Datasheet Like a Skeptic


Cell datasheets are written to sell cells, and the headline figures come from favourable conditions. A few habits separate useful reading from optimistic reading.

  • Find the test conditions behind every pulse figure. A maximum pulse current is quoted for a stated duration, temperature, and cut-off voltage, usually on a fresh cell. A 400 mA pulse to a 2.0 V cut-off on a new cell at 25 C is a different claim from a 120 mA pulse that must stay above 2.7 V on a cell stored for a year at minus 10 C.

  • Look for the voltage-versus-pulse-duration curves. Good datasheets plot terminal voltage against pulse length at several currents, and the curve shows how quickly the voltage recovers. A flat curve is what you want; a deep notch at the start is voltage delay.

  • Ask what "capacity" assumes. Capacity is quoted to a cut-off voltage at a stated current and temperature. A cell rated 19 Ah to 2.0 V at 2 mA delivers less to a 3.0 V cut-off at pulse loads.

  • Check storage and retention claims. Capacity retention after ten years of storage is a useful number, and the temperature it assumes matters. Self-discharge roughly doubles with every 10 degrees or so of temperature rise in many chemistries, which is why enclosures in hot climates deserve a derating.

  • Confirm certifications for transport and use. Lithium cells need transport testing documentation, and the paperwork must accompany the exact part number you buy.


Then qualify your own lot. A short incoming-inspection routine pays for itself: measure open-circuit voltage on a sample, apply a pulse profile that matches your node's burst after a conditioning rest, and record the minimum voltage. Keep the results by lot number, because a change in a supplier's process shows up as a change in that distribution before it shows up as a field failure. For a batch that will sit in inventory for months, repeat the pulse test on a sample at the end of the storage period, and again at the coldest temperature the product will see.

Hybrid cells at the outer nodes, bare cells elsewhere, and antennas two metres higher beat any single-chemistry answer.

When This Verdict Is Wrong

  • High reporting rates. A node that sends every 10 seconds spends most of its energy in the radio, and no primary cell serves it well for years. Use a rechargeable cell with harvesting, or mains power.

  • Very cold sites with no pulse element budget. At minus 30 C or below, cell resistance climbs steeply, and even a hybrid needs a test at the real temperature. LiFeS2 cells are often the more forgiving choice at the coldest sites.

  • Short product lives. If the product is replaced in three years, the cost and complexity of a LiSOCl2 and pulse-element design do not pay back. Two AA cells are fine.

  • Regulated shipping and storage constraints. A product that must travel by air in large volumes, or that is sold into channels with strict lithium handling rules, can find LiSOCl2's dangerous-goods classification a real cost. A cell with less than a gram of lithium metal may avoid some of the restrictions.

  • Where users replace batteries. Consumer-serviceable nodes should use cells people can buy, which points toward AA formats.


Choosing and Testing: A Short Plan

  1. Write down the life target, temperature range, and reporting profile, including the worst-case burst current and duration.

  2. Run the budget script with measured bench numbers for transmit, receive, sensing, and sleep, and note which term dominates.

  3. Shortlist two chemistries from the comparison above, then read the exact datasheets for pulse current, voltage delay behaviour, and temperature derating.

  4. Prototype the pulse path: measure the rail during a real burst with a scope, at room temperature, then in a chamber at the coldest site temperature, with cells that have rested for at least two weeks.

  5. Add firmware protection: log the minimum supply voltage around each transmit, hold off transmission when the rail is low, and report the minimum in telemetry so the field tells you about sag.

  6. Age a sample: store cells and populated boards at elevated temperature for a few weeks and retest, to catch passivation and capacitor leakage.

  7. Set production and logistics rules: depassivation or conditioning before shipment where the cell maker advises it, stock rotation, and shipping classification for lithium metal cells.

  8. Plan end of life: battery waste responsibility, collection, and the replacement procedure for the installed base.


What the Multimeter Cannot Show


A multimeter measures the sleep current, which is the number everyone quotes and the one that matters least once the node is reporting more than a few times a day. The number that decides whether the node survives the first cold week is a voltage minimum lasting a few hundred milliseconds, and the only instrument that sees it is a scope or a logger watching the rail through a transmit. Choose the chemistry by the average, then spend the afternoon with the scope.


EurthTech is an engineering-first product design and embedded systems company with a development center in Hyderabad. To discuss a project, write to connect@eurthtech.com or see https://www.eurthtech.com/case-studies.

Comments


EurthTech delivers AI-powered embedded systems, IoT product engineering, and smart infrastructure solutions to transform cities, enterprises, and industries with innovation and precision.

Factory:

Plot No: 41,
ALEAP Industrial Estate, Suramapalli,
Vijayawada,

India - 521212.

  • Linkedin
  • Twitter
  • Youtube
  • Facebook
  • Instagram

 

© 2025 by Eurth Techtronics Pvt Ltd.

 

Development Center:

4th Floor, Krishna towers, 100 Feet Rd, Madhapur, Hyderabad, Telangana 500081

Menu

|

Accesibility Statement

bottom of page