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

Tello WIFI channel selection

raulvolador

Well-known member
Joined
Jul 19, 2018
Messages
714
Reaction score
783
Location
Spain
Hi,

I'm very surprised nobody talking about Tello WIFI channel usage. I would like to share with you my own research and invite you to participate with your aportations.

As you know, Tello uses WIFI tecnology. It means on startup Tello configures itself as an Wireless Access Point, allowing our smartphone device to connect.

Problems come becouse many other electronics uses WIFI too. Surely you noticed Tello range / video improves in countryside. When flying into urban areas you will get poor performance as many nerby devices uses the same WIFI frequencies.

IEEE 802.11 WIFI protocol defines 14 WIFI channels using separated radio frequencies.

List of WLAN channels - Wikipedia

wifi channels.jpg

You could think using a free WIFI channel is enought for optimal comunication, but you where wrong, as there are a considerable overlap between adjacent WIFI channels and transmitters will interfere with each other.

WIFI channel selection for optimal comunication is a difficult matter, as you should study channels occupied by others nearby devices. Most of the times is a matter of trial and error.

I know other drones, like DJI Mavic or Spark allows pilot selecting WIFI channel used for flying. I can't find that settings on Tello. I'm afraid is not possible for us to selet a favorite channel :(

Using free Android app Wifi Analizer https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer I managed to know what channel Tello uses:

wifi analyzer.jpg

I was shocked discovering Tello's channel changes depending on my current location. After many test I realized Tello scans nearby WIFI signal during startup and choose the first free chanel he finds. See some samples, my Tello's WIFI is called TELLORAUL any other names you can read are neighbour routers. Notice each wifi shown as a wide hill, to indicate how it interferes with nearby channels.

Here Tello choosing wifi channel number one:

tello channel 1.jpg

And here Tello choosing wifi channel number 2, becouse channel 1 is busy, occupied by nearby W_CASA wireless lan.

tello channel 2.jpg

Unfortunately this is not an optimal behaviour. I'll explain you why

Sometimes Tello's choice is not the best one becouse although it is a free channel maybe is too close to other busy channels. In previous sample, channel 8 is a much better choice than channel 2.

Other times, a channel can be busy at takeoff point but you know is free in your remote flight area.

I think Tello WIFI channel selecion is an important matter to get a reliable flying experience. And we should try to investigate this matter.

Do you agree with me ?

Any ideas ?
 
Last edited:
Great post and analysis Rual! Have a beer on me!

In your quest for ultra long distance tello flying you make a good point about adjacent channel interference being different in each area between takeoff and acutal flying.

Some thoughts:
  • Map out all channels in an area you like to fly, find a channel that is furthest away from the popular channels in your area and make that the "goal" channel, ie: the channel you want the tello to take.
  • Get your home wifi to be on a high numbered channel (eg:11) and see what the tello chooses.
  • Always fly in large spaces where wifi isn't as concentrated.
  • Get a couple of old wifi routers or access points, set them up with dummy BSSID's that sit on channels you know cause interference and always have them close to the tello when it is turned on, maybe a way to manipulate what channel it chooses?
Again, great work!

Cheers,
ph2t.
 
  • Like
Reactions: raulvolador
Yeah, this is a very good point. I come across this in my day job (computer technician) and use WiFi analyser a lot.
I would imagine that this is set in the firmware and cannot be changed, but maybe something Ryze could add in a later firmware.

I'm not an expert on Tello programing. Maybe WIFI channel change is accessible when using the SDK or another programming libraries. who knows ?

I hope any programming guru help us
 
Get a couple of old wifi routers or access points, set them up with dummy BSSID's that sit on channels you know cause interference and always have them close to the tello when it is turned on, maybe a way to manipulate what channel it chooses?

Right now I'm working hard in this direction :)

I have a smart wifi hardware that can emulate several WIFI access points simultaneously. My idea is tricking Tello and force him to choose the channel that interests me.

I'll keep you updated...
 
Sounds like a plan! As for the SDK, there is a command that returns the strength of the wifi signal (I think) but there is not a command/s to manipulate wifi channel selection.
Cheers,
ph2t.
 
Wifi channel selection is part of the firmware, not open to modification. Your trick of just blocking the other channels may work, but for this to be useful you would have to map the entire distance of your flight to see if channel X is realy free all along the way.

It could be easier and more reliable to get a really decent antenna setup. I have never checked what antenna Tello uses, but it appears to be a MIMO setup of two horizontally polarized antennas at the rear feet.
Forget about comments regarding mushroom / skew planar, etc as these are cirular polarized and would be worse than the original setup. Circular requires both sides of the link to be the same direction or you just mess it up. plus its meant for analogue signals primarily. In the rcgroups.com you can find lots of helpful information on antenna selection. just keep in mind they mostly talk about analogue signals and 5.8Ghz.

I doubt you will have much luck with antenna modifications at the Tello side unless you have the equipment to tune the antennas. You would most likely reduce reception quality. Tiny amplifiers will drain the battery and most likely reduce the reception quality as well by amplifying noise.


I already talked with user Stele about it, so maybe you can make this a challenge.
He starts off with a DIY Moxon and wants to try a homebrew Yagi afterwards. That one is easy to build and if done well should increase your range significantly. But ones you are out the beam you can easily lose Tello.
 
  • Like
Reactions: ph2t and shambhu
When you use a wifi range extender, won't that choose a different channel from the Tello, therefore it will be running in 2 different channels?

Edit: You may not be able to choose which channel the wifi is running at on the Tello, but I am sure you can do this on a range extender. Just don't know how to do it in the Xiaomi, which is the one most of us use.
 
When you use a wifi range extender, won't that choose a different channel from the Tello, therefore it will be running in 2 different channels?

Edit: You may not be able to choose which channel the wifi is running at on the Tello, but I am sure you can do this on a range extender. Just don't know how to do it in the Xiaomi, which is the one most of us use.
Tello decides which channel to chose and uses this.

Wifi extender chooses which channel to use for it's own (local) wifi. So if you chose ch6 then extender and phone will talk over ch6, but the commnuication between Tello and extender will be on the channel chosen by Tello.

So if you decide to use an extender with a fixed channel it's a good idea to start this before switching on Tello. That way Tello can see the extenders channel and use some other channel. Otherwise you may end up with both extender and Tello selecting ch6. That would work but not perfect.
 
Tello decides which channel to chose and uses this.

Wifi extender chooses which channel to use for it's own (local) wifi. So if you chose ch6 then extender and phone will talk over ch6, but the commnuication between Tello and extender will be on the channel chosen by Tello.

So if you decide to use an extender with a fixed channel it's a good idea to start this before switching on Tello. That way Tello can see the extenders channel and use some other channel. Otherwise you may end up with both extender and Tello selecting ch6. That would work but not perfect.
My thought process was.

If you are in an area where the channels 1, 2, 4, 5, 6, & 7 are occupied. If you have both the Tello and extender on auto channel, the ones most likely to be chosen wil be 3 by Tello and 8 by extender. If you set the extender to 11 for example, as far away from other active channels, then the only problem will be the Tello choosing channel 3. This way you make sure that at least half of your setup won't be compromised by interference.

All of this is under the assumption that you always fly using the extender. I always turn on my extender, even if I'm just testing something, but won't fly far.
 
Ok guys,

Very interesting thoughts. I read your theories with interest.

But, as you know I have been ivestigating about this matters for many weeks. I performed many experiments trying to understand Tello WIFI channel selection. I'm going to give you some more facts:

First discovery: Surprisingly Xiaomi Repeteater WORKS THE SAME CHANNEL THAN TELLO'S WIFI. I was really shocked by this discovery. The most logical thing is working at separate channels but we were all wrong. You can repeat experimente easily and you will get results very similar to this two samples. Take into account that TELLORAUL is my TELLO's wifi and TELLORAUL_plus is the Xiaomi WIFI extender one. Any other name you can read are neighboring wifi networks/routers. Colors do not matter at all.

Tello and Xiaomi Extender working at the same channel sample #1
together 1.jpg

Tello and Xiaomi Extender working at the same channel sample #2
togheter 2.jpg

Second discovery: When TELLO is still turned off but you start Xiaomi Repeter you will notice that after startup, Xiaomi Repeater ALWAYS stays at channel 1. He does not care if there are other networks on that channel or not. See here:
extender alone ch1.jpg

When you put together two previous discoveries you can get surprising behaviors depending the power on sequence:

First boot sequence: You turn on the TELLO first and wait for it to choose a channel (channel one in this sample). After that, you power on Xiaomi extender. As you can see Extender will keep the same channel. (channel one)

First, TELLO turned on at channel one without Xiaomi Extender
storie chapter 1.jpg

Then, Xiaomi Extender turned on AFTER Tello is keeping the same channel (channel one)
storie chapter 2.jpg

Second boot sequence: Xiaomi Extender turned on first. As I said before it stays at channel one. After that, you turned on TELLO. When Tello scans for free channels he noticed channel one is already used (by xiaomi extender), then he choose another channel, in this sample channel selected is channel five. But Xiami extender is prepared for working the SAME channel than Tello. As soon Repeater detects TELLO at channel five he changes it's own channel from one to five.

First, Xiaomi extender turned on at channel one
new chapter 1.jpg

After that, Tello is turned on and selecting free channel number five. As soon as Repeater noticed Tello at channel five it changes itselt to the same channel (five)
new chapter 2.jpg

We got it ! Staying in the same environment and only depending on the power on sequence we can get Tello choosing different wifi channels: one or five.

In summary: I think it is better to turn on the Tello first and then the repeater, because the repeater always occupies the channel one at startup and channel one can actually be free.

I hope not been too boring ;)

