← Wiki

Concept

Recipe: NDVI crop-scouting drone

Also known as: NDVI drone recipe, multispectral drone recipe

Reference design composed from the farm-tech toolkit: a fixed-wing or quadcopter drone that flies an autonomous waypoint mission over a field, captures color and near-infrared imagery at known locations, and produces an NDVI orthomosaic that highlights crop-stress zones for targeted scouting and amendment. Built on PX4/ArduPilot autopilot, RTK-GPS for cm-precision geotagging, an off-the-shelf NIR-converted camera, and OpenDroneMap (open-source post-processing) for orthomosaic generation.

Problem statement

A 100-acre row-crop field needs weekly NDVI monitoring during the growing season. NDVI (Normalized Difference Vegetation Index) = (NIR − Red) / (NIR + Red); healthy plants reflect strongly in NIR and absorb red, so high-NDVI areas are healthy and low-NDVI areas are stressed (drought, nutrient deficiency, disease, pest pressure). A weekly NDVI map turns a 100-acre walk into a 30-minute targeted-scouting walk to the stress zones.

Architecture

[Drone — fixed-wing for >50 acres, quadcopter for ≤50]
  Pixhawk 6C / Cube Orange autopilot (PX4 or ArduPilot firmware)
  ZED-F9P RTK-GPS (with ground base station)
  IMU (internal to Pixhawk)
  NIR-converted Mapir Survey3 camera (or DJI Phantom Pro w/ NIR mod)
  Telemetry radio (433/915 MHz)
  4S–6S LiPo with smart BMS
  Flight time 25–45 minutes per battery

[Ground station]
  Laptop running QGroundControl (mission planner)
  RTK-GPS base station
  Post-flight: ODM (OpenDroneMap) on a workstation or cloud

[Processing pipeline]
  Raw geotagged images → ODM → orthomosaic + DEM
  OpenCV: register color + NIR bands → compute NDVI per pixel → false-color map
  GeoTIFF output, openable in QGIS or Home Assistant map view

Mission profile (typical 100-acre row-crop field)

  • Altitude: 80–120 meters AGL (above ground level)
  • Speed: 10 m/s (fixed-wing) or 6 m/s (quadcopter)
  • Side-overlap and front-overlap: 70%/80% (high overlap = better stitching, more images)
  • Total images: ~600–1,200 for 100 acres
  • Flight time: 30–45 min (1–2 batteries depending on platform)
  • Post-processing: 2–4 hours for orthomosaic + NDVI on a midrange workstation

NDVI computation

# Per-pixel after band registration
ndvi = (nir - red) / (nir + red + 1e-9)  # avoid div by zero
# Result: −1 to 1
# Healthy crop: typically 0.6–0.85
# Stressed crop: 0.2–0.5
# Bare soil: −0.1 to 0.2

False-color visualization: green for healthy, yellow for marginal, red for stressed. Overlay on the orthomosaic to produce the actionable map.

Constraints / regulatory reality

  • Part 107 license in the US for any commercial use (agricultural mapping over your own field is generally not commercial; verify for your jurisdiction).
  • Line-of-sight requirement in most jurisdictions — fixed-wing flying out 1+ km may exceed regulations.
  • Weather — wind above ~10 m/s makes small-quadcopter flying unsafe; fixed-wing tolerate more.
  • Battery management — multiple batteries required for >50-acre missions; chargers and rotation matter.
  • Calibration panels — lay calibration tarps in the field for radiometric calibration of the NDVI; otherwise NDVI values vary with light conditions and aren’t comparable across days.

Cost

  • [[px4-autopilot|Pixhawk]] + RTK + telemetry: $400
  • Quadcopter frame + motors + ESCs + props + batteries: $400
  • NIR-converted Mapir Survey3 camera: $600 (or NIR DIY conversion of a GoPro: $50 + work)
  • Ground station laptop, base station: $400 + already-owned
  • ODM software: free (open source)
  • Total: ~$1,800 for a hobby-grade NDVI mapping drone. Commercial agricultural-drone solutions $10,000+.

See also

Auto-generated from this entry’s typed relations: frontmatter, grouped by relation type so the editorial signal isn’t flattened.

  • Combines: [[px4-autopilot]] · [[gps-rtk]] · [[imu-mpu6050]] · [[opencv]] · [[nvidia-jetson]] · [[lithium-bms]]

What links here, and how

Inbound connections from across the wiki, grouped by lens and by relationship. These appear automatically — every entity page declares what it links to, and that data populates here on the targets.

Practical

contains

1 inbound link · 6 outbound