FPV setup with raspberry Pi


After much chasing, and testing, I have found this to be an efficient way of getting low latency high quality HD video out of an Aircraft. The latency is around 0.4 seconds at worst which would be OK for an FPV with an APM doing the hard work.

I will continue to search for methods to drop the latency down further, but this is a lot better than the 6-12 seconds I was getting on my first attempts.

Any comment (with useful instructions) would be appreciated.

For the wireless link, I am using two UBIQUITY ROCKET M 900 with Australian ACMA approved firmware, at the base station, I am using a tracking (yet to built the tracker...) 1.5 meter long X and Y polarised Yagi, and on the plane, two RF Design flexible strip antennas, placed at right angles to each other.

but how you do that bit is up to you.....

the critical bit is getting the Raspberry Pi's to chat to each other.

I have tried to make this as user friendly as possible... good luck.


Setting up IP video for Raspberry Pi 1080p video (FPV)


You will need 2 B model Raspberry Pi's and 1 Pi Camera. (Element 14, or RS components)

Preparing your Raspberry Pi for first boot…


Follow the instructions at

Install the prepared SD card in the Pi and boot.

Setting up your Pi

Connect the Pi to your router with a network cable.

On Start-up it will resize the FAT partition and present you with a menu.

Set your language, and keyboard layout.

Select Raspbian… then click install.

After this has extracted (will take a while….) it will reboot into the configuration screen (again will take a while for this first boot.)

The important things to change here are

  1. Enable the camera
  2. In advance options…..
    1. Set the host name (camera, for the camera end, receiver, for the viewing end)
    2. Memory split, set the memory for the GPU to 256
    3. Enable SSH ( will come in handy later, as you may need to talk to the Pi in the air.....

Then finish and reboot.

First login

Username: pi

Password: raspberry

Setting up the required programs for video streaming


Install the dependencies by running the following in a terminal:

sudo apt-get install mplayer netcat

cd /opt/vc/src/hello_pi

make –C libs/ilclient

make –C libs/vgfont

cd /opt/vc/src/hello_pi/hello_video


cd ~

Now repeat this for the other Pi….



First set up the receiver….

Ensure the receiver is connected to your network and run


after you press enter, you can find your ip Address.  Note this down.

Then run the following.

mkfifo buffer

nc -p 5001 -l > buffer | /opt/vc/src/hello_pi/hello_video/hello_video.bin buffer

the Pi will now wait for the feed.

On the Camera Pi

Ensure camera is connected to the Pi

Ensure Pi is connected to the network (you can confirm this with ifconfig)

(see instructions at for how to connect the camera)



In the following command, replace the ip address with the one you just noted down.

raspivid -t 0 -fps 15 -o - | nc 5001

if all goes well you should be streaming 1080P video at 15fps with less than 0.5seconds of delay..

now add your wireless bridge between the two, and away you go J

This information has come from the Raspberry Pi foundation website, and other sources, tested and proven by myself..

E-mail me when people leave their comments –

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

Join diydrones


  • Developer
    Is that with the Pi Camera?
  • If you have problems running GStreamer in RPi, take a look at my run-file. This works perfect over 3g :) Latency around 250ms over 3g.
    Shared with Dropbox
  • 100KM
    Ah cool. Ya the skyeye, I dont feel its a copy like some people suggest. Many aircraft have domes in the nose. Feel free to hit me up if you have any questions on the TP.
  • Developer

    the system is fitted in a Sky Eye, though a tech pod may be a better option :)

  • 100KM
    Interesting work. I was wondering about the aircraft you are useing.what type is it?
  • Nice work Philip, i'm myself very interested in the same, and working on a similar setup.

    Please do post your results!



  • Developer
    No spare ports on the rocket, so I would need hub or switch which I really don't want on board. So doing it on the Pi would be nice...
    @MD the advantage now with the onboard camera is the hardware encoding, with the USB on the Pi, you are limited in resolution. But there is no reason these two methods can't be merged... If you want 3G.. I don't want 3G, as I will be flying within a smaller defined area, around 5KM radius. Also 3G in Australia outside the major centers or highways is not reliable.
  • Definitely would be interested in seeing some range tests. I think I've seen a few setups that use an apm and a pi

    Would be interested in seeing some video of yours in hd. Awesome!
  • If you look at the products from LANtronix you can easily pipe your telemetry through your IP data link.  The Xport will accept TTL serial and make it avaliable as a telnet session.  Apm mission planner already supports getting data this way (choose ip rather than a com port).  It is a very easy solution assumeing you have an extra ethernet port onboard the aircraft, which with the rocket you likely do as most of them come with 2 ethernet ports!

  • Or just use a serial to wi-fi converter

This reply was deleted.