Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

New app: TelloFPV for Android

volate!lo

Well-known member
Joined
Dec 13, 2018
Messages
3,146
Reaction score
2,707
Location
Germany
I'm pleased to introduce you to a new Android app: TelloFPV

Prime reasons for development of this app:

  • I wanted an app for FPV training. I have kids and while they do OK with normal toy drones they keep crashing when doing FPV flights. So TelloFPV contains an FPV trainer function which supports multiple controllers in parallel (one overrules the other). That way the kids can learn FPV without constantly crashing Tello.
  • I badly wanted reliable support for the Parrot Flypad controller
  • VR goggle support. While this is not yet ready for public use I am working on it and I am determined to release this ASAP.
  • I wanted a couple of functions not available in other apps. The Home indicator and a few smart autopilots for example.
So here is a screenshot:

main screen.png


System requirements:
TelloFpv should run on anything Android 5.0 or newer. Bluetooth low energy required for Flypad & Gamesir controllers.
Tested on Samsung S4 running stock Android 5, Samsung S4 mini running Lineageos Android 8.1, Nexus 7 running stock Android 6.0, Lenovo Tab4 8Plus running stock Android 7.1, Galaxy Tab A6 running stock Android 6

State of development and Roadmap

In the next post you will find a beta version and a preliminary manual. In case you have trouble check the last page for a few hints. Feel free to try TelloFpv and provide feedback good or bad.

The next update should be around new year covering USB controllers and if everything goes well smoother video and hopefully support for VR goggles.

Future versions will not only contain bug fixes as I have a host of ideas to implement. I will reveal details about new functions as soon as I am far enough into the implementation to decide if they will work well enogh to be useful.
If you have ideas for new features let me know. My goal is to make TelloFPV the app of choice for FPV and video / photo shooting. I try not to clutter the code or UI for something I don't consider useful for the intended use case so please accept if a certain feature you'd like to see doesn't really fit.

