{
  "slug": "drone-flight-time",
  "title": "Drone Flight Time Calculator",
  "heading": "Drone Flight Time & Coverage Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/drone-flight-time",
  "summary": "Battery endurance, batteries needed, and acreage per flight.",
  "description": "Real drone endurance is well below the spec sheet once you account for the reserve you should never dip into, wind, and payload. This estimates usable flight time and how many batteries a mapping or inspection job actually needs.",
  "formula": "Flight min = (battery mAh ÷ 1000) × usable ÷ average draw (A) × 60, derated for wind and payload.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=drone-flight-time",
  "inputs": [
    {
      "id": "capacity",
      "label": "Battery capacity",
      "kind": "number",
      "hint": null,
      "default": 5000,
      "unit": "mAh",
      "min": 100,
      "max": null
    },
    {
      "id": "draw",
      "label": "Average current draw",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "A",
      "min": 0.5,
      "max": null
    },
    {
      "id": "reserve",
      "label": "Reserve you won't use",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": "%",
      "min": 0,
      "max": 60
    },
    {
      "id": "payload",
      "label": "Extra payload",
      "kind": "number",
      "hint": null,
      "default": 0,
      "unit": "g",
      "min": 0,
      "max": null
    },
    {
      "id": "wind",
      "label": "Wind speed",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "mph",
      "min": 0,
      "max": 40
    },
    {
      "id": "acres",
      "label": "Acres to cover",
      "kind": "number",
      "hint": null,
      "default": 40,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "acresPerMin",
      "label": "Mapping rate",
      "kind": "number",
      "hint": null,
      "default": 2.5,
      "unit": "acres/min",
      "min": 0.1,
      "max": null
    },
    {
      "id": "batteries",
      "label": "Batteries on hand",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": null,
      "min": 1,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "minutes",
      "label": "Usable flight time per battery (min)",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "total",
      "label": "Total airtime with your batteries (min)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "acresPerFlight",
      "label": "Acres covered per flight",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "batteriesNeeded",
      "label": "Batteries needed for the job",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "jobMinutes",
      "label": "Total flight minutes for the job",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "derate",
      "label": "Endurance penalty from wind & payload",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Battery capacity: 5000 mAh",
      "Average current draw: 15 A",
      "Reserve you won't use: 25 %",
      "Extra payload: 0 g",
      "Wind speed: 8 mph",
      "Acres to cover: 40",
      "Mapping rate: 2.5 acres/min",
      "Batteries on hand: 4"
    ],
    "outputs": [
      "Usable flight time per battery (min): 13.1",
      "Total airtime with your batteries (min): 52.4",
      "Acres covered per flight: 32.7",
      "Batteries needed for the job: 2",
      "Total flight minutes for the job: 16",
      "Endurance penalty from wind & payload: 14.5%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter battery capacity (mAh).",
      "Enter average current draw (A).",
      "Enter reserve you won't use (%).",
      "Enter extra payload (g).",
      "Enter wind speed (mph).",
      "Enter acres to cover.",
      "Enter mapping rate (acres/min).",
      "Enter batteries on hand.",
      "Read your usable flight time per battery (min) on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "capacity": 3000,
        "draw": 9,
        "reserve": 15,
        "payload": 0,
        "wind": 5,
        "acres": 24,
        "acresPerMin": 1.5,
        "batteries": 2
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "capacity": 5000,
        "draw": 15,
        "reserve": 25,
        "payload": 0,
        "wind": 8,
        "acres": 40,
        "acresPerMin": 2.5,
        "batteries": 4
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "capacity": 8000,
        "draw": 24,
        "reserve": 40,
        "payload": 0,
        "wind": 13,
        "acres": 64,
        "acresPerMin": 4,
        "batteries": 6
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "Why keep a 25% reserve?",
      "a": "LiPo voltage sags hard at the bottom of the pack, and headwind on the return leg costs more than the outbound saved. Landing at 25% is what keeps batteries healthy and aircraft recoverable."
    },
    {
      "q": "How much does wind cut endurance?",
      "a": "Roughly 10–20% at 10 mph and up to 40% near the aircraft's rated limit, because the drone tilts and burns extra current just to hold position."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/video-production-quote",
    "https://www.revenuelab.fyi/toolbox/photography-day-rate"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Drone Flight Time Calculator (https://www.revenuelab.fyi/toolbox/drone-flight-time)"
}