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.
| Build | Video | AUW | Pack | Avg current | Flight time | Style |
|---|---|---|---|---|---|---|
| Air65 — VCI 0702 PRO DB 30000KV | Analog | 25.42 g | LAVA 300mAh 1S HV | 4.2 A | 233 s (3:53) | Cruise |
| Mobula6 2024 — Happymodel SE0702 28000KV | HDZero | 27.73 g | LAVA 300mAh 1S HV | 6.3 A | 154 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.
| Build | Video | AUW | Pack | Avg current | Flight time | Style |
|---|---|---|---|---|---|---|
| TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional | Analog | 34.57 g | BetaFPV 450mAh 1S HV | 5.96 Araw, uncorrected | 163 s (2:43) | Freestylenot comparable to cruise |
| TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional | Analog | 35.22 g | BetaFPV 480mAh 1S HV | 5.82 Araw, uncorrected | 201 s (3:21) | Freestylenot comparable to cruise |
| TreeTopper 75 — weBLEEDfpv Treetoppers 0802 32500KV Provisional | Analog | 35.5 g | weBLEEDfpv 450mAh 1S HV | 5.86 Araw, uncorrected | 269 s (4:29) | Freestylenot comparable to cruise |
| Fractal 75 — RCinPower GTS V3 0802 25000KV Provisional | Analog | 35.72 g | weBLEEDfpv 450mAh 1S HV | 4.32 Araw, uncorrected | 327 s (5:27) | Freestylenot comparable to cruise |
| Cockroach 75 — BetaFPV 0802 Champion (2026) 28000KV Provisional | HDZero | 36.55 g | weBLEEDfpv 450mAh 1S HV | —not captured | 164 s (2:44) | Freestylenot comparable to cruise |
| Cockroach 75 — BetaFPV 0802 Champion (2026) 28000KV Provisional | HDZero | 36.34 g | weBLEEDfpv 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.
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.
| Delta | Analog (Air65) | HDZero (Mobula6) | Cost of digital |
|---|---|---|---|
| Dry weight | 17.22 g | 19.53 g | +2.31 g |
| AUW | 25.42 g | 27.73 g | +9.1% |
| Avg current, cruise | 4.2 A | 6.3 A | +50% |
| Flight time, cruise | 233 s | 154 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.
| Motors | VCI 0702 PRO DB, 30000KV, 1.0mm shaft |
| Props | Gemfan 1219 3-blade, 31mm, 1.0mm shaft |
| Pack | BetaFPV LAVA 300mAh 1S LiHV, BT2.0 |
| Dry weight | 17.22 g |
| Pack weight | 8.2 g (measured, n=2: 8.14, 8.21) |
| AUW | 25.42 g |
| Firmware | Betaflight — PIDs/rates per tune database entry |
| Run | Date | Type | Duration | Start V | Cutoff V (load) | mAh (corrected) | Avg A (corrected) |
|---|---|---|---|---|---|---|---|
| 1 | 2026-08-05 | Cruise | 233 s | 4.36 | 3.28 | 270 | 4.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.
| Motors | Happymodel SE0702, 28000KV, 1.5mm shaft |
| Props | Gemfan 1219 3-blade, 31mm, 1.5mm shaft |
| Pack | BetaFPV LAVA 300mAh 1S LiHV, BT2.0 |
| Dry weight | 19.53 g |
| Pack weight | 8.2 g (measured, n=2: 8.14, 8.21) |
| AUW | 27.73 g |
| Firmware | Betaflight — PIDs/rates per tune database entry |
| Run | Date | Type | Duration | Start V | Cutoff V (load) | mAh (corrected) | Avg A (corrected) |
|---|---|---|---|---|---|---|---|
| 1 | 2026-08-05 | Cruise | 154 s | 4.35 | 3.35 | 270 | 6.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.
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.
| Motors | weBLEEDfpv Treetoppers 0802, 32500KV, 1.5mm knurled shaft |
| Props | Gemfan 1610 bi-blade, 40mm, 1.5mm shaft |
| Flight controller | NewBeeDrone |
| Packs | BetaFPV 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 weight | 22.60 g (measured props-on, kitchen scale) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware |
| AUW | 34.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. |
| Connectors | Quad 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. |
| Firmware | Betaflight — PIDs/rates not yet logged to the tune database |
| Run | Date | Type | Pack | AUW | Duration | Start V | Cutoff V (load) | mAh | Avg A | mAh/min |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-08-13 | Freestylenot comparable to cruise | BetaFPV 450mAh | 34.57 g | 163 s | 4.10 | 3.50 | 270raw, uncorrected | 5.96raw, uncorrected | 99.4raw, uncorrected |
| 2 | 2026-08-13 | Freestylenot comparable to cruise | BetaFPV 480mAh | 35.22 g | 201 s | 4.25 | 3.36 | 325raw, uncorrected | 5.82raw, uncorrected | 97.0raw, uncorrected |
| 3 | 2026-09-04 | Freestylenot comparable to cruise | weBLEEDfpv 450mAh | 35.5 g | 269 s | 4.35 | 3.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.
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.
| Motors | RCinPower GTS V3 0802, 25000KV, 1.5mm shaft |
| Props | Gemfan 1610 bi-blade, 40mm, 1.5mm shaft |
| Flight controller | BetaFPV 5-in-1 |
| Pack | weBLEEDfpv 450mAh 1S LiHV — 12.8 g in the record, derived (all-up minus dry), not weighed on its own |
| Dry weight | 22.9 g (measured earlier, props-on; date not recorded) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware |
| AUW | 35.72 g — kitchen scale, pack on, 2026-09-04 |
| Firmware | Betaflight |
| Run | Date | Type | Pack | AUW | Duration | Start V | Cutoff V (load) | mAh | Avg A | mAh/min |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-09-04 | Freestylenot comparable to cruise | weBLEEDfpv 450mAh | 35.72 g | 327 s | 4.35 | 3.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.
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.
| Motors | BetaFPV 0802 Champion (2026), 28000KV, 1.5mm shaft |
| Props | Gemfan 1610 bi-blade, 40mm, 1.5mm shaft |
| Flight controller | HDZero AIO5, flashed with the Happymodel CrazyBee F4 SX1280 target |
| Pack | weBLEEDfpv 450mAh 1S LiHV — 12.8 g in the record, derived from run 2's all-up minus dry, not weighed on its own |
| Dry weight | 23.56 g (measured earlier, props-on; date not recorded) — frame, motors, FC, camera, VTX, antenna, canopy, props, hardware |
| AUW | 36.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. |
| Firmware | Betaflight — wobble at pack start reported, tune pending |
| Run | Date | Type | Pack | AUW | Duration | Start V | Cutoff V (load) | mAh | Avg A | mAh/min |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-09-04 | Freestylenot comparable to cruise | weBLEEDfpv 450mAh | 36.55 g | 164 s | 4.35 | 3.40unconfirmed, see note | —not captured | —not captured | —not captured |
| 2 | 2026-09-04 | Freestylenot comparable to cruise | weBLEEDfpv 450mAh | 36.34 g | 181 s | 4.35 | 3.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.
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.
| Weights | Kitchen 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. |
| Duration | Stopwatch, plug-in to landing at load cutoff. No sensor involved — no correction needed. |
| Discharge window | 65mm anchor builds: 4.35 V LiHV full charge down to ~3.3 V under load, assumed 270 mAh delivered of a nominal 300. |
| Current correction | Full-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 runs | Same 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. |
| Uncertainty | Roughly ±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 style | Cruise — 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.