Bench Data

The calculator is a model. This page is not. Every number here was measured — builds weighed on a scale, timed with a stopwatch, current read off the onboard sensor. Five builds so far across two frame classes. The two 65mm builds were flown to a full discharge against a known-capacity anchor and their corrected figures are what QuadMath's 65mm estimates rest on. The three 75mm builds are provisional: none of their current sensors has been calibrated and no run was controlled, so their current and mAh figures are published raw — or, where a sensor read far off, not at all — and feed nothing.

65mm

BuildVideoAUWPackAvg currentFlight timeStyle
Air65 — VCI 0702 PRO DB 30000KV Analog25.42 gLAVA 300mAh 1S HV 4.2 A233 s (3:53)Cruise
Mobula6 2024 — Happymodel SE0702 28000KV HDZero27.73 gLAVA 300mAh 1S HV 6.3 A154 s (2:34)Cruise

Measured 2026-08-05. Both packs run 4.35 V down to roughly 3.3 V under load, delivering about 270 mAh of a nominal 300. Durations are stopwatch — no sensor caveats. Current figures carry roughly 8% uncertainty; see methodology for why.

75mm

BuildVideoAUWPackAvg currentFlight timeStyle
TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional Analog34.57 gBetaFPV 450mAh 1S HV 5.96 Araw, uncorrected 163 s (2:43) Freestylenot comparable to cruise
TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional Analog35.22 gBetaFPV 480mAh 1S HV 5.82 Araw, uncorrected 201 s (3:21) Freestylenot comparable to cruise
TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional Analog35.5 gweBLEEDfpv 450mAh 1S HV 5.86 Araw, uncorrected 269 s (4:29) Freestylenot comparable to cruise
Fractal 75 — RCinPower GTS V3 0802 25000KV Provisional Analog35.72 gweBLEEDfpv 450mAh 1S HV 4.32 Araw, uncorrected 327 s (5:27) Freestylenot comparable to cruise
Cockroach 75 — BetaFPV 0802 Champion (2026) 28000KV Provisional HDZero36.55 gweBLEEDfpv 450mAh 1S HV —not captured 164 s (2:44) Freestylenot comparable to cruise
Cockroach 75 — BetaFPV 0802 Champion (2026) 28000KV Provisional HDZero36.34 gweBLEEDfpv 450mAh 1S HV —discarded 181 s (3:01) Freestylenot comparable to cruise

The first two TreeTopper rows were measured 2026-08-13; the rest 2026-09-04. Durations and weights are sound — stopwatch and scale, same as the 65mm builds. The current column is not: none of these sensors has been run against a full-discharge anchor, so there is no correction factor and no uncertainty figure to quote. The Cockroach 75's sensor read so far off on run 2 that those figures were discarded, and run 1's were not captured. Every run was also uncontrolled — the 2026-08-13 runs started undercharged with different cutoffs, and all of them are freestyle on a throttle profile that does not repeat — so no two rows are a pack or build comparison. Full records and caveats: TreeTopper 75, Fractal 75, Cockroach 75.

What HDZero Costs

Same frame class, same pack, same Gemfan 1219 3-blade props. The only meaningful difference between these two builds is the video system and motor spec — and the digital build gives up a third of its flight time for the picture.

DeltaAnalog (Air65)HDZero (Mobula6)Cost of digital
Dry weight17.22 g19.53 g+2.31 g
AUW25.42 g27.73 g+9.1%
Avg current, cruise4.2 A6.3 A+50%
Flight time, cruise233 s154 s−79 s (−34%)

The current delta is bigger than the weight delta alone predicts — the HDZero VTX draws its own supply on top of what the heavier build asks from the motors. Full write-up: HDZero vs analog — what video weight costs in flight time.

Air65 Analog — Full Record

