Remote drone from GCS over 4G network

Hi everybody. I’m a newbie. I am trying to create a project to control my drone from the ground station.
My drone is built from: RPI + Navio2. I am referencing the model below, but how can I connect the drone to the gateway (RPI + 3DR Telemetry Radio). Thanks for the help from everyone.

Once you are using a RPi+Linux board FC (Navio2), you’re ready to control your vehicle remotely from GCS.

All you need is to add 4G link to RPi, like a USB modem stick and create a way to link to GCS, like vpn, public IP, etc.

If you are comfortable to deal with that, go ahead.
Otherwise I reccomend to you UAV Cast Pro, wich is a all-in-one solution for the scenario.

1 Like

Hi, thanks for your comments. I am using zerotier to provide static ip. My RPI and GCS are already connected to Zerotier. How can I connect from Qgroundcontroll to Zerotier? Thank you.

It’s just follow the Emlid Navio2 docs as:

pi@navio: ~ $ sudo nano /etc/default/arducopter


TELEM2 ="-A udp:"

Replace the 192… ip above to your GCS zerotier ip.

Here you can check the full config docs.

1 Like

I got an error like this. I check again, still see RPI and GCS connecting to zerotier. Even I’m still SSH to RPI using IP from Zerotier.

First of all: your IP address is not correct written (you cannot use spaces between numbers and dots).

Parts of IP address

Additionally, you didn’t follow the docs by the book. Don’t need to change the TELEM1 variable. Just add/edit TELEM2.

1 Like

Hi, I’m sorry I didn’t tell you about the IP address, I masked some.

I am following these instructions

I am trying to build a small project like this. Is there anything I am missing from this model, if so please let me know? At GCS I establish a UDP or TCP connection with the RPI address zerotier provided right? Thanks for your advice.

You design seems to be ok, the basic problem is you are typing a space inside your IPs address.

The IPs should be: (NOT 192.168.195. 19) (NOT 192.168.195. 53)

1 Like

save the headache, uavcast works great and reliable…


Thank you for your comments, but I want to find out this way:))


It still can’t work. Will I have to install anything more for GCS?

I think you’re getting the inputs and outputs confused.

MAVProxy on your Navio2 should be: --master= --out=udpout:
(Note the TELEM1 on the Navio config. You want to take in telemetry from there and output to your GCS)

Then on your GCS, connect via UDP 192.168.253:14550 (the GCS IP).

1 Like

You don’t need to use to connect to your GCS.

In Sumary:

  1. Make sure Navio board and GCS are online at Zerotier (test ping to each other).

  2. Assuming that your GCS IP is, set /etc/default/arducopter to:
    TELEM1="-A udp:"
    TELEM2="-A udp:"

    # Options to pass to ArduPilot

  3. You dont need to create any entry at QGroundControl > Comm Links tab. The vehicle (Navio) will send through UDP to GCS.

  4. Start
    pi@navio: ~ $ sudo systemctl start arducopter
    And everything should work.

1 Like

Thank you very much. It has successfully connected with the GCS Mission planner and Qgroundcontrol. My next plan is to use the joystick connected to the GCS to control the UAV. Is this possible or not? I want to know for sure before buying a joystick, because my current economy doesn’t allow:))). Thanks for the advice from these

1 Like
I am referencing this article, and they said need a telemetry connection between your ground station and vehicle. This is not in the right direction for me, because it won’t fly far. Do we have a solution? Thanks for the comments.

You already have your GCS <> Vehicle connection through mavlink.
The connection is two-way.
Go ahead.

P.S.: I recommend you use the last Emlid Raspian image, which come with arducopter 4.0.3. I noticed you are using 3.6.5.

1 Like

I have been using Nebula mesh VPN for a while and it works great. But I have not tried it yet with my Quad. It is simple to setup and very recently it got support for Android.

1 Like

Hello, my project sometimes encountered the problem as shown below. The ground station does not seem to be able to derive its parameters from the UAV. I want to know the cause of this problem so I can fix it.
Thank you very much!

Once your communication between GCS and UAV is over 4G, maybe you’re experiencing low signal/quality of link.

1 Like