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.

fpv-link-budget-calculator.schema.json
{
  "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"
}