MotorsVCI 0702 PRO DB, 30000KV, 1.0mm shaft
PropsGemfan 1219 3-blade, 31mm, 1.0mm shaft
PackBetaFPV LAVA 300mAh 1S LiHV, BT2.0
Dry weight17.22 g
Pack weight8.2 g (measured, n=2: 8.14, 8.21)
AUW25.42 g
FirmwareBetaflight — PIDs/rates per tune database entry
RunDateTypeDurationStart VCutoff V (load)mAh (corrected)Avg A (corrected)
12026-08-05Cruise233 s4.363.282704.2

Onboard current sensor reads about 20% cold out of the box — raw OSD showed 217 mAh for a run that delivered roughly 270. Correction factor 1.24, anchored to a full discharge. Slow cruise pace throughout. Raw record: air65-analog-vci0702-30k.json. Pending: hover run, repeat cruise, rest-voltage logging, top speed in calm air.

Mobula6 2024 HDZero — Full Record

MotorsHappymodel SE0702, 28000KV, 1.5mm shaft
PropsGemfan 1219 3-blade, 31mm, 1.5mm shaft
PackBetaFPV LAVA 300mAh 1S LiHV, BT2.0
Dry weight19.53 g
Pack weight8.2 g (measured, n=2: 8.14, 8.21)
AUW27.73 g
FirmwareBetaflight — PIDs/rates per tune database entry
RunDateTypeDurationStart VCutoff V (load)mAh (corrected)Avg A (corrected)
12026-08-05Cruise154 s4.353.352706.3

Opposite sensor problem to the Air65 — this one reads about 25% hot. Raw OSD claimed 340 mAh from a 300 mAh pack; correction factor 0.79. OSD also showed 4.15 V at plug-in against a true 4.35 (connector drop plus ADC offset). Slow cruise pace. Raw record: mobula6-2024-hdzero-se0702-28k.json. Pending: hover run, repeat cruise, rest-voltage logging, top speed in calm air. Build write-up: 65mm SE0702 + Gemfan 1219 build guide.

TreeTopper 75 Analog — Full Record Provisional

Uncalibrated sensor, uncontrolled runs. The mAh figures in this section are raw OSD readings, and Avg A and mAh/min are worked out from them and the stopwatch time. None has been corrected, because there is nothing to correct it against — this build has never been flown to a full discharge, so it has no anchor and no correction factor. The two 65mm builds read 20% cold and 25% hot out of the box; assume an error of that order here until it is measured. All three runs were uncontrolled: runs 1 and 2 started undercharged with mismatched cutoffs, and every run used a freestyle throttle profile that does not repeat. The runs are therefore not a pack A/B comparison, and this build feeds no calculator estimate.

MotorsweBLEEDfpv Treetoppers 0802, 32500KV, 1.5mm knurled shaft
PropsGemfan 1610 bi-blade, 40mm, 1.5mm shaft
Flight controllerNewBeeDrone
PacksBetaFPV 450mAh 1S LiHV BT2.0 (11.97 g) · BetaFPV 480mAh 1S LiHV BT2.0 (12.61 g), both measured n=1 · weBLEEDfpv 450mAh 1S LiHV (12.8 g in the record, derived, not weighed on its own)
Dry weight22.60 g (measured props-on, kitchen scale) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware
AUW34.57 g on the BetaFPV 450, 35.22 g on the 480 — derived, dry + pack. An independent scale reading of each agrees within 0.01 g. 35.5 g on the weBLEEDfpv 450 (2026-09-04) — a scale reading; dry + 12.8 g gives 35.4, and the record notes the dry weight may have shifted since 08-13.
ConnectorsQuad wired A30, packs are BT2.0 — flown through an A30↔BT2.0 adapter. Adapter mass is included in the weights above; the extra contact resistance is not accounted for anywhere.
FirmwareBetaflight — PIDs/rates not yet logged to the tune database
RunDateTypePackAUWDurationStart VCutoff V (load)mAhAvg AmAh/min
12026-08-13 Freestylenot comparable to cruise BetaFPV 450mAh34.57 g 163 s4.103.50 270raw, uncorrected 5.96raw, uncorrected 99.4raw, uncorrected
22026-08-13 Freestylenot comparable to cruise BetaFPV 480mAh35.22 g 201 s4.253.36 325raw, uncorrected 5.82raw, uncorrected 97.0raw, uncorrected
32026-09-04 Freestylenot comparable to cruise weBLEEDfpv 450mAh35.5 g 269 s4.353.40 438raw, uncorrected 5.86raw, uncorrected 97.7raw, uncorrected

