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 –


    • That seems to be the problem! I get 0B/sec! :(
      • but your loss rate is low which means you must have been getting something. confused.
    • If you add pv to your command what speed are you getting?  Do:

      <your rx command> | pv > /dev/null

  • Hi guys,

    Thanks befinitiv for all the work you've put in here! I have followed your instructions on your wordpress page and setup wifibroadcast on two raspberry A+ boards. My current config uses the TP link 722's. The Pi camera is working fine, and the TX side seems to be running OK. My problem is with the RX side. I just cant get the video to display! I've recompiled the hello video application using the video.c file you provide. I get an error from tv service saying it cant start, error -1, and then I get a bunch of packet dropped messages, no video is displayed. Any clue what I'm doing wrong here? Both my TP-links use the patched drivers you provide.


    • Hi uttameflight

      I think you are almost there :) Could you post us the complete command lines you are using for both tx and rx side?

      • Hi befinitiv,

        Thanks! I've followed all your instructions from here: https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmiss...

        On the TX side:

        1) clone wifibroadcast

        2) patch wifi card firmware

        3) Compile wifibroadcast

        4) Monitor mode using the 6 commands on your page

        The wifi card starts blinking and I see packets being injected on the terminal

        On the Rx side:

        1) Clone and make wifibroadcast

        2) Rebuild hello_video using the video.c file you provide

        3) Run the 7 commands on your page

        This is what gives me the error followed by some lost packet messages.

        I've tested the hello_video after the patch with test.h264 and it works fine.

        -Thanks, looking forward to some HD video soon!


        Wifibroadcast – Analog-like transmission of live video data
        Wifibroadcast is a project aimed at the live transmission of HD video (and other) data using wifi radios. One prominent use case is to transmit camer…
    • Developer


      Sorry to butt in but it might be good to first try using the images provided by Tommy Larsen.  I'm not sure if they're optimal but I've confirmed they work on my set-up at least as far as displaying images.

      Shared with Dropbox
      • hehe, feel free to butt in anytime, Randy! :) Thanks, will look at those images. Do the images contain the complete raspbian OS for tx and the rx?

        • Developer


          Yes, there are two images, one for tx side and one for rx side.

          I accidentally turned off "following" of this thread so missed this question.

  • Developer

    I did my flight test today with my IRIS+Navio+WifiBroadcast using Alfa AWUS036NHA adapters with the regular 5db antennas on both tx and rx sides.

    I went as far as 280m and although the video was breaking up quite regularly I was getting clear periods as well.  The video was dropping out at regular intervals even when the vehicle was just 5m away so I need to look at what's going on there.  There are a lot of trees in my area so that was also not helping I suspect.

    The good news was the Ublox M8 GPS was fine with very low HDOP.  As a precaution I wrapped the RPi camera and ribbon cable in aluminum tape but was still seeing lots of interference during bench testing indoors.  Once outdoors however the GPS was a-ok.

    Next I plan to add a 3rd wifi adapter and see if "diversity" helps reliability.  Also I will start using befinitiv's startup scripts to ensure all the parameters are the same as what he is using and retest latency.


This reply was deleted.


DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
DIY Robocars via Twitter
May 11
DIY Robocars via Twitter
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Noticed my car zigzagged in last run. It turned out to be the grass stuck in the wheel and made the odometry less accura…
May 8
DIY Robocars via Twitter
RT @SmallpixelCar: Test my car. RTK GPS worked great. Thanks @emlid for their support. https://t.co/EkQ6qmjmWR
May 8
DIY Drones via Twitter
RT @chr1sa: @kane That's @diydrones circa 2009. Still have a box of those Canon cameras that we used to strap into planes, just like this.…
May 3
DIY Robocars via Twitter
RT @chr1sa: Our next @diyrobocars race is going to be outside at a real RC racetrack in Fremont on May 28. Fully autonomous racing, head-to…
Apr 30
DIY Robocars via Twitter
RT @f1tenth: Our Spring 2022 F1TENTH course @PennEngineers is coming to an end with a head-to-head race as a big finale. So proud of our st…
Apr 26
DIY Robocars via Twitter
RT @DanielChiaJH: I wrote a thing! Throughout the development of my @diyrobocars car I've been using @foxglovedev Studio to visualize and d…
Apr 23
DIY Robocars via Twitter
RT @SmallpixelCar: My new car for high speed. Low body, everything ( @NVIDIAEmbedded Jetson Xavier NX, @emlid RTK GPS, IMC) under the deck…
Apr 23
DIY Robocars via Twitter
Apr 21
DIY Robocars via Twitter
RT @f1tenth: F1TENTH Race training setup @PennEngineers for our upcoming ICRA2022 @ieee_ras_icra competition. @OpenRoboticsOrg @IndyAChalle…
Apr 21
DIY Robocars via Twitter
RT @fatcatFABLAB: Proud to be hosting a restarted DIY Robocars NYC Meetup April 26. Come by if you want to talk about and race self-driving…
Apr 17