Here is a short video presentation of my Skywalker X8 UAV using 3g broadband internet for video and telemetry.


Onboard my X8 i have this ZTE MF60 3g/Wifi router which handles the communication for the APM2.5 and the Raspberry Pi model B. I didn't wanna use the Dronecell because i will place the load away from the APM2.5. I could have put a 3g USB adapter in my Raspberry Pi as well, but the Pi have more than enough to do transcoding the video-stream, so i use a Cisco Wifi USB adapter in my Pi to communicate with the 3g router and GCS.


The telemetry from my APM2.5 is sent to a Serial 2 Wifi converter which then is connected via Wifi to the 3g router. I then connect to my APM2.5 using TCP from Mission Planner.


The Raspberry Pi are using VLC Player for Linux to transcode the videostream from the Microsoft Lifecam webcamera to a resolution of 352x288 at 500kbit/s and 10 fps. If you want to use the same solution just change the hostname and port to you needs in the command below. I use Dynamic DNS (client configured in my Raspbery Pi) since mye 3g router gets a dynamic IP adress on every new connection.

Command in the Pi for starting videostream:

"sudo -u pi vlc-wrapper -I dummy -vvv v4l2:///dev/video0 :v4l2-width=352 :v4l2-height=288 :v4l2-fps=10 :sout='#transcode{vcodec=MJPG,vb=500,fps=10,scale=1,width=352,height=288,acodec=none}:std{mux=ts,access=udp{ttl=10},}' :sout-all :sout-keep"

At my GCS i start VLC using this command in a .CMD file to recieve the video from the X8 and re-stream it to the Mission Planner:

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" udp://@ --sout=#transcode{vcodec=MJPG,vb=500,fps=10,scale=1,width=352,height=288,acodec=none}:duplicate{dst=http{mux=mpjpeg,dst=:8080/},dst=display} :sout-all :sout-keep

In Mission Planner you just enter "http://localhost:8080" in the "SET MJPEG Source" when right-clicking the Hud. I have a 6GB per month dataplan in my 3g router and my calculations says that this can give me more than 52 hours of videostream. My sim card is a non-firewalled APN.


For now everything is powered from a MaxAmps 11000mah LIPO  This is a high capasity battery and the weight is only 825gram. My plan is to have 2 of those in my X8 for a really long range flight.

Right now i'm using a Sanwa 35mHz radio, but i waiting for my Turnigy 9XR and 433mHz modules from Hobbyking. I don't use 2.4gHz because of the 2.4gHz in my 3g router.



E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Hey Tommy I thought you would be the best person to ask about this. Have you looked into just using an onboard phone to update waypoints directly to APM? It seems like it should be easy but I don't know where to start.

  • Beautiful job Tommy ! I ve just realized how it could be done.

    Thanks ! 

  • I probably should... But i want the longest flight time and light weight. I don't want to get one empty battery before the other so i draw all power from just one.

  • correction, mjpg-streamer on UDP via cellular @ 15fps and 640x480 the lowest latency I've achieved  127ms ....  

  • no need to load pi with video streaming, works much better as a 3G/4G router with an IP cam :) I am using Trendnet TV-IP672PI @ 640 x 400 and 15fps latency is about 500ms ..... i think if I change to verizon (currently ATT) and verizon dongle on the other end (currently landline comcast) it will go to 100ish ,, just don't want to sign up for a 2x 2year data plans with verizon... :) 

  • Keep an eye on Soren Kuula. He now has a beaglebone black and a C920(internal H.264 formatting) webcam. I'm hoping he can figure out how to stream the H.264 and telemetry using only the BB, webcam, and a USB 4G dongle. If anyone can, it' him!

  • Thank you Taylor :-)

  • @Tommy: Great Work!

  • @Artem: The RN-174 takes the telemetry serial data from APM and converts it to TCP/IP. This way the serial data is sent as IP packets instead of UART serial data. In MP you just select TCP and enter the IP address/dns of the 3g router which forwards the communication to the RN-174.

    @Brian: Yes i configure the hotspot as without using 3g, but the wifi range is only 10-20 meter. When i route the data via 3g i can connect to my router via another internet connection on my GCS. I have tested this on a long range (58km+) behind a mountain far away and it works! If you don't use a router, how can you fly more than 20m from your GCS?? The overclocked Pi uses all it's resources to transcode the video to a small resolution and lower bitrate video, to be sent via 3g/internet.

    @John Smith: The big range is internet! :)

  • Hi, again.... I'm not going to delve to create but, from what I read about the Serial 2 WiFi Converter you should not need a router. The Converter has all the necessary services and radio to provide you a private wireless WiFi network between ground station and vehicle. You may need 2 converters the way you have the Pi. The Cisco and the Converter are both 2.4GHz WiFi devices. Put the devices on the same network with your ground station each having a unique IP address from the same private block of addresses. Usually, Next, adjust routing tables on your laptop (GCS) to communicate services from the GCS to the WiFi addresses you assigned the Vehicle's two WiFi radios. You then have a virtual network in the sky. These instructions are the general setup of a network.

    Raspberry Pi - What processing is the Pi doing with the video that has it loaded up/down? If the Pi is performing only one function it should have processor power to devote a small amount to communications too?

This reply was deleted.