Tello Drone Programming with Python - Video Course
Go beyond block programming with Tello using Python
Learn how to program the Tello drone using Python. This video course goes beyond DroneBlocks programming and introduces students to more advanced programming concepts using the Python programming language.
In this course, you will learn how to set up your Python programming environment and communicate with Tello using UDP, the User Datagram Protocol. This is similar to how DroneBlocks sends commands to the Tello drone, and we'll get under the hood to understand how UDP works.
We recommend having a basic understanding of programming concepts before signing up for this course. It's a good idea to cover the lessons in the Introduction to Tello Drone Programming course so you become familiar with programming concepts and Tello's capabilities.
The lessons in this video course include:
Lesson 1: Setting up your Python programming environment with Anaconda and Jupyter Notebook
Lesson 2: An intro to UDP, Packet Sender, and sending a basic UDP message
Lesson 3: Send and receive UDP packets to and from Tello
Lesson 4: Program Tello to fly a box mission with Python code
Lesson 5: Write custom spin and bounce functions to give Tello new flight behavior
Lesson 6: Send keyboard commands to Tello and tap into the software development kit (SDK) - Free Preview
Lesson 7: Convert imperial units to metric and fly Tello in a star pattern
Lesson 8: Add retry logic for more robust Tello missions
Lesson 9: Bonus lesson - Control Tello with Raspberry Pi and Python
All source code and examples for this course are available in our GitHub repository:
Be sure to scroll down and access the free preview for Lesson 6, which demonstrates how to use Python to send SDK commands to Tello with your computer keyboard. It's a great way to learn Tello's capabilities and learn about the Tello SDK.
If you have any questions about the course or need technical support please feel free to join our Facebook group:
Thanks for your interest in our drone programming curriculum. We're glad to have you on board!
Dennis has been fascinated with remote control cars and airplanes since he was a kid. Through his passion of the RC hobby he learned many aspects of engineering by building, wiring, and programming flight controllers for his RC planes and quadcopters. He shares a majority of his research and development on his YouTube channel.
In 2010 Dennis found the ArduPilot project and was amazed by the vibrant developer community behind the project. From this point forward he spent countless hours tinkering in the garage and building numerous autonomous drones ranging from hexacopters, VTOL aircraft, delta wings, and mini quads. This was all made possible with APM and Pixhawk flight controllers.
In 2014 Dennis designed and 3D printed a popular mini quadcopter frame and posted it on Thingiverse. At this time he crossed paths with Marisa at Walnut Springs Elementary School in Dripping Springs, TX. Dennis asked Marisa if he could work with her after-school "Tech Team" to teach students how to print, wire, build and fly these little mini quadcopters. Students loved the idea but quickly asked how they could use the drones to shoot photos and video. This led Dennis to the DJI SDK.
In 2015 Dennis put together a proof of concept of using block programming and coupled it with the DJI SDK to tap into the capabilities of market leading drone hardware. From this day DroneBlocks was born. Students loved the concept of block programming to perform autonomous missions with DJI hardware. DroneBlocks has grown into a platform that consists of app, curriculum, and a vibrant community of users sharing their mission code all over the world.
Dennis graduated from The Citadel with a BS in Electrical Engineering and is no stranger to software technology. He has co-founded several technology businesses over the past 20 years. In this next chapter Dennis and Marisa want to expand DroneBlocks into every STEAM classroom across the globe.
StartLesson 1: Setting Up Your Python Programming Environment (6:45)
StartLesson 2: Brief Overview of User Datagram Packets (UDP) (8:14)
StartLesson 3: Sending and Receiving UDP Packets (8:16)
StartLesson 4: Box Mission Using Tello SDK Commands (6:20)
StartLesson 5: Custom Functions - Spin and Bounce (8:01)
PreviewLesson 6: Keyboard Commands (5:36)
StartLesson 7: Unit Conversions (6:54)
StartLesson 8: Retry Commands (7:27)
StartBONUS Lesson 9: Python, Raspberry Pi, and Tello (5:05)