Projects / Vision Drone
Giving the Drone Eyes
A DJI Osmo Action 4 livestreams over WiFi into OpenCV and a YOLO detector, then into the pilot as a look tool and a person guard.
Status: in progress OpenCV · YOLO · RTMP · MediaMTX 14 Oct 2026
Where this build is
The pipeline works end to end on the bench. The Action 4 pushes RTMP to a MediaMTX server on the Mac over a phone hotspot, OpenCV reads it back as RTSP with buffering off, and YOLO11n runs on every frame at about twelve milliseconds on the Mac’s GPU. Measured latency on the Mac side is under a second, plus roughly half a second for the camera’s own encoder.
The pilot uses it two ways. “What do you see” sends the current frame to Claude with the question and Hawk answers in a sentence or two. With the guard flag on, two consecutive person detections put an airborne aircraft into Hold with no model in the loop.
What is not done
The camera is not on the aircraft yet. A printed GoPro-buckle bracket for the X500’s bottom plate exists and fits the camera’s own quick-release adapter, but it goes on only once the aircraft is cleared to fly again, with a new centre-of-gravity check and level calibration after.
Vision-driven motion, “land on the orange mat”, is deliberately off. The round trip is too slow to steer with, and the validator does not accept a manoeuvre that a human did not speak.
Build it yourself
Guide
Setup guide
From unboxing to first autonomous flight.
Code
GitHub repo
Planner, validator and MAVSDK bridge.
Download
Camera mount STL
Print-ready file for the X500.
List
Parts list
Every component, with where to buy it.
What I'm building next
Next build
Giving the drone vision
Get it in your inbox the day it drops.