My Quad with RPi2 , Navio+ and a 4G modem


Very cool! Would love to read more about your setup and how everything works with a joystick. :smile:

Yeah, that’s awesome! I’m impressed that control over telemetry seems to work so well. Keep up the good work:)

@ogulbrandsen You are two step ahead of me… hehe. Nice Work
Im going to test this airplane today if the weather holds.

Also, any luck with the 4g? or are you still using wireless 4g router?
I do have an UQMI “how to” for RPI2 if you want to test?



Your setup looks pretty neat too!
Looking forward for flight videos:)

Well, I ended up using the Huawei E3372s modem for a 4G connection on the computer and the Huawei E8278s 4G WiFi router as the modem on the quadcopter. When I’m testing out stuff and flying in close proximity I connect directly to the quad with WiFi, (saving bandwidth cost which can be quite a lot with video). It is quite flexible and the weight of E8278s almost the same.

When I want to fly further away I use the 4G on the computer to connect to the 4G modem on the quad. RPi2 can handle video and Arducopter without any problems so far. RPiB+ was not fast enough for both.

BTW, what camera are you using?

The RPi camera has a lot of noise that interferes with the GPS. With the shielding and ground plane I get HDOP of around 1 and 20 sats with camera off, with camera on I get HDOP of aroun 1.6, still flyable, but I would like camera with less noise. GPS is pretty critical when flying far away…

Do you switch from WIFI to 4G in air?
I’m using Logitech C-920. I havent notify any GPS interference yet, but i will keep an eye on it …  Thx for pointing that out.
Its to windy outside today, so hopefully weather will be more calm tomorrow.

How long flight time did you get on this frame with everything connected?
I had a simular copter, inspired by (EndOfDays at rcgroup). 17,5 prop i 360kv motors. i manage to get 55min “only hovering” AUW was about 1750g if i remeber correct. Im used Panasonic NCR18650b 4s4p 13600mah 2C

But the copter acted very sluggish and slow, not very responsive.

No I do not switch in air. I think I’ll try out the C920. (Without shielding on the RPi camera I could not get a GPS 3d fix.)

Wow, yes pretty similar. I was inspired by the EndOfDays too. Not sure what my max fligth time is. I’ve flown for 20 minutes and used about 3400 mah. The batteries are 12 000 mah, so I guess my flight time is similar. It is a little sluggish, but not too bad. I wanted something for long range flying… max loiter speed is around 35 km/h. I am using the GEB8043125 lipo batteries.

I saw your blog a year ago and was very inspired by the possibility of both controlling and stream video over a mobile connection, but it looked a little heavy and complicated.

Now however, with the Navio+ and the recent RPi2 you can have it all in one easy module. 4g connection coverage is also a lot better now. The future is here :slight_smile:

I wanted to fly far away using cellular communication, and i ended up using airplanes as mulitcopters has very limited flight time, specially with some payload…
You are absolutely right, this setup is awesome. Can’t wait to see what the next decade will bring. Hopefully next generation batteries… :smile:

Wonderful work!

I just receive my Navio+ board and I want to fly with 4G or WIFI too.
Do you use the 4G modem for APM telemetry or just for video downlink?

Yes, we use 4G modem for both telemetry and video.
You can read my blog post here. I was using sakis3g in that blog article, now im using UQMI which fully supports 4G LTE

@Bernt_Christian_Egel Thanks! I’ll try to follow your instructions to setup my own AP

I moved 9 posts to a new topic: APM does not autostart on boot

where did you get that shielding for the Pi camera, I can’t find anything like it. Did you make it?

I just used some copper tape:
First I isolated it with some black electrical tape, then the copper tape, then another layer of electrical tape

Dear Ole,

