This website requires Javascript for some parts to function propertly. Your experience may vary.

Tello Control :: Portfolio

Tello Control

WebGL application to control & visualize flights of Tello drones

Tello Control is a small WebGL application to control & visualize flight paths of DJI Tello drones.

The application allows you to control a Tello Drone via a web interface from a device, which is connected to the WIFI network of the drone. It will visualize the flight path of the drone and allow you to record and playback its flight. Within the capabilities of the drone. Which allows you to repeat fairly accurate flight performances and add additional flight patterns to Tello's default actions. 

The idea for the development of this application arose as a follow-up to my Photogrammetry Specialisation from my study. Since I got fairly decent 3D scans from pretty low-resolution images I was curious, if I would be able to scan in tall objects with the help of a cheap and affordable drone. The Tello is an ideal candidate for this due to its integrated camera, lightweight (so low flight restrictions in my area), and small costs. Furthermore, its publicly available API made it even more interesting for me, since I was curious if I could automate parts of the flying process.

The application consists out of two parts.

  • A backend server that controls the WIFI connection and communications with the Drone via UDP to the drone.

  • A frontend which is using Playcanvas & Tailwindcss.

Both are bundled together in an nwjs application for easy deployment.

The current version of the application allows you to fly your drone, either via the UI elements within your browser, keyboard, or connected gamepad. You can trigger pre-programmed flight paths and take pictures of your flight. The accuracy of the recorded flight paths is dependent on the environment you are flying in and works best indoors. Due to the lack of accurate positional data from the drone all flight paths are based on a recording of the user's input and don't account for environmental influences like drifting caused by wind. This could be addressed by the usage of external sensors, or via image analyses of the drone's video stream. However, both went beyond the scope of my initial research.

Drop me an email, if you are interested in the project.