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

No WiFi being broadcast by Tello EDU after plugging in USB OTG cable

lennertjans

New member
Joined
Mar 9, 2021
Messages
4
Reaction score
0
Hi all,

First of all: love this forum, been a great help so far! I'm developing some hardware via a raspberry pi zero W that will be mounted to my Tello EDU that allows me to write custom programs in Python which then can control the drone to perform some skywriting.
Hardware used is very similar to the post of @martinpi: Onboard Raspberry Pi. Once finished I'll try to post some more information regarding the project, still have some work :)

So far so good: the raspberry pi can command the drone. To provide power, I first had a battery powered solution but to increase the performance (~reducing weight), I tried to power the pi from the USB connector on the Tello via an OTG cable.

This is where things get weird:
  • booting the drone with the OTG cable attached (not even a raspberry pi, see attached picture) --> I get a stable 5V out of the connection but the Tello doesn't generate a WiFi signal
  • booting the drone with no OTG cable attached --> a WiFi signal is broadcast but connecting the OTG cable later doesn't supply the 5V on the connector
For my application it is clear I would need both the 5V output from the USB and the drone to generate its WiFi signal for the pi to connect to.
I've browsed this forum and other posts on the internet (f.e. this YouTube link) but cannot find why I'm seeing this effect.

Hope there is someone to save the day, since it's part of a marriage proposal ;)

Thanks in advance, very much appreciated!

Kind regards,
Lennert
 

Attachments

  • IMG_20210430_212209[1].jpg
    IMG_20210430_212209[1].jpg
    3.6 MB · Views: 5

Mike Shock

Well-known member
Joined
Mar 13, 2019
Messages
88
Reaction score
18
Location
Russia
I'm trying to emulate RMTT module of the DJI Robomaster TT Extension Kit by a pure ESP32. And I also need to use TelloEDU's microUSB port for powering the MCU and for sending commands via serial-over-USB.
And I'm also got stuck because of this problem: OTG cable prevents the drone from booting into "Wi-Fi AP mode". :(
It's mentioned here that Wi-Fi stopped working with the connected OTG cable since the f/w v.02.05.01.13. I think now TelloEDU does some checking - if the RMTT module connected or not: this may be done by measurnig some resistor value or (most likely) by getting some info via serial-over-USB.
 
Last edited:

quaddamage

Active member
Joined
Sep 5, 2019
Messages
28
Reaction score
7
I used different USB cables, including FFC, with the same results.
Sorry, I should've explained myself better.
I commented on USB cable just to indicate it would look better and create less drag / less efficiency loss for the propellers. It wasn't my intention to comment on the USB functionality issue.

But since I'm writing again:
Unless there's a flyc parameter which controls USB behavior, there isn't much you can do. The firmware is encrypted, and the format used seem to be specific to Movidius - it would require a lot of time spent by some good engineers to make it modifiable.

Options (note: I barely know Tello and don't know its SDK, I mostly used Phantoms):

1. Check flyc parameters of Tello. Honestly, I'm not even sure if there is an interface to list and change them; but in all DJI Flight Controllers there's an array of over a thousand individual options which can be changed. For example max flight height is one of these options. Options can be accessed by text name, by index, or by some kind of hash, I've heard the hash is somehow made out of the name.

2. Use FET transistors to keep the USB disconnected for some time after power on. 555 timer in monostable mode can be used to make a delay. Or GPIO pins of Pi, if their state it well defined at boot.

3. Revert to older firmware. That's probably the best option. I'm not sure how it is with Tello, but for Phantoms, all updates after a few initial ones were for the benefit of DJI, not benefit of users. So I doubt you lose anything.
 
  • Like
Reactions: Mike Shock

volate!lo

Well-known member
Joined
Dec 13, 2018
Messages
2,876
Reaction score
2,613
Location
Germany
Actually this makes some sense. Maybe (I don't know ! ) the TT connector directly sends commands to Tello using some USB protocol, so Tello's wifi is no longer required.

Actually that was my understanding after reading the description of the TT connector - but I haven't purchased one.
 

Mike Shock

Well-known member
Joined
Mar 13, 2019
Messages
88
Reaction score
18
Location
Russia
Sorry, I should've explained myself better.
I commented on USB cable just to indicate it would look better and create less drag / less efficiency loss for the propellers. It wasn't my intention to comment on the USB functionality issue.

But since I'm writing again:
Unless there's a flyc parameter which controls USB behavior, there isn't much you can do. The firmware is encrypted, and the format used seem to be specific to Movidius - it would require a lot of time spent by some good engineers to make it modifiable.

Options (note: I barely know Tello and don't know its SDK, I mostly used Phantoms):

1. Check flyc parameters of Tello. Honestly, I'm not even sure if there is an interface to list and change them; but in all DJI Flight Controllers there's an array of over a thousand individual options which can be changed. For example max flight height is one of these options. Options can be accessed by text name, by index, or by some kind of hash, I've heard the hash is somehow made out of the name.

2. Use FET transistors to keep the USB disconnected for some time after power on. 555 timer in monostable mode can be used to make a delay. Or GPIO pins of Pi, if their state it well defined at boot.

3. Revert to older firmware. That's probably the best option. I'm not sure how it is with Tello, but for Phantoms, all updates after a few initial ones were for the benefit of DJI, not benefit of users. So I doubt you lose anything.
Thank you for such a detailed answer. You gave me some hints to finding a way out. So I'll keep on trying...
 

Mike Shock

Well-known member
Joined
Mar 13, 2019
Messages
88
Reaction score
18
Location
Russia
Actually this makes some sense. Maybe (I don't know ! ) the TT connector directly sends commands to Tello using some USB protocol, so Tello's wifi is no longer required.

Actually that was my understanding after reading the description of the TT connector - but I haven't purchased one.
There are some interesting source codes in the RoboMaster/RMTT_Libs to inspect. But I haven't found the solution yet.
 

volate!lo

Well-known member
Joined
Dec 13, 2018
Messages
2,876
Reaction score
2,613
Location
Germany
Looks like the connector does indeed send commands to tello using serial connection:


So the connector has it's own 5.4Ghz wifi to the controlling phone / computer and forwards the comands via USB. I haven't seen if / how the video is handled in this case.
But since tello no longer broadcasts wifi I suppose this is also sent through the connector, via USB and then forwarded with 5.4 wifi. Sounds like this could significantly improve video quality in case of BT interference.
 

quaddamage

Active member
Joined
Sep 5, 2019
Messages
28
Reaction score
7
This doesn't look like "real" API - by that I mean, there are probably other means of communication, or a lot more commands.
Do we have a dump of WiFi communication between the app and Tello when flying?
I wonder if it uses the same API, or maybe binary DUML packets like other DJI drones do.
 

volate!lo

Well-known member
Joined
Dec 13, 2018
Messages
2,876
Reaction score
2,613
Location
Germany
These are just SDK commands.
The app uses a binary protocol, see wiki. Not exactly DUML but some close sibbling
 

New Threads

Members online

Forum statistics

Threads
5,220
Messages
37,714
Members
14,303
Latest member
ben.northwales