Thank you so much for this post. The work is incredible and I am very excited to try this out for myself.
I have been flying my Hexacopter with Navio+ for quite some time now and I feel I’m ready to make the conversion to a 4G link for controls, telemetry and video.
I tried to follow the steps as outlined by Bernt Christian Egeland, ( but I can’t get my 4G dongle to connect to my raspberry pi over usb.
I bought the one that you are mentioning in your post: the Huawei E8278s-602 but I can’t get my RasPi to recognize it.
Could you tell me how you managed to do this?
Your help is highly appreciated.
With kind regards,


@ogulbrandsen @Bernt_Christian_Egel @fabienmonnier

As far as I can know, there are three ways of communication inside a drone, control for flying in the air, telemetry for flying data, and streaming for video. This means that a drone has to have three communicating systems for control, telemetry and video streaming. However, 3dr solo has only a way of communicaton [1] for control, telemetery and video streaming, which is exactly custom wifi. (If wrong, please correct me.)
so, here are some questions on communication inside a drone with rpi2b and navio+.
1> Is there a kind of wifi which is able to make a drone have only a way of communication for three purposes, i.e. control, telemetry, video streaming?

2> For 4G modem on drone, you guys have already verified that it definitely has the ability for telemetry and video streaming. But, how for control in air?

3> If 1> and 2> are both true, then people can have themselvies make good use of existing devices with drone apps running on them, like smartphone, tablet, phoblet, taking full control of drones. Then there is no need for remote controller out there, right?

1 Like

That architecture diagram is interesting… Then 3DR do not (physically) integrate the hardware so well as Navio. Their architecture (from their diagram) is more like the Navio clones which don’t embed devices directly into the host (RasPi) system/buses, but use “external” connections. Capabilities of Navio should be the same and more then.

In Navio we can run programs directly on the same host which is also “inside” the Pixhawk “box” (in relation to the 3DR diagram) so when we need more integration than MAVLink provides, we can write hooks into APM or customize the build directly to mix-in any other hardware or programs on the host system.

Regarding Wifi this is where it gets proprietary. DJI, Solo and DragonLink have their own “special” (expensive) solutions, most likely based on standard Wifi protocols. I didn’t see any information on “SoloLink” on the 3DR site you linked to, maybe you can discover more in their source if it’s really all open/shared.

Back to standards, we have to pick and choose technologies and antennas. So of course mobile networks are going to be patchy and have a lot of latency compared to a private wifi setup. Longer range could be achieved with private wifi and an antenna tracker, but the laws in most countries don’t permit us to fly out of sight anyway. This is where you need the input from the other guys with more experience.

The “don’t need an RC transmitter/receiver” question is often asked, just search here for many opinions and experience. In short it’s doable but many people just install a cheap/small receiver anyway for backup/landing.

It would be good if somebody could write-up an article/study (any students out there looking for a project for their course?) comparing the different technologies with scientific methods. It’s a burning question I plan to answer for myself if nobody else does it. But I’m way too busy until Q2 next year, working hard on other software stuff for Navio first.

Given that many DIY wifi setups are cheap I’d just experiment yourself with common hardware, then search RC Groups for other more expensive equipment if the cheaper solution does not satisfy your requirements.

To answer your other questions, how it works. It’s basically the same as a local network. You may have some difficulty with the configuration as Linux and Wifi can be a real pain to get right. But once it is running (maybe only buy adapters which have explicit Linux support) it’s the same MAVLink connection. You will connect to the drone for commands over TCP and listen on UDP for status updates. Perhaps use Mission Planner over APM Planner 2 as the GCS, because the joystick support there is more mature.

Moving forwards, if you have compatible Linux drivers, then a “mesh” style network is quite attractive because it makes your drone into a flying hotspot and you can implement concepts like multi-drone communication and re-connects easier. But I found that the mesh mode was not implemented or buggy when trying to configure this on any half-decent network adapter (Linux seems to lag behind here). That’s one reason I was looking at the Windows solution, but even Microsoft are lagging behind on Wifi drivers for the IoT/RasPi even though they already exist on the full desktop build and in theory should run with little or no modification.