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: 10
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:
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
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.
 
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...
 
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.
 
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.
 
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.
 
These are just SDK commands.
The app uses a binary protocol, see wiki. Not exactly DUML but some close sibbling
 
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.
Hi Mike,

Have you succeeded emulating the RMTT? I’ve got a Tello EDU and flashed a ESP32 board with the default arduino project provided by DJI together with the RMTT_libs.h.
The first problem I see is that the debug serial port is the one connected to the USB-serial converter of the board. To make use of the serial port that sends the serial commands to the tello, I need to use an external usb-serial converter. This one might not be detected by tello, or might not support the 1000000 bauds.

I would appreciate if you could share your findings here on a new thread.

Thank you!
 
Last edited:

New Posts

Members online

No members online now.

Forum statistics

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

New Posts