Run 1 started at 4.10 V against a 4.35 V LiHV full charge and pulled roughly 60% of rated capacity; run 2 started at 4.25 V, ran to a deeper cutoff, and pulled roughly 68%. Run 3 started from a full 4.35 V on a weBLEEDfpv 450, indoors at 79 °F, landed at 3.40 V, and its raw count is 97% of rated capacity — the record advises a puff check on that pack. None is a discharge curve. Durations and weights carry no sensor caveat and stand on their own. Raw record: treetopper75-analog-0802-32500k.json. Pending: current sensor calibration against a full-discharge anchor, matched-condition A/B (same charge state, same cutoff, same profile), n=3 per pack, a controlled cruise run, rest-voltage logging.

Fractal 75 Analog — Full Record Provisional

Uncalibrated sensor, uncontrolled run. The mAh figure in this section is the raw OSD reading; Avg A and mAh/min are worked out from it and the stopwatch time, so all three carry the same uncorrected sensor error. This build has never been flown to a full discharge, so it has no anchor and no correction factor. The 65mm sensors read 20% cold and 25% hot out of the box; nothing bounds this one. One freestyle run, on a throttle profile that does not repeat. It feeds no calculator estimate.

MotorsRCinPower GTS V3 0802, 25000KV, 1.5mm shaft
PropsGemfan 1610 bi-blade, 40mm, 1.5mm shaft
Flight controllerBetaFPV 5-in-1
PackweBLEEDfpv 450mAh 1S LiHV — 12.8 g in the record, derived (all-up minus dry), not weighed on its own
Dry weight22.9 g (measured earlier, props-on; date not recorded) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware
AUW35.72 g — kitchen scale, pack on, 2026-09-04
FirmwareBetaflight
RunDateTypePackAUWDurationStart VCutoff V (load)mAhAvg AmAh/min
12026-09-04 Freestylenot comparable to cruise weBLEEDfpv 450mAh35.72 g 327 s4.353.40 392raw, uncorrected 4.32raw, uncorrected 71.9raw, uncorrected

Full 4.35 V LiHV start, landed at 3.40 V under load, indoors at 79 °F. The raw OSD count is 87% of rated capacity. Durations and weights carry no sensor caveat. Raw record: fractal75-analog-rcinpower0802-25k.json. Pending: current sensor calibration against a full-discharge anchor, n=3 matched-condition runs, a controlled cruise run, rest-voltage logging.

Cockroach 75 HDZero — Full Record Provisional

Miscalibrated sensor, uncontrolled runs. On run 2 this build's current sensor read 542 mAh on a 450 mAh pack and an 18 A peak, so run 2's current and mAh readings were discarded rather than published raw; run 1's were never captured. The record has no current or mAh figure for either run. Both runs were freestyle on a throttle profile that does not repeat. Durations and weights stand on their own; this build feeds no calculator estimate.

