3+km HD FPV system using commodity hardware


Over the last couple of months I have been working on a project that might be of interest to you: https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/

Basically it is a digital transmission of video data that mimics the (advantageous) properties of an analog link. Although I use cheap WIFI dongles this is not one of the many "I took a raspberry and transmitted my video over WIFI"-projects.

The difference is that I use the cards in injection mode. This allows to send and receive arbitrary WIFI packets. What advantages does this give?

- No association: A receiver always receives data as long as he is in range

- Unidirectional data flow: Normal WIFI uses acknowledgement frames and thus requires a two-way communication channel. Using my project gives the possibility to have an asymmetrical link (->different antenna types for RX and TX)

- Error tolerant: Normal WIFI throws away erroneous frames although they could have contained usable data. My project uses every data it gets.

For FPV usage this means:

- No stalling image feeds as with the other WIFI FPV projects

- No risk of disassociation (which equals to blindness)

- Graceful degradation of camera image instead of stalling (or worse: disassociation) when you are getting out of range

The project is still beta but already usable. On the TX and RX side you can use any linux machine you like. I use on both sides Raspberrys which works just fine. I also ported the whole stack to Android. If I have bystanders I just give them my tablet for joining the FPV fun :)

Using this system I was able to archive a range of 3km without any antenna tracking stuff. At that distance there was still enough power for some more km. But my line of sight was limited to 3km...

In the end, what does it cost? Not much. You just need:

2x Raspberry A+

2x 8€ wifi dongles

1x Raspberry camera

1x Some kind of cheap display

Happy to hear your thoughts/rebuild reports :)

See you,


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

Join diydrones

Email me when people reply –


        • Things have changed a bit since I posted here. The issue was with the gstreamer plugin. They are using an open source plugin now, which has more features. I have not looked at the new plugin yet though.

          The problem with the h264 encoder before was that you could not set parameters like the I-frame frequency and some other parameters I can't recall at the moment. Those are important if you have packet loss and you don't want the whole image to be garbled.

          For video stuff you definitely have to go with yocto. Ubuntu is also ok and probably much easier to use, but you need more flash than the default 256 MB to run it. Openwrt is for network stuff only, it does not have any multimedia support.

      • thx for clearing this,

        on your GW5100 did you test the Mini PCIe wifi card which they offered? did it work in wifibroadcast mode?



        • No, I have not tested the wifi card.

  • I've been shopping for the hardware to run wifibroadcast and thought the Orange Pi Mini 2 may be an interesting option.  It's cheaper that the Raspberry Pi 2, has a faster CPU clock and most importantly does both h264 and HEVC encoding in hardware.  I don't know how well the encoder is supported in software.  HEVC is considered to be much smaller and better quality than h264.

    Unfortunately according to my little inverstigation its CPU (Allwinner, not a Broadcom like in the raspberry) supports different image formats on the CSI interface and the popular Omnivision 5647-based Raspberry Pi cameras will not work because they only output RGB, not YUV422.  Most other cameras (OV5640, OV7670, GC0308, GC2035) do support YUV422 but none is as popular as the OV5647 and I've found none that accepts a fish-eye lens on e-bay, aliexpress, etc.

  • Has anyone been able to see if the raspi can act as a repeater? Maybe using 2 distant channels, to reduce interference. Tommy, did you get to try this ever?

  • Could anybody help me with my setup?

    I start up the transmitter but the led on wifi does not blink, just stays on.

    On the receiving side I do not see any message going by after the "ethercap" message.

    Details here:


    I'm going on vacation and hoping to get this working by Wednesday. I'm currently uploading my sd card image of the receiver and the transmitter. Willing to pay 50 bucks to get this working.

    RPI wifi transmitting
    Edit 4: Working vmware Ubuntu 14.04 LTS windows 8.1: Installed Ubuntu 14.04 LTS in vmware. Got video display working. Initially the Module would not…
    • ^ is that the $50 answer? :)
      • i'll have to test.

        • yes!! this works!,

          If you want your 50$ pm me you paypal email so i can send it.

          Does anybody know a good way to display the video on the receiving rpi 2b connected to a hdmi screen?


          If there is any interest i can upload the images of my receiver and sender to megaupload. So others can just write it to their sd card via win32diskimager and it instantly work.

          If anybody would like that, please respond.

          Edit 2:

          Ran the code on the receiver side and it works perfectly!

          you enther those commands listed in my google docs file and the program starts and opens up the video in full screen over HDMI port. Now i'm gonna try if this also works trough XRDP or other virtual desktop programs. 

          I would like to keep using windows 8 on my laptop and view the video trough remote desktop via ethernet port. However it could be that this will not work due to the streamer application etc...

          Else I hve to find some HDMI goggles or a portable hdmi screen.

          • Hey Thijs, great to see you got it going!  With regards to displaying it on your laptop, there are probably ways you can either pipe the output of the wifibroadcast rx over the network to your laptop and pick it up from there - you could look at netcat or gstreamer - or else you could try what I had to do with my macbook which is run a linux VM and activate the usb wifi dongle to that VM.  Then the instructions remain exactly as described in the wifibroadcast setup.  Works perfectly for me, and these days virtualisation video seems to work really well, far better than rdp I would have thought.

This reply was deleted.