FPV Link Budget & Range Calculator · Schema
Raw schema.
Same JSON the GET /v1/drones-uav/fpv-link-budget-calculator/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.
{ "tool": "fpv-link-budget-calculator", "domain": "drones-uav", "version": "1.0.0", "name": "FPV Link Budget & Range Calculator", "description": "Compute theoretical and practical line-of-sight range for any FPV video or control link using the Friis equation. Accounts for TX power, antenna gains, receiver sensitivity, system losses and fade margin, plus 60% Fresnel zone clearance for long-range planning.", "standard": "Friis equation (ITU-R P.525)", "inputs": [ { "key": "tx_power_mw", "label": "Transmitter Power", "required": true, "unit": "mW", "help": "Common values: 25 mW (race / EU restricted), 200 mW (analog VTX low), 600 mW (DJI O3 max), 1000 mW (ELRS / Crossfire mid), 2500 mW (long-range).", "type": "number", "min": 0.1, "max": 50000, "step": 0.1, "default": 1000 }, { "key": "frequency_mhz", "label": "Frequency", "required": true, "help": "Lower frequency travels further at the same power. 900 MHz beats 5.8 GHz by ~16 dB of free-space loss at the same range.", "type": "enum", "options": [ "433", "868", "915", "1280", "2400", "5800" ], "default": "5800" }, { "key": "tx_antenna_gain_dbi", "label": "TX Antenna Gain", "required": true, "unit": "dBi", "help": "Stock dipole / linear: ~2 dBi. Pagoda: ~2.5 dBi. Patch (directional, not for craft side): ~8 dBi.", "type": "number", "min": 0, "max": 30, "step": 0.5, "default": 2 }, { "key": "rx_antenna_gain_dbi", "label": "RX Antenna Gain", "required": true, "unit": "dBi", "help": "Goggle dipole: 2 dBi. Patch: 8–14 dBi. Helical: 11–14 dBi. Use the directional antenna you'll actually aim at the craft.", "type": "number", "min": 0, "max": 30, "step": 0.5, "default": 8 }, { "key": "rx_sensitivity_dbm", "label": "Receiver Sensitivity", "required": true, "unit": "dBm", "help": "Analog VTX: −85 to −90. DJI O3: ~−105. HDZero: ~−97. ELRS @ 50 Hz: ~−112. ELRS @ 500 Hz: ~−105. Crossfire 150 Hz: ~−108.", "type": "number", "min": -130, "max": -50, "step": 1, "default": -100 }, { "key": "system_loss_db", "label": "System Loss", "required": true, "unit": "dB", "help": "Cable, connector, polarisation mismatch losses. 1–2 dB for short, well-made setups; 3–5 dB if cables are long or connectors marginal.", "type": "number", "min": 0, "max": 20, "step": 0.5, "default": 2 }, { "key": "fade_margin_db", "label": "Fade Margin", "required": true, "unit": "dB", "help": "Safety budget for multipath, atmospheric loss, and pilot orientation. 6 dB minimal, 10 dB sensible, 15+ dB for HD or BVLOS.", "type": "number", "min": 0, "max": 30, "step": 1, "default": 10 } ], "outputs": [ { "key": "tx_power_dbm", "label": "TX Power", "type": "number", "unit": "dBm", "precision": 1 }, { "key": "eirp_dbm", "label": "EIRP", "type": "number", "unit": "dBm", "precision": 1 }, { "key": "link_budget_db", "label": "Link Budget", "type": "number", "unit": "dB", "precision": 1 }, { "key": "theoretical_range_km", "label": "Theoretical Max Range (LOS)", "type": "number", "unit": "km", "precision": 2 }, { "key": "practical_range_km", "label": "Practical Range (with fade margin)", "type": "number", "unit": "km", "precision": 2 }, { "key": "fspl_at_practical_db", "label": "FSPL at Practical Range", "type": "number", "unit": "dB", "precision": 1 }, { "key": "fresnel_zone_radius_m", "label": "60% Fresnel Zone (midpoint)", "type": "number", "unit": "m", "precision": 1 }, { "key": "verdict", "label": "Verdict", "type": "string" } ], "endpoint": "/v1/drones-uav/fpv-link-budget-calculator" }