I want to start this article by stating that I am in no way compensated or sponsored by Ryze, DJI, or any other company for this article.
Recently Ryze released a drone (quadcopter) that uses technology from DJI and Intel to make a very stable user friendly drone for around $100. In the past I have owned several toy drones, and even have a Phantom 3 standard. In terms of stability and performance I would rate the Tello along the lines of the Phantom. It hovers very well, it is somewhat responsive to control, and is easy to maneuver. But what is most interesting about this drone and why I am writing about it, is the ability of a user to utilize Scratch and program routes and action for the drone from your computer. Yes, we have the modern Big Trak, but in drone form.
So what does one need to get started with programming this drone?
- You need the drone which you can get from DJI (I bought my from B&H Photo).
- You will need to download and install Node.js.
- You will need to have the Scratch 2 offline editor installed on your windows machine. (Sorry. I haven’t tried this on Mac yet).
- You will need to have some open space. My office is kind of small, and it found it a little disconcerting when the drone did not behave as expected and I had little room to get out of the way.
- You will need to have a WiFi capable computer. (I know. It had to be said.)
- You will need the Tello Scratch libraries.
Once you have all these things go ahead and unzip the Tello Scratch libraries and remember where you installed them.
Once everything is installed open powershell (ÿ + R, type powershell, hit enter). Change directories to where you unzipped the Tello Scratch libraries and type node tello.js. At this point you can open Scratch 2 and while holding shift select Import Experimental HTTP Extension. Select Tello.s2e.
At this point you should have all the Tello commands under More Blocks in Scratch.
To start I made a simple program which you can find here.
Here is what the code does. When you click start in Scratch, the drone will take off and we set the speed. (Play with this number to make the drone go faster or slower). The next command tells Scratch to wait. I found that if I didn’t put a pause in the code that commands would get skipped. Sometimes this meant we could not easily land the drone. The rotate CCW with angle 180 command tells the drone to rotate 180 degrees, and the flip with duration “r” instructs the drone to flip right. I am not sure why r is considered a duration. Direction seems to be more accurate, but it is what we have. Lastly we tell the drone to land. If you look to the right, I also have the space command so that I can land the drone if any commands get skipped.
Once you have loaded the code you will want to connect to your drone. Turn the drone on and go to your wifi setting and select the network that starts with TELLO.
Once you have connected you should be able to run your code and have the drone take off, rotate, flip and land. Pretty easy. Here is a video of mine.
In powershell you should see text like this scolling on your screen.
Let me know what fun and creative ideas you come up with for your Tello drone. And as always be careful and aware of others. The props on the drone can injure you or others. (I crashed into a rain coat of mine and cut a hole in it.)