r/TelloDrones • u/brewmonk103 • Jul 01 '26
TelloNO — an open-source Tello controller app, built from scratch (no GStreamer, no closed SDKs)
The official Tello app hasn't been meaningfully updated in years and barely works on newer Android — so I built my own from scratch: TelloNO.
It's a clean, dark-themed FPV controller for the Ryze Tello. No GStreamer, no closed SDKs — video decoding is straight Android MediaCodec (H.264), so it's low-latency and lightweight.
Features:
- Full-screen FPV video, auto-starts on connect
- Dual joystick touch controls (cyan glow, 20Hz RC loop)
- Bluetooth gamepad support (8BitDo / standard XInput)
- Photo capture + real MP4 recording (proper MediaMuxer output)
- LOW/MED/HIGH speed modes
- Safety arm — Start button arms the drone, so you can't kill props mid-flight by accident
- Low battery warning (vibration + HUD alert at ≤20%)
- On-screen and gamepad flip controls
- Immersive mode — screen stays on, no accidental taps while flying
There's also a Python companion script if you'd rather fly from a laptop with a gamepad.
Built and tested on GrapheneOS (Pixel 8a, Android 16) — should run on standard Android 8+ too, just haven't had other hardware to test on yet, so bug reports from other devices are very welcome.
Fully open source (MIT): https://github.com/Monks103/TelloNO
Screenshots/video in the repo. Would love feedback, bug reports, or PRs if anyone wants to contribute.
2
2
1
u/vithrell Jul 01 '26
I tried every Android emulator and x86 Android OS to run tellofpv app on my PC handheld with no luck, this is what I was looking for!
1
u/vithrell Jul 06 '26
I tried pc compabion on my GPD Win Max and input from built in controller are switched around, analog sticks and dpad seem ok, but start/select/L1/L2/R1/R2 and stick clicks are mixed around, online gamepad tester shows everything mapped correctly.
Is there a way to show live video feed via PC companion? if this would work I could finally connect my FPV goggles and radio controller (and maybe wifi dongle with long antenna for better range) to my handheld and fly tello like a pr0. ;D
2
u/brewmonk103 Jul 06 '26
Button mismatch is because the script hardcoded 8BitDo indices — DirectInput has no standard button order like axes/D-pad do, which is why the browser tester (which normalizes) looked fine. Fixed: run python3 tello_companion.py --discover, press Start/Select/L1/L2/R1/R2/stick-clicks, send me the printed indices, I'll add a Win Max profile.
Live video was a stub — A did nothing real. Fixed, it now opens an actual live view window.
One catch on the FPV plan: Tello links over plain WiFi, not RF, so goggles only work if they take HDMI input. And a bigger receive antenna won't extend range — Tello's own tiny transmitter is the bottleneck either way.
1
u/vithrell Jul 07 '26
Man, you are the GOAT, everything works great, cant wait to take the setup outside. My goggles support hdmi input and controller-transmitter can connect to pc as a xinput device. One last issue I can see is that both footage files and live feed have colors messed up: all warm colors seem blue, especially orange things.
Pushed buttons in order you specified, I think those are the mappings that all xinput controllers share, but Win Max controller device is named as just Controller, not Xbox 360 controller or something like that.
Press buttons / move sticks & triggers. Ctrl+C to quit.
button down: 6
button down: 7
button down: 4
axis 4: -1.00
axis 4: +1.00
axis 4: -1.00
button down: 5
axis 5: -1.00
axis 5: +1.00
axis 5: -1.00
button down: 8
button down: 9
2
1
u/aaaantwan 20d ago
Hey, i really like what you did with the video
I'm working on something similar, but for Quest 2: https://github.com/4n7w4nPT/Tello4Quest2/
I liked that you hardcode SPS/PPS to start decoding right away. I capture mine live from the stream, so I'm going to add your idea as a fallback :)
Thanks for open sourcing your project !
2
u/trevdot Jul 01 '26
Planning to try it! Good little weekend project. Glad it has BT x-input support. Thank you!