File Exchange

image thumbnail

MATLAB Support Package for Ryze Tello Drones

Control Ryze Tello drone from MATLAB and acquire sensor and image data


Updated 10 Mar 2021

MATLAB®Support Package for Ryze Tello drones provides interfaces that enable you to control a DJI Ryze Tello drone fromMATLAB. You can pilot the drone by sending commands to control its direction and orientation. You can also read navigation data and process image data using MATLAB commands.
Feature Highlights
  • Use MATLAB commands to take off, move in a specified direction, turn, and land.
  • Flip drone in one of four directions.
  • Stream images and live video from the drone's camera.
  • Read flight data including speed, height, orientation, and battery level.
See also
Opening the .mlpkginstall file from your operating system or from within MATLAB will initiate the installation process for this Support Package.
For installation issues with this support package, contact MathWorks Technical Support.
This support package is functional for MATLAB R2020a and beyond.

Comments and Ratings (23)

You can see the instructions to get that code in the example: Track a Green Ball using MATLAB® Support Package for Ryze® Tello Drones

Jongyun Myeong

where can i get 'trackBall.m' fucntion?

Tzyy-Chyang Lu


Hi Mohammad Ridzuan,
We verified that all read APIs return drone navigation data with a default MATLAB precision of 4 decimal places.
You could check the MATLAB “Numeric format” setting in MATLAB preferences to see if you have a different format type set.
For more details refer:

You can also reach out to us at if you need any help with this.

Hello, in the documentation it shows that using the readSpeed() function is able to read speeds precise to 0.0001 (eg. speed of x-axis = 0.0015 m/s). However, I have found that my values always get rounded to 0.1 intervals (eg. 0.0 m/s, 0.1 m/s, etc.). Do you know why this is happening?

Hi Banaan,
This support package is currently not supported on Linux. However, we would like to know more about your use case. This will help our team evaluate the use case and consider adding support for linux platforms, in a future release of the support package. Feel free to reach out to us at with more details.

Banaan Kiamanesh

Isnt there any possible ways of using this on linux?

Srijith Vijay

Hi Ioannis,

The support package currently does not support controlling multiple Tello drones in MATLAB. Tello EDU drones uses the SDK 2.0 version that lets you put the drone in "station" mode that enables connecting multiple Tello EDU drones to a common access point. However, the support package currently does not support this advanced workflow.

Feel free to reach out to us at with more details. This will help our team evaluate the use case and consider adding this feature of supporting multiple Tello drones, in a future release of the support package.


Srijith Vijay

You can use the following link to reach out to us: Please ignore the link mentioned in the previous comment.

Ioannis Raptis

Hello, is there a way to command multiple drones using the ryze() command? If not, what you recommend would be the best way to modify the ryze() command to accomplish that?


• The ‘move’ command is now supported in both standard Ryze Tello and Ryze Tello EDU drones. Previously, it was supported only in Ryze Tello EDU drones.
• The 'move' command can now accept a maximum of two input coordinate values between -0.2m and 0.2m.

Ankur Bose

Hi Alif,

Currently, there are no plans to support uploading code in "MATLAB Support Package for Ryze Tello Drones". However, you could reach out to us at with more information on your use case. Our team could investigate more on this use case and consider supporting this in a future release, if possible.

MATLAB Hardware Team

Alif Rizqullah Mahdi

Hello, will there be any update for the Ryze Tello drone support? Such as creating control algorithms for the drone and uploading it.

Srijith Vijay

Mark Ng

Hi Srijith

Thanks for the prompt reply.

If that's the case, is there no other similar support for other drones with flight algos from Simulink? As you know, the production of Mambo has been discontinued.


Srijith Vijay

Hi Mark,
This support package lets you programmatically control the Tello drone from MATLAB, similar to the MATLAB Support Package for Parrot Drones. This package does not let you modify or deploy custom flight algorithms onto the drone.

Mark Ng


Thanks for this update. Could I enquire if this support is of the same level available for the Parrot Minidrones, i.e. flight control algorithm via Simulink etc.?

Thanks much.



Srijith Vijay

Hi Weiming Xiang,
The error occurs when the Tello drone returns an error response for the takeoff command. There can be multiple reasons for this like drone overheating, low-battery, etc.
Please reach out to us at with more details and we will help you fix this issue.

Weiming Xiang

Yesterday evening I downloaded the package and tried the following simple code:

g = ryze()

It returned me an error message "Unable to execute 'moveforward'. Execute 'takeoff' command first."

I tried again this morning, it worked out. However, in the evening, the same issue happened for the above same code.

Can anyone help me out with this problem?

Srijith Vijay

MATLAB Release Compatibility
Created with R2020a
Compatible with R2020a to R2021a
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!