Which brings me to the point that certain features will never make it into TelloFPV:

  • Bounce mode - sorry if someone likes it. Please use stock app for this.
  • No speech output.
  • No Face tracking.
  • I am not sure about Flips, they are already implemented but they just don't fit into the vision I have for TelloFPV.
  • No gyro control unless numerous (!) people ask for it.
  • I won't do a photo / video galery or viewer inside TelloFPV as there are plenty apps doing this much nicer than anything I can build.
  • I have no plans for a "touch-to-go-there" style flightplan control where you draw a path on the screen and Tello folllows it (I can't see how to make real world use of this).

Please note:
This is not a free app: TelloFPV will become a commercial app available on google playstore as soon as any remaining bugs are ironed out. TelloFPV is now available on google playstore



A WORD OF WARNING
-----------------------------------
All core features should work - at least they do for me. But this is BETA quality software and not a final product. It certainly contains bugs or incompatibilities! it may it may wreck your drone, kill your cat, break your wife's most precious figurine and set your christmas tree on fire.
I accept no responsibility for anything - you are on your own so good luck and take care! Don't fly too far, too high, or near the christmas tree.

Credits:
TelloFPV has been developed from the ground up using pure Java and has no ties to any other Tello app or library. It does contains nice Icons made by Freepik from www.flaticon.com.

Tons of Kudos go to TelloPilot member "Krag" for his TelloLib sourcecode which has proven invaluable for the initial understanding of the protocol, also for his work on decoding the logfile stream. In fact it was his app that sparked my initial interest and lead to this app. Thanks again!


EDIT: Attached the latest PDF manual for reference
 

Attachments

Last edited:
The beta test versions that used to be available here have expired. From now on I will use the Google beta test program. Any user of the full TelloFpv version can participate:
Just open google play on your device, navigate to the TelloFpv page and scroll down a bit. There is an invitation for Beta testing.

Or follow these instructions: Sign in - Google Accounts

If you want to go back to the productive version you can opt out anytime, and come back to the betatest whenever you feel like.


Current version: 0.97

New features
------------
* Recording button now highlighted when recording video
* RTH minimum altitude respects general altitude limit and vice versa
* Warning when altitude limit reached and throttle is still up
* Autopilot performance improved for moderate winds
* Autopilots and Flightmodes both show information when stopped, giving the reason why
* Flips
* Menu item EXIT added
* Option to save raw video stream as .h264 (in addition to mp4 file)
* Option to select Color scheme for OSD, choice between green & orange
* Option to re-encode JPGs in case of problems (gallery thumbnails or editing apps complaining)
* Option to convert photo into PNG (slow, done in background)
* Option to stretch the video to fit screen (adds black bars to the sides)
* Option to display Corruption indicator (little bolt that flashes whenever a video stream corruption occurs)
* Option to enable audible notifications: Button click, camera shutter, video recording start/stop, low battery warning (drone below threshold, phone/controller below 10%) stops after 5 sec




Fixed issues
------------
* distortion/green bars around video when played on some Android players as well as IOS / Mac players
* Timing problems causing crash & ANR when leaving the app
* When switching camera from photo to video while in sport mode the video was "zoomed in" (workaround for Tello firmware bu)
* RTH still too fast in sport mode to stop so overshoots the destination sometimes: Speed limited to 5m/s and slowing down now starts at 15m distance to go
* RTH would not work if minimum altitude was higher than the general altitude limit (RTH would only spin into the direction of home but not fyl back home)
* External controller battery was showing data where no data was available
* Adjust menu items to fit on screen
* Autopilots would do erratic movements in case Tello stopped to deliver position data
* Heading calculation corrected when close to home
* Screen brightness fixed at maximum




Priority list for next release
  • Fixing bugs
  • VR Goggle support
 
Last edited:
And now some key points:



User interface
  • Better telemetry: Roll & pitch are displayed, along with speed, distance, altitude
  • Separate battery percentages for drone, controller and phone and the wifi quality in dB.
  • Total flight time since Tello was powered up
  • The green "home" icon always indicates the direction to where you took off. Turn around until this marker is at the center of the screen and then just fly forward to get Tello back home - (or just use the RTH autopilot, see below).


Basic functions
  • Most functions available in the stock app are implemented: Low battery warning threshold, Altitude limit up to 30m, attitude angle, imperial units, throw takeoff and palm landing. The Tello flight modes "Circle", "360" and "Up and away".
  • Confirmations for takeoff can be turned off.
  • Drone Arming: sticks into lower right / lower left positions and Telo to power up the motors witht taking off
  • All configuration can be done in-flight to allow for example a quick change in the RC stick tuning.


Controllers
  • Onscreen joystick size is adjustable to your needs.
  • Onscreen joystick can be configured to disappear when not in use (external controller configured and connected).
  • External controllers: Currently supports Gamesir T1d and Parrot Flypad. USB gamepads will be included in the next release. <=USB support is done with v0.5
  • Total flexibility in terms of stick mapping: Assign any controller stick axis to any drone axis, optionally reverse the output (left becomes right and vice versa).
  • Free mapping of buttons to functions. Ability to cancel landing (automatic or manual) with a controller button.
  • All settings are stored per controller (that is if you have the onscreen joysticks, a gamesir and a flypad you have three separate configurations).
  • TelloFPV actively monitors controller connection. If there is trouble it realizes quickly and tries to recover, not waiting for 30sec bluetooth timeouts.


Speed modes
  • Two modes. Sport and Video with individual tuning options (next bullet)


RC Tuning
  • Separate tuning configurations (Expo, Rate, Dead zone) for yaw, throttle, pitch, and roll.
  • Each of these settings is configuired separately for sport mode and video mode. As switching from sport mode to video mode is just a quick button press this allows you to travel to your destination with a fast and responsive drone using a strong stick repsonse, and do slow smooth videos just a second later. To RC folks this is usually know as "dual rate".
  • Pre-configured mapping and tuning parameters so Tello flies out of the box with this app.
1545008249069.png

FPV Trainer / Master-Student
  • You want to introduce your kids to the world of drones? Fly legal FPV beyond line of sight? That was the prime reason to build TelloFPV!
  • TelloFPV works with two controllers at the same time. You can hand over Tello's controls to your kids and let them fly while you can take over control anytime to dodge an obstacle. Whenever you move the sticks of your master controller the student controller is ignored. About 2 seconds after the master conrtol sticks have returned to neutral the student controller takes over again.
  • There is a "Panic" button available both onscreen and on the controllers: A button that just quickly stops tello and suppresses all stick input. Tello puts on the breaks and hovers in place until the button is released. Very handy just in case your kid (or one of the autopilots) is about to crash Tello into an obstacle.
  • This trainer function works with all combinations of controllers: Onscreen joystick for master and external controller for student, or vice versa. One external controller for student and another external for master. That can be two Flypads, or two Gamesirs, or a mix.


Flight log
  • A few statistics about your last flights and all flights. Number of flights, total flight time, maximum distance from point of takeoff, total distance flown, battery consumed, etc.


Videos
  • Videos are saved to MP4 on the fly with no need for conversion
  • Bitrate can be adjusted while recording, also the rate at which IFrames are included in the video stream.
  • In case of dropped video packets the video contains jitter artifacts instead of black / lost frames.


Photos
  • Photo download progress as percentage of download
  • Timeout for photo download, does not hang when the photo download fails due to instable connection.
  • EV / Exposure setting can be mapped to controller buttons for easy inflight adjustment.


Autopilots
  • Autopilots can control Tello completely without user input, or can take over only certain aspects of the control. Some autopilots accept input from the sticks while active.
  • Currently there are three autopilots implemented: RTH, Circle around a POI (point of interest), and POI heading lock (see below). More are planned, I have a couple of ideas.
  • AP: Return to home (RTH)
    Turns tello towards home, ascends to a configurable minimum altitude, and moves Tello back home at a configurable speed.
    The minimum altitude avoids common obstacles, the reasonable speed limit and speed mode depend on the weather conditions. Make sensible choices: This is VPS based, so flying fast, flying high, flying in high winds, above uniform surfaces, ... all that reduces position accuracy.
  • AP: Circle POI
    You bring tello into a position where it faces an certain spot you want to circle (the point of interest, or POI). Say you want to circle a nice tree or statue maybe 20m away. You invoke the "Circle" autopilot, which asks you for the distance to the object, the direction in which to travel and the initial speed. Tello will then travel around this POI until you stop it or it has done a full circle around the POI.
    Overall this is similar to the circle mode of the Ryze Tello app but can do this at greater distances, slower or faster, and into the direction you want. Plus you can control the throttle while circling to ascend or descend.
  • AP: POI Lock
    Somewhat similar to the Circle POI AP but allows more interesting video shots around a POI. This AP locks the heading to the POI but instead of doing a simple circle around the POI you can move Tello around freely using the sticks, while Tello automatically keeps the heading fixed on the POI so it is always in focus. You can use roll to move sideways, and tello will keep looking at the tree while it slowly moves sideways.You can move back and forward and Tello continues to face the POI. You can do elliptical shots of the POI, starting at a distance, travelling towards the POI, then passing it close by and flying backwards away from it.
    Say you want a nice video shot of a statue, you move Tello 50m away and activate the POI lock function, and enter the distance to the POI. This is critical for getting the POI location right but... see manual for a tip. Now you can fly back and forth, left or right and Tello keeps facing the POI. You have full control over throttle, roll and pitch but Tello handles the yaw to always face the POI.
 
Last edited:
Thank you!

Just try the app, its attached to the second post. The installable APK file is inside the ZIP (because the forum software does not allow uploads of APKs).
This APK will function for 5 days as I want feedback on the latest development (and it don't need feedback on old versions). As the app matures I will increase this period, and finally go live on playstore.
 
yes. I will upload new updated versions every few days, before this one expires.

I don't want "old" apps out there, as I need feedback on the latest version. Bugs reported for a two week old version would not be of much use.
 
  • Like
Reactions: Chipmun3
Both are standard signals and are controlled by the firmware. Maybe you just haven't noticed before.


Red&Green means you are flying close to the "maximum altitude". Just increase the max altitude in the settings and its gone, I think I set it too low (3m by default).

The green pulses depend on your speedmode. Slow for "video" mode (slow mode in Ryze app) and quick pulses for "sport" mode (fast mode in ryze app). I just checked it and Tellobehaves exactly the same for both apps.
The zooming is normal, because Tello uses different stream dimensions for the two modes. In slow / video mode it crops a good part of the video for the image stabilization. Again maybe you haven't noticed before but Ryze app is just the same.

The garbage should not be there. :-(
 
  • Like
Reactions: Chipmun3 and Ansia
Yeah thats cool! I like the POI things verry much, its a Great Idea for taking Videos.

Can you do the Start and endponit of movement smoother? just like it "fades" in or out an movement? Especially the Left/right movement. So the resulting Video will be much smoother.

I will do some more Tests later with several Phones.

How many your App will be cost?
 
Congratulations !

You are building a GREAT app.

I like the way you introduced your work and detailed manual too.

Of course, I love your Autopilot modes. Clearly they are the hearth of your project.

Showing percentage of downloaded photo, wifi signal strenght in db and Flight Log are cool features.

Unfortunalety your app don't include any map/track screen. For me that's an important feature.

Anyway I'll test it as soon as possible.

Good work !

Raul
 
Last edited:
Both are standard signals and are controlled by the firmware. Maybe you just haven't noticed before.


Red&Green means you are flying close to the "maximum altitude". Just increase the max altitude in the settings and its gone, I think I set it too low (3m by default).

The green pulses depend on your speedmode. Slow for "video" mode (slow mode in Ryze app) and quick pulses for "sport" mode (fast mode in ryze app). I just checked it and Tellobehaves exactly the same for both apps.
The zooming is normal, because Tello uses different stream dimensions for the two modes. In slow / video mode it crops a good part of the video for the image stabilization. Again maybe you haven't noticed before but Ryze app is just the same.

The garbage should not be there. :-(

I've added your new App to the compatibility spreadsheet:

Tello Compatibility
 
I tested it today with HTC u11.
Im verry impressed, works perfectly. Even - and I still cant believe it - the RTH works perfectly in a way I never seen before in an non-GPS copter. I like the Home-sign so one can see the home direction. I also like that the copter turns with head in home direction. Pretty perfect!!!!

Like I said before, a smoother fading between Start and stop movement would Be cool!!!
At least I wait for the otg Version for My Ts1.

So, would you make it real fpv So that we have a Split screen for the Googles???
tomorrow I will test it with my smaller LG x Power Phone.

Keep up working.

//Edit//
The Fight time is about 10 minutes with fully charged battery. Normaly I had flight times from about 13-15 minutes with the Original App or with aTelloPilot from bluejune. Need this App more Power??
 
Last edited:
Wow, that was quick thanks for all the feedback.

Yeah thats cool! I like the POI things verry much, its a Great Idea for taking Videos.

Can you do the Start and endponit of movement smoother? just like it "fades" in or out an movement? Especially the Left/right movement. So the resulting Video will be much smoother.

I will do some more Tests later with several Phones.

How many your App will be cost?

I know the autopilots are currently a bit rough at the controls - I will work on this but its not yet high priority.
Since all APs share a common control codebase they will all benefit from making the movements smoother.

Price of the app will be similar to what aTelloPilot costs as I don't want to start a price war. Programming for the Tello is a very small niche market and most likely won't pay off anyway - unless Ryze keeps selling the Tello for a few years


Congratulations !

You are building a GREAT app.

I like the way you introduced your work and detailed manual too.

Of course, I love your Autopilot modes. Clearly they are the hearth of your project.

Showing percentage of downloaded photo and wifi signal strenght in db are very interesting features.

Unfortunalety your app don't include any map/track screen. For me that's an important feature.

Anyway I'll test it as soon as possible.

Good work !

Raul
Regarding the map/track: I have a few ideas around this one. Over time the "Flight logs" menu will grow into something far more useful than what it currently is. The FlightRecorder is already in place to do much more but it just isn't very high on my priority list (yet). First I need to get he flight experience perfect, then we can talk about "Flight Log".

I tested it today with HTC u11.
Im verry impressed, works perfectly. Even - and I still cant believe it - the RTH works perfectly in a way I never seen before in an non-GPS copter. I like the Home-sign so one can see the home direction. I also like that the copter turns with head in home direction. Pretty perfect!!!!

Like I said before, a smoother fading between Start and stop movement would Be cool!!!
At least I wait for the otg Version for My Ts1.

So, would you make it real fpv So that we have a Split screen for the Googles???
tomorrow I will test it with my smaller LG x Power Phone.

Keep up working.

//Edit//
The Fight time is about 10 minutes with fully charged battery. Normaly I had flight times from about 13-15 minutes with the Original App or with aTelloPilot from bluejune. Need this App more Power??

Current top 3 of my todo list: smooth video, USB controllers, VR Goggles.

I can't see how any app could change the power consumption of the drone. My normal flight time is around 12-13 minutes on good batteries regardless of the app I use.
 
Once you get this app ready for commercial release, any chance of doing one for those of us that run iOS instead of Android?
 
  • Like
Reactions: Jan Hurstjes
I already like this app, and I like where @volate!lo is going with it.

When it matures and 'goes live' in the Play store, I'll be first in line to pay.

Meanwhile, my first request is simple: I'd like to have generic Android game controller support - preferrably BT and OTG, but for now I'll take either/or.

I know you said that is on your priority list, so I can wait. lol :)

I use aTello, aTelloPilot, DroneVR+, and oem Tello app... they all support my Gamesir T1s using BT or OTG - except Tello app can not see it using OTG.

TelloFPV has me excited about all the things I can now do with this little bird!

Great Job volate!lo!
 
Hi, thanks for that app. Is it planed to support RC controller ? (I cant imagine doing "true" fpv without my flysky i6 :))
 
I already like this app, and I like where @volate!lo is going with it.

When it matures and 'goes live' in the Play store, I'll be first in line to pay.

Meanwhile, my first request is simple: I'd like to have generic Android game controller support - preferrably BT and OTG, but for now I'll take either/or.

I know you said that is on your priority list, so I can wait. lol :)

I use aTello, aTelloPilot, DroneVR+, and oem Tello app... they all support my Gamesir T1s using BT or OTG - except Tello app can not see it using OTG.

TelloFPV has me excited about all the things I can now do with this little bird!

Great Job volate!lo!
Thank you!

At this moment I am digging into the USB OTG stuff. Looks pretty straight forward. Once done it will handle all BT / OTG controllers that android recognizes as valid InputDevices.


Hi, thanks for that app. Is it planed to support RC controller ? (I cant imagine doing "true" fpv without my flysky i6 :))
That Flysky i6 seems to have a USB cable option, right? Does it work with a gamepad tester App when connected to the phone? If yes: (y), if not :cautious:
 
Unfortunately no, sorry. :cautious:
Bummer! You're obviously smart enough to write the software, but you're leaving out those who don't use the Android platform. Too bad. You could make some good money making software for both! Just sayin'
 
I have yet to try your App, but from what I see I have to congratulate you! I love this Dji Tello and these new apps make it even bigger!
Greetings from Italy
 
the application is awesome I find it super simple to use simpler than the original application tello. If the application could be in French it would help me lol. I have a question maybe it's my fault because I can not be found it is possible to fly without a giroscope completely manual way? sorry for my english very bad;)
 
  • Like
Reactions: Joe_BS

New Posts

Members online

No members online now.

Forum statistics

Threads
5,759
Messages
40,277
Members
17,398
Latest member
avia_explorer

New Posts