Watch ↗First drone movements
Testing basic movement commands with the Tello drone.
Using Python and computer vision to control a Tello drone with keyboard input and facial tracking.
Watch the drone demonstration ↗DroneVision was my A-Level Computer Science project. I worked with a DJI/Ryze Tello drone and wrote Python programs to control its movement and use its camera feed for face tracking.
I liked the challenge of getting hardware, live video and code to work together, especially when a small change in the program produced a visible change in how the drone moved.
I started by sending commands to the drone from the keyboard, including movement and emergency landing.
I used the drone's camera feed and OpenCV to process video in real time.
I developed a separate script that detects a face in the camera image and adjusts drone movement to keep the face centred and at a useful distance.
These videos are from my original A-Level project report. They show the different stages of development, including early tests and the final face-tracking script.
Watch ↗Testing basic movement commands with the Tello drone.
Watch ↗Getting images from the drone's camera and displaying the feed.
Watch ↗Testing the key-press module before connecting it to drone movement.
Watch ↗Using keyboard input to fly the drone, with commentary.
Watch ↗Combining manual controls, live camera feed and image capture.
Watch ↗Testing the face-tracking approach with a desktop webcam.
Watch ↗Testing detection with a box drawn around the face, including glasses.
Watch ↗Showing the face centre point as I move around.
Watch ↗Walking through how the face-detection function works.
Watch ↗Testing and explaining the final face-tracking script with the drone.
This project gave me hands-on experience with computer vision, testing, debugging and communicating with real hardware. It also taught me to be realistic about scope: the individual control modes worked, but the complete integrated interface was not finished.
My original A-Level report estimated command response times of approximately 0.1–0.2 seconds and around 85% face-detection accuracy during my own tests. These were informal project measurements, not independently verified benchmarks.