Companion: Pi 2/3/Zero

A discussion page to allow me to add my experiences using a Raspberry Pi 2/3/Zero V1.2/1.3 as a companion computer for Ardupilot/APM/Pixhawk flight boards. I will update my experiences as I learn, feel free to comment and offer tips, it's all free here.



I'm building a github for my experiments:

Drone Unit: Raspberry Pi Zero V1.3 + Pi Camera Module
img file:

Ground Unit: Raspberry Pi 2

img file: <to be added>

Goggles Unit: Raspberry Pi Zero V1.3

img file:

Ardupilot Technical Questions:

Also, if you have any technical code/hardware questions which you feel may take ongoing contributions and help over an extended timeframe, feel free to ask over on technical discussion page here

I will update as I get by, please contribute by offering your 'plug & play' wifi adapters using Raspbian Jessie. Also, if you happen to pick up this project, and are working faster than me, then please send us your own .img file experiments. Thanks.

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

Join diydrones

Email me when people reply –


  • Here's the first pic of V0.1/Vehicle companion pi2:


    I'm waiting for u.fl antenna to replace the rubberducks, which will make it lighter and allow the antenna to trail down the landing gear of the quad.

    I'm planning on printing one of Patrick Duffy's dummy gopro cameras to allow me to connect the pi camera to my walkera G-2d gimbal.

    Looks like it's an all-in-one unit for flight control, video, data, communication....And potentially has room for code such as OSD video overlay, Camera control, Image transfer, or perhaps OpenCV detection (But why not do that on the groundstation?). Also the parts are reusable for other projects too.

    Total price = about £60/76Euros/$88

    $600-$1000 Cheaper than all the others on the market and this is open source/upgradeable/modifiable.

    Linux work to follow...Need code experts to help.

    • @Ben,  FYI, if you want to use one wifi dongle, with multiple UDP streams, you need to pick different ports for each stream.  I use port 9000 for video, and the default port 14550 for the MavLink stream, and a third stream is actually HTTP which is the GoPro camera.   This way you can eliminate the second dongle.

    • Thanks Patrick, I'm going to test multi-UDP tomorrow. In my head it's going to cause the wifi dongle to melt, but i'm sure it will be okay :)

    • @Patrick, well who would have thought?!!

      2 x simultaneuos SSH sessions:

      1 - for UDP data/mavproxy

      1 - for UDP pi video

      All over 1 wifi without melting :) :)

      I'm very happy right now.


  • Hi Ben, thanks for all the information you have provided. So, the hardware and connections are very clear, however, I have a few questions.

    I have a different unit ( 4gmetry ) than the Raspberry Pi2, it appears to have the same connections. The problem I have had is that theLTE Dongles available in the US are not working with the 4gmetry computer to transfer video over LTE, consequently I will try using wi fi to transfer video.

    What is the software required to run in Linux, and is there a code or particular protocol to follow in order to transfer video in WIFi?, can you list the steps from the beginning ?

  • hdmi to csi + adapter = 170 Euro.....
    UVC capture dongle adds about 500 ms latency....

    • @ Paul Meier - I think your data is incorrect: 500ms latency is not correct, it is faster than that. Here is a test video I made:

  • If anybody would like to delve into using UDT with Rpi2 here is the place to begin:
    V4 Manual:



    I will be glad to hear about your success!

    One thing which interests me right now is what are your opinions regarding the three video transfer protocols, their pros & cons, their suitability (and why so). Here are the three I currently learn about:
    UDP - Used in Patrick Duffy Pi example

    UDT - Used by Dji Lightbridge

    Wifibroadcst - Used by the open community in fpv Linux projects


    UDT Manual
  • Neat lightweight antenna for onboard pi23702235058?profile=original


This reply was deleted.