How we test batteries
Every battery on this site went through the same automated test on our discharge bench. Every published value comes from measuring the actual pack – nothing is taken from the manufacturer or derived from datasheets. C figures are referenced to the label capacity: C × label capacity in Ah gives amps directly, exactly how every pilot works with a C rating. An inflated label therefore does not help a battery here – the more capacity the maker invents, the lower the C that comes out of the same measured current.
The discharge bench
Rotorama's own discharge bench is a current-regulated resistive load. Its range is 0.3 to 120 A, covering everything from slow whoop-pack discharges to load tests of large packs.
Cell voltages are measured from the balance connector, which carries no current – a four-wire measurement that, unlike the main-lead voltage, is not distorted by drops across cables, connector or shunt. Internal resistance and peak C are therefore computed from cell voltages: at 70 A the cabling drop approaches 0.5 V and a pack would score far worse than it really is if measured through it. The main-lead voltage is used only differentially – to determine how fast resistance grows in the first fraction of a second under load.
Temperature is read by a probe on the pack body. Logging continues long after the load disconnects, because heat originates inside the cells and reaches the surface with a delay – the temperature peak arrives minutes after the discharge ends.
The test flow: two phases
A fixed set of rates identical for every battery makes no sense: on a stiff racing pack it would never reach the limits (they sit much higher), and it could damage an older or softer pack. Testing therefore runs in two phases, with the second phase prescribed individually for each pack from the results of the first.
| Run | Load | Purpose |
|---|---|---|
| 1. Reference discharge | 1C (Li-ion 0.5C) | real capacity and energy, label honesty, the reference curve for heat-loss calculation |
| 2. Mid rate | 15C (Li-ion 2C) | behaviour under ordinary flight load, first thermal point for continuous C |
| 3. Hard rate | 30C (Li-ion 5C) | behaviour at the edge of normal use, second thermal point |
| 4. Validation run | prescribed rate (typically 40–55C) | a full discharge chosen so heating exceeds the +35 K limit – continuous C is then read between two measurements instead of beyond them |
| 5. 50 % SOC preparation | discharge the prescribed mAh, then rest | resting voltage and internal resistance of every cell at half charge – the reference point for peak C |
| 6. Punch | prescribed current for 10 s | cell resistance under full load, minimum voltage, recovery – the basis of peak C |
After the first three runs are uploaded, the analysis computes two prescriptions: the validation-run rate (so that this particular pack exceeds the thermal limit by just a few kelvin) and the punch current (100 % of the measured current the pack demonstrably holds through a burst; 80 % of the 3-second limit for a first set without a punch). Every battery is thus loaded equally relative to its own ability – the only way to compare numbers fairly without damaging soft packs or measuring nothing on stiff ones.
Small 1S packs (whoop): a different class, a different test
Single-cell packs for tiny whoops and toothpicks (LiPo and LiHV, typically 300–800 mAh) are tested by a different methodology than multi-cell packs. The class is recognised by the cell count – any battery with one cell, LiPo or LiHV – and has just two runs, both from full charge to the 3.10 V cutoff with 300 s of recovery:
| Run | Load | Purpose |
|---|---|---|
| 1. Reference discharge | 10C of label | capacity and energy “at 10C”, label honesty, the reference curve |
| 2. Load discharge | 30C of label | the curve you compare, voltage under load at half capacity, internal resistance |
No C ratings are published for this class – neither continuous nor peak – and no punch is run. Three reasons, all measured: the load on a whoop is set by the quad and its connector (BT2.0 ≈ 15 A), not by the pack, so a “peak C” would rate something the pilot never uses; a 7–13 g pack has no usable thermal signature under a probe of comparable mass (30C generates ~40 K of heat, the probe sees 17–22 K and cooling dominates), so a +35 K continuous rating would stay provisional forever; and a 1S pack has no balance lead, so the only available voltage is the bench's pack channel including adapter, connector and shunt – an extrapolation from resistance would measure the cable. Capacity is referenced to the 10C run instead of 1C: a whoop never sees 1C, the run takes six minutes, and the bench's 0.3 A floor makes 1C on a 300 mAh pack a marginal measurement.
Published instead of C ratings:
- Capacity and energy at 10C with label honesty, energy density Wh/kg (packs are weighed with their connector – a gram is 5–8 % of a whoop's all-up weight) and the energy/price ratio.
- Voltage under load at 50 % SOC – the pack voltage at 30C at the moment it has delivered half its capacity; the “mid-flight voltage” the pilot feels on the throttle. Higher is better; compare only between 1S packs measured on the same adapter.
- Capacity at the top rate – the share of the reference capacity delivered at 30C. Higher is better; a low value means the pack effectively shrinks when flown hard.
- Internal resistance incl. leads – DC-IR from the three-second load step of the 30C run, measured on the pack channel, i.e. including adapter and leads. Lower is better, but the figure compares only between 1S packs, never with the four-wire values of multi-cell packs.
- Both discharge curves – the main tool of this class: compare the voltage profile at 30C between packs.
Temperature is a safety readout only for this class (probe peak, warning above 60 °C). In the comparison, 1S packs are compared exclusively with each other – they share a chemistry with multi-cell packs but not a test set.
Measurement conditions
- Set currents and published C are both referenced to the label capacity – two samples of the same product always get identical settings, and C × mAh gives amps directly. An inflated label proportionally lowers every C figure.
- The temperature probe always sits in the same spot – mid-pack between the centre cells, under foam insulation, so it reads the pack and not the surrounding air. A different probe position would make packs incomparable.
- Still air, no forced cooling, the pack not resting on a metal surface. Cooling that cannot be reproduced would otherwise end up in the rating.
- After load tests, temperature is logged for at least another 600 s. The heating peak arrives minutes after load-off and skipping it would overstate continuous C.
- Start at room temperature (15–35 °C). Heating is always counted against the pack's own starting temperature, so workshop temperature does not affect the result.
Parameters: what they mean and how to read them
Measured capacity (mAh) and energy (Wh)
Capacity and energy actually delivered in the reference discharge down to the cell cutoff. Higher is better; energy also reflects voltage, so two packs of equal capacity can differ in energy.
Capacity honesty (%)
Measured capacity divided by the label. 95–105 % corresponds to an honest label; below 90 % means a substantially overstated one. Because C figures are computed from the label, a dishonest label also lowers all the pack's C ratings.
Peak C (C)
The highest instantaneous current the pack sustains without its weakest cell dropping below 3.30 V (Li-ion 2.50 V), converted to multiples of label capacity. It is the measured replacement for the label rating, and the difference is usually large: real peak C of FPV packs lands around 25–60 % of the claimed value. Higher is better; compare only within the same chemistry.
Continuous C (C)
The load at which the pack heats up by exactly +35 K above its own starting temperature over a full discharge. No standard defines continuous C for hobby packs, so the value is always published together with its definition. Higher is better; the peak/continuous pair tells you what the pack handles momentarily and what it sustains for a whole flight.
+35 K in practice means the pack reaching roughly 60 °C, generally considered the upper bound of safe use; beyond it looms permanent damage or thermal runaway. It is measured in still air with no cooling flow – in flight, with good airflow, you may do better, but for consistent comparison we test in the worst reproducible conditions.
Continuous C per kilogram (C/kg)
Continuous C divided by pack mass in kilograms – the racer metric: the lightest pack with the most sustained power scores highest. Higher is better; most meaningful between packs of similar capacity.
Internal resistance (mΩ) – worst cell and average
Cell resistance determines how much voltage drops with every ampere of load. It is measured per cell from the balance connector, at 50 % charge and a three-second pulse (a figure without pulse length attached cannot be compared – resistance grows with load duration). Lower is better. The whole pack's load capability is set by its weakest cell – it reaches the limit first.
Specific resistance (mΩ·Ah)
Worst-cell resistance multiplied by measured capacity. Dividing out the size effect makes cells comparable across capacities – a whoop pack can be measured directly against a 6S. Lower is better; on 6S FPV packs, below 8 is excellent, around 10 average, above 15 below par.
Heat losses (%)
The share of energy converted to heat instead of propulsion (in the 15C test). Computed from the area between the reference and loaded discharge curves, so it captures every loss mechanism. Lower is better; single-digit percentages are fine, values over 10 % mean losses are becoming the main limitation.
Min. cell voltage during punch (V)
The lowest voltage of the weakest cell during the ten-second punch. Higher is better, but read it together with the punch current – the punch is prescribed per pack (see above), so a stiffer pack holds its minimum at a much higher current.
Punch voltage recovery (mV)
How far the weakest cell's voltage climbs back from its deepest sag to the end of the punch. Weak, tired packs sag deepest right at the start and never recover; healthy cells warm up during the burst, their resistance drops and voltage partly returns. Higher is better.
Mass (g) and dimensions
Mass including leads and connector – the way the pack actually flies. It feeds all per-kilogram metrics.
Energy density (Wh/kg)
Reference energy per kilogram. Current FPV LiPos sit around 120–160 Wh/kg; higher energy density usually costs load capability (the eternal energy-vs-power tradeoff), so read it together with continuous C or C/kg.
Energy/price ratio (Wh/1000 Kč)
Actually delivered energy per thousand crowns. An objective price metric – a pack with an inflated label sinks in it regardless of its nominal price. Higher is better.
The calculations in depth
Capacity, energy, internal resistance
Capacity and energy — integration of measured current (and power U·I) over time during the reference discharge from full charge to the cell cutoff (3.10 V LiPo, 2.50 V Li-ion; the same cutoff applies to every test of the pack).
Internal resistance — Ri = ΔU / ΔI at a load step, evaluated per cell from balance-connector voltages (four-wire, no cabling drop). The reported value corresponds to 50 % charge and a three-second pulse.
Peak C – the full procedure
The inputs come from the 50 % SOC preparation and the punch:
- Urest,i – each cell's resting voltage at half charge, read after a long rest;
- Ri – each cell's three-second resistance from the punch load-on;
- k – the ratio of instantaneous (~0.3 s) to three-second resistance, obtained differentially from the fast main-lead channel (lead resistance removed) and clamped to 0.4–1.0.
For every cell, the current at which that cell sags exactly to Ufloor = 3.30 V (Li-ion 2.50 V):
Ii = (Urest,i − Ufloor) / (k · Ri)
The weakest cell limits the pack: Imax = min(Ii). Peak C = Imax / label capacity [Ah].
The 3.30 V floor is not a safety limit but the definition of a usable burst: below it voltage collapses, power vanishes, and you are flying on voltage you do not have.
Cell resistance is not a single number – it grows with pulse length (polarization) and falls as the cells warm up. We therefore publish the whole bracket: the instantaneous figure (~0.3 s, the headline peak C), the three-second one, and “burst hold” – the current the pack sustains even at the worst instant of the whole punch (typically 6–10 s in, where SOC droop and polarization meet before self-heating can compensate):
Illustrative data: the steeper the voltage drop per ampere (higher resistance), the sooner the line crosses 3.30 V and the lower the resulting current.
The punch directly validates this prediction. Its prescribed current is 100 % of the measured burst-hold limit, so the weakest cell should touch ~3.30 V during the burst. If it holds higher, the pack is better than previously measured – and the next punch moves the limit up. The prediction sharpens with every set and never rests on extrapolation alone.
Continuous C – the full procedure
Each full discharge yields a heating figure ΔT = the temperature peak over the whole record (including at least 600 s of recovery – the peak arrives minutes after load-off) minus the pack's starting temperature. Together they form a ladder of points [actual C; ΔT].
The one and only final method is interpolation between the two measurements bracketing the limit – the hottest run under +35 K and the gentlest run over it (which is what the validation run is for; its rate is prescribed to overshoot the limit by ~5 K):
Ccont = Cbelow + (35 − ΔTbelow) · (Cabove − Cbelow) / (ΔTabove − ΔTbelow)
Illustrative data: the +35 K limit falls between the 30C run and the 46C validation run; continuous C is read off the line connecting those two measurements.
Why not a straight line through all the points at once: ΔT vs C is not linear over a wide range (the ladder is visibly concave – warm cells have lower resistance, and longer gentle runs manage to shed part of their heat). A global model would make the result depend on the choice of model; interpolating between two adjacent measurements needs no model at all, and its error is bounded by the spacing of the measurements.
- Until the validation run exists (all measurements below the limit), the value is published only as provisional: an extrapolation from the two highest points, capped at 1.25× the highest tested rate, and the analysis prescribes the validation run.
- Without a bracket or a meaningful extrapolation, no value is published at all – better no number than an unsupported one. The analysis explains why and prescribes the run that fixes it.
- The value is additionally capped at the rate where the pack still delivered at least 80 % of its reference capacity without overheating – a pack that cannot deliver its capacity at a rate does not sustain that rate, whatever its temperature does.
Other calculations
Heat losses — heat from the energy balance of discharge curves: Q = ∫(Uref(q) − Uload(q))·dq, the area between the reference curve and the loaded curve over delivered charge. Every loss mechanism is captured (ohmic, polarization, end-of-discharge resistance rise). Losses [%] = Q / (Q + delivered energy).
Specific resistance — worst-cell Ri [mΩ] × measured capacity [Ah].
Energy density — measured energy [Wh] / mass including leads [kg].
Continuous C per kilogram — continuous C / mass [kg].
Energy/price ratio — measured energy [Wh] / price [thousand CZK].
How to read the comparison
Differences up to roughly 10 % between two packs fall within measurement repeatability – treat them as a tie, not a ranking. Individual values may carry notices; they mean the metric was measured with limited accuracy, and the reason is always stated.
Only batteries of the same chemistry can be compared. LiPo and Li-ion are discharged at different rates and peak C is computed against a different floor (3.30 vs. 2.50 V per cell) – the site therefore does not offer cross-chemistry comparison at all.
Battery Benchmark