What are your thoughts ?
 
I´ve tried:
-start Tello
-start repeater
-let them connect
-restart Tello

unfortunatly it just resultet in the repeater jumping to the new channel of the tello. So there seems to be no easy way to get seperat channels for both, the tello and the repeater (appart from channel 1)
 
My neighbors's wifi names is like "ham_sandwich" and "bacon_egg". Guess he was hungry.

Back to topic, i checked what happens with my Xiaomi Nano Youth router extending tello's wifi:
Whatever I do it just picks ch1 and stays there. So if router is switched on first it will pick ch1 and Tello will pick ch6 and both keep their channels. If I switch on Tello first both end up on ch1.
I guess I can select the channel it uses but I forgot to write down the router admin password so can't check without going through a reset & reconfigure.

What I love about the Nano Youth is that it can be configured using a browser. Not this nasty chinese spyware MiHome. I haven't looked into the packet contents but MiHome is calling home all the time, and it tries to access files it should not. Not what I like on my main phone, another reason to get a cheap dedicated phone for flight control & related stuff.

On a side note: I am no expert in Wifi. But as far as I know multiple Wifi on the same channel don't cause that many problems because they "listen before they speak" (see Carrier Sense Multiple Access/Collision Avoidance – Wikipedia). Overall it just reduces throughput and increases latency, but you won't notice this.
It can become a problem if there is a wifi router nearby that has badly tuned antenna so doesn't notice an ongoing conversation and sends while the channel is busy, so Tellos whispers drown in this noise.

