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

Using the Logitech F310 GamePad with the DJI Tello

shortstheory

New member
Joined
May 21, 2019
Messages
1
Reaction score
0
I've written about how to interface the Tello with the Logitech F310 Gamepad, with more thoughts about the Tello on my blog here: Using the Logitech F310 gamepad with the DJI Tello

I have the popular, low-cost Logitech F310 gamepad. I've not been too satisfied with the feeling of controlling a drone using a touchscreen, so I wanted to see if it was possible to use my gamepad by looking at some of the efforts in reverse engineering the Tello.

Tello-Python: DJI's official Python API for interacting with the Tello. Promising, but I found their sample apps glitchy.
TelloPy: This library is amazing. It appears to be a port of some of the reverse engineering work on the Tello conducted by the Gobot folks. The API supports everything offered in Tello-Python and much more. To top it off, I found the sample TelloPy apps far more reliable than their Tello-Python counterparts

The nice thing about TelloPy is its controller support using pygame. However, this is limited to the PS4, PS3, XBOne, and Taranis controllers in gamepad mode. My Logitech F310 wired controller wasn't supported, so I figured out the button mappings in pygame and added it to the source of the joystick_and_video.py sample app. I've created a pull request for the same too. To download my fork of TelloPy, clone it from GitHub here:

git clone shortstheory/TelloPy

After this, build and install tellopy. The one currently available on pip seems to be outdated .

cd TelloPy
python setup.py bdist_wheel
pip install dist/tellopy-*.dev*.whl --upgrade

Now switch on the Tello and connect your computer to its WiFi hotspot. The Tello can be controlled using the F310 joystick using:

python tellopy.examples.joystick_and_video.py

Press RB to takeoff and LB to land! The left stick is used for yaw and altitude control and the right stick handles roll and pitch.

Raspberry Pi Controller

Tello

It would be nice if this could work without the need of a laptop. I tested this by following the same installation steps on a Pi Zero W running Raspbian Lite and the setup works well. I added the script to the Pi's crontab so it would start on every boot of the Pi:

sudo crontab -e

Followed by adding:

@reboot python /home/pi/TelloPy/tellopy/examples/joystick_and_video.py

To make the Pi Zero W automatically connect to the Tello when switched on, add the following lines to your /etc/wpa_supplicant.conf on the Pi:

network={
ssid="TELLO-XXXXXX"
key_mgmt=NONE
}

The Pi Zero is small enough to be tucked in behind the controller, even with a small Li-ion battery for power. However, I imagine the range of the Pi Zero W's Wi-Fi connection would only make it suitable for indoor flight. Fortunately, this can always be fixed by using a USB Wi-Fi dongle.

Things to be done

While the TelloPy API supports the directional flip capability of the Tello, it doesn't map these controls to the joystick. I plan on dedicating the D-Pad for directional flips. I would also want the video streamed to the Tello to be saved directly to the Pi's internal storage. It would also be interesting to see if I could get the Pi to handle the image processing tasks and control the Tello remotely.
 
Hi, i'd like to add "DragonRise Inc. Generic USB Joystick" support ,

can you explain "I figured out the button mappings in pygame" better , i should ude a command that output buttons mapping or there is a configuration file?
 
I have been thinking the same way. Just bought a f310 and now using it with tellofpv app thanks to the mapping function can change things around. Just need to have a fine day to fly.
 

Members online

No members online now.

Forum statistics

Threads
5,701
Messages
39,968
Members
17,064
Latest member
wroxel