Flight of the “smartphone uav” with two way mobile internet connection
A couple of improvements was made on the project. One of the hardest to get working was the
mobile to mobile device connection. A mobile internet access usually uses NAT technology which is
nice if you only access servers in the internet and if you start the connection. Things become
harder if you want to initiate a connection to a mobile device. For the “real time” concerns of the
project a UDP connection is preferred over a TCP connection. This is very similar to internet phone
applications like SIP or Skype ™.
Unfortunately there is no ready to use library appropriate to the system. This means such a library
has to developed.
The approach to get a connection is known as “NAT punching” and may end up in two different
types of connection between mobile devices. The first one is a direct connection between both
devices, the second is a connection with a server in between like a proxy. The direct connection is
preferred because of less delay.
The next improvement was the carrier. A bigger quadrocopter with more easy access on the
smartphone box. The box is also fixed on the copter for both, no pendular effect and better judgment
of the copter attitude. The bigger copter also get more flight time. Full loaded with a 2,45 Ah battery
it stays 10+ min. in the air.
The last improvement was to transmit telemetry information like gps position and compass. On the
ground station software the information is used to calculate distance, position and orientation of the
uav relative to the ground station. The raw gps information are also logged into a file.
For the video transmission the telephony software skype ™ is still used. But this time with the two
mobile devices and the cloudy day it was not possible to have a real fpv flight.
Some notes on security. The complete system have a lot of things that can fail, so it’s important to
take care about these things. Most interesting are all wireless connections. In this system there are
two of them. First the Bluetooth connection between smartphone and flight control. For this there is
a watchdog implemented in the Arduino which switch to a failsafe position if the smartphone does
not send commands anymore. The failsafe position result into an horizontal attitude of the QC and
let em go down. Fast enough to get out of the air but slow enough not to be damaged on ground
The second wireless connection is between smartphone and ground station and maybe a “proxy”
server in between. If this communication is lost both sites try to reconnect to each other to regain
control. If the smartphone get no commands it does also send no commands on the QC via
Bluetooth which result in the above described behavior.
If only the video transmitting breaks, the groundstation show still position, altitude and direction of
the uav. With these information it could be possible to get the uav back because the aircraft has to
be a self stabilizing one.
Not really a security issue but still very useful is the gps logging on the groundstation which makes
“search and rescue” operations more successful.
Advantages of this approach
What is the advantage of this approach compared to more “traditional” one?
The technology on mobile internet devices improves a lot the last years and do that further on the
next years. With LTE there is a promising, full packet orientated communication with less latency
and bigger bandwidth available soon. Transmitting a lot of data in a short time is possible and the
range of operation is really high. Mobile devices like smartphones have all necessary sensors in
it for a uav. They are also relatively cheap and can be used for a lot of usecases. Imagine that a
“stable” carrier, plane or quadrocopter, can be build up for 100 to 140 Euro. A smartphone may
cost 200 Euro. That’s not very much money for a rc model with uav capabilities, including a cam,
gps and more.