MotorsBetaFPV 0802 Champion (2026), 28000KV, 1.5mm shaft
PropsGemfan 1610 bi-blade, 40mm, 1.5mm shaft
Flight controllerHDZero AIO5, flashed with the Happymodel CrazyBee F4 SX1280 target
PackweBLEEDfpv 450mAh 1S LiHV — 12.8 g in the record, derived from run 2's all-up minus dry, not weighed on its own
Dry weight23.56 g (measured earlier, props-on; date not recorded) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware
AUW36.34 g — kitchen scale, pack on, 2026-09-04, n=1. The record also gives 36.55 g for run 1 without saying how it was weighed.
FirmwareBetaflight — wobble at pack start reported, tune pending
RunDateTypePackAUWDurationStart VCutoff V (load)mAhAvg AmAh/min
12026-09-04 Freestylenot comparable to cruise weBLEEDfpv 450mAh36.55 g 164 s4.353.40unconfirmed, see note —not captured —not captured —not captured
22026-09-04 Freestylenot comparable to cruise weBLEEDfpv 450mAh36.34 g 181 s4.353.40 —discarded —discarded —discarded

Both runs started from a full 4.35 V LiHV charge, indoors at 79 °F. The record gives a 3.40 V landing under load for both, but run 1's notes also say its cutoff and mAh were not captured, so that landing figure is unconfirmed. Raw record: cockroach75-hdzero-champion0802-28k.json. Pending: fix current_meter_scale before any current data is kept, then a full-discharge anchor; n=3 matched-condition runs; a controlled cruise run; rest-voltage logging; a PID tune for the start-of-pack wobble.

Methodology

Whoop-scale current sensors are not trustworthy out of the box — one 65mm build read 20% cold, the other 25% hot. The policy is that every current and mAh figure gets corrected against a full-discharge anchor before it is published.

Three builds on this page do not meet that bar yet. None of the 75mm builds has been flown to a full discharge, so none has an anchor, a correction factor, or an uncertainty figure. The choice there is publish raw or withhold, and withholding is the worse of the two — a missing build teaches nothing, while a flagged one still carries usable durations and weights. So they are published raw, except where the record judges a sensor grossly miscalibrated (the Cockroach 75, which read 542 mAh on a 450 mAh pack and an 18 A peak on run 2), and those figures are dropped instead. Every uncorrected figure is marked Provisional on the row, rendered in amber with a "raw, uncorrected" marker on the cell, and spelled out in full under the build's own record. Provisional builds are excluded from cross-build comparisons and never feed a calculator estimate. They lose the flag when the sensor is calibrated and the runs are re-flown controlled — not before.

WeightsKitchen scale, measured per component. 65mm pack weight averaged over two packs; 75mm pack weights are per pack, measured or derived (all-up minus dry) as each record says.
DurationStopwatch, plug-in to landing at load cutoff. No sensor involved — no correction needed.
Discharge window65mm anchor builds: 4.35 V LiHV full charge down to ~3.3 V under load, assumed 270 mAh delivered of a nominal 300.
Current correctionFull-discharge anchor (the 65mm builds): raw OSD mAh scaled so the run totals the assumed 270 mAh delivered. Per-build correction factor stored in the raw JSON. A null factor means no anchor run exists — that build is provisional and its figures are raw, or dropped where the record found the sensor miscalibrated.
Controlled runsSame charge state, same cutoff, repeatable throttle profile. A run failing any of those is marked "controlled": false in the raw JSON and cannot be compared against another run.
UncertaintyRoughly ±8% on corrected current and mAh figures, driven by the assumed delivered capacity. Raw figures on provisional builds carry no stated uncertainty — the sensor error is unmeasured. The two calibrated 65mm builds read 20% cold and 25% hot; that is an example of the spread, not a bound on it. Durations and weights carry no such caveat on any build.
Flight styleCruise — slow, steady laps — is the only style with anchor-grade data behind it. Hover pending. Freestyle numbers now exist on the 75mm builds, but they are provisional and anchor nothing. A freestyle run is shorter than a cruise run on the same build, so freestyle and cruise durations are marked on the cell and never compared on this page.

When your inputs in the calculator match one of the calibrated builds, it swaps its estimate for the measured number. Provisional builds are not wired in — none of the 75mm builds changes an estimate. Everything on this page is reproducible from the raw JSON in data/bench/. More builds get added as they cross the bench.