Bluetooth is different in that it does not / can not check for an ongoing wifi conversation but still interferes with it.
 
Last edited:
  • Like
Reactions: raulvolador
My neighbors's wifi names is like "ham_sandwich" and "bacon_egg". Guess he was hungry.

Back to topic, i checked what happens with my Xiaomi Nano Youth router extending tello's wifi:
Whatever I do it just picks ch1 and stays there. So if router is switched on first it will pick ch1 and Tello will pick ch6 and both keep their channels. If I switch on Tello first both end up on ch1.
I guess I can select the channel it uses but I forgot to write down the router admin password so can't check without going through a reset & reconfigure.

What I love about the Nano Youth is that it can be configured using a browser. Not this nasty chinese spyware MiHome. I haven't looked into the packet contents but MiHome is calling home all the time, and it tries to access files it should not. Not what I like on my main phone, another reason to get a cheap dedicated phone for flight control & related stuff.

On a side note: I am no expert in Wifi. But as far as I know multiple Wifi on the same channel don't cause that many problems because they "listen before they speak" (see Carrier Sense Multiple Access/Collision Avoidance – Wikipedia). Overall it just reduces throughput and increases latency, but you won't notice this.
It can become a problem if there is a wifi router nearby that has badly tuned antenna so doesn't notice an ongoing conversation and sends while the channel is busy, so Tellos whispers drown in this noise.

Bluetooth is different in that it does not / can not check for an ongoing wifi conversation but still interferes with it.

Somehow I would have thought that it wold be desirable to have the repeater and the Tello on different channels. After all, isn't the Tello pretty much sending a continuous stream of video? In any case, I have not found a way to get the Tello and the Xiaomi 2 repeater to remain on different channels regardless of the order of powering up.
 
Somehow I would have thought that it wold be desirable to have the repeater and the Tello on different channels. After all, isn't the Tello pretty much sending a continuous stream of video? In any case, I have not found a way to get the Tello and the Xiaomi 2 repeater to remain on different channels regardless of the order of powering up.
Desirable yes, necessary no.

Tello sends max 4Mbit which is in no way saturating a wifi channel.
 
  • Like
Reactions: raulvolador
The phone app connects to the controller via Bluetooth.
The controller connects to the drone via WiFi but I assume it goes thru the extender first when it is on and THEN to the drone.
So there is WiFi from the phone to the extender and WiFi from the extender to the drone, but all on one and the same frequency, or channel.

How is it possible for two different devices, the phone and the extender to use the same ONE frequency or WiFi channel at the same time to communicate with the drone? The drone responds promptly to commands from the controller which goes by Bluetooth to the phone which goes by WiFi to the extender which goes by WiFi at the same time to the drone. How does the phone send to the extender on that one frequency and the extender immediately send out on that same frequency again, at the same time, to the drone??? There should be feedback or conflict.
 
I works.
If you want to understand how and why there is plenty of lowlevel things learn about wifi standards, in particular csma/ca, csma/cd, time slots, etc.
 

New Posts

Members online

Forum statistics

Threads
5,690
Messages
39,934
Members
17,023
Latest member
Repiv

New Posts