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 –


      • Shouldn't be a big problem cause the transmitters use very low power and they are relatively far away from your receiver. Using a directional antenna and maybe even circularly polarized antennas should improve the signal to noise ration even further.

        • It is still a big problem and one of the reasons I moved to openlrsng. You just can't fly around on 2.4GHz video when others are flying on 2.4GHz control. The Taranis' frequency hopping system even touches channel 14.
  • I still haven't managed to do an outside range test due to a busy work week and bad weather. Indoors I get significantly less range compared to my analog immersionrc transmitters. TX in same place, walking down two floors through with signal having to pass two concrete ceilings. I just cracked the plastic cover off the rubber duckies. Both antennas have 26mm long whips, so they are 2.4GHz antennas. Switching the antenna to a 5.8GHz with circular polarisation should help increase range. I also find that the video quality using wifibroadcast is worse compared to gstreamer on standard wifi using the same CSL dongles. That might just be down to these dongles being crap. How can I check the injection rate? Is this the console output "interface rate" of the wifibroadcast tx? It is showing values between 550.xxx and 750.xxx I've just seen befinitiv's screenshot here showing his lossrate displayed on the rx terminal around 0.001xxx The CSL dongles show lossrates of around 0.3 to 0.8 so significantly worse!! Might be time now to ditch those and try the WN722N? 

  • Developer

    I managed to replicate the broad cast wifi video two using the images provided by Tommy Larsen.

    2x RPI (not RPI2s) + 1 x RPI camera

    2x Alfa AWUS036NHA (2.4Ghz)

    1x Black Pearl FPV Monitor(which accepts hdmi input from receiving RPi)

    I measured the latency from "lense to screen" as 0.23 seconds (3:07.101 - 3:06.872 = 0.229 seconds) which is fine for my purposes.  I'll do a ground range test tomorrow and probably write an ardupilot wiki page with a setup for beginners and then include links to befinitiv's blog).


    Shared with Dropbox
    • Developer

      Small update, I found Tommy Larsen's images also worked on an RPI2 (at least when used as a receiver).

      The Latency with the RPI2 as the receiver (TX was still an RPi) was strangely slightly worse at 0.28 seconds.  Perhaps there was an environmental issue.


      • Developer

        I performed a ground test today and I could walk as far as 160m before losing contact.  I think I could have gone further if I could have maintained a clear line of sight to the transmitter - there are a lot of trees in my area.  I then remembered a land mark nearby and used the MP to measure the distance.


        I did the test with my regular gear: 2 x RPI, 2xAlfa AWUS051NH (2.4Ghz), BlackPearl FPV monitor with HDMI input.  I left the transmitter on my porch capturing and transmitting the estopwatch.net output and then I carried around the receiver gear walking as far as I could while trying to maintain a line-of-sight to the TX.  I noticed that I'd lose the signal if a building or crop of trees blocked the line back to the TX.

        It's probably too much detail but here's a picture of the setup.


        • Please let me know if you get 5GHz working on that card.

        • No such thing as too much detail Randy! :P

      • My images is made on Rpi 2.

        I get a latency close to zero on my setup... Much better than my 4g setup using IP measured to 110ms. I will measure my exact numbers and see what i get, but i Guess around 40ms.

        • 140ms here. I very much doubt that you are getting anything as low as 40ms using this system. Even 110 is pretty low for 4g. Please provide proof with resolution, bitrate etc. :)
This reply was deleted.


DIY Robocars via Twitter
RT @SmallpixelCar: Wrote a program to find the light positions at @circuitlaunch. Here is the hypothesis of the light locations updating ba…
DIY Robocars via Twitter
RT @SmallpixelCar: Broke my @HokuyoUsa Lidar today. Luckily the non-cone localization, based on @a1k0n LightSLAM idea, works. It will help…
DIY Robocars via Twitter
@gclue_akira CC @NVIDIAEmbedded
DIY Robocars via Twitter
RT @luxonis: OAK-D PoE Autonomous Vehicle (Courtesy of zonyl in our Discord: https://discord.gg/EPsZHkg9Nx) https://t.co/PNDewvJdrb
DIY Robocars via Twitter
RT @f1tenth: It is getting dark and rainy on the F1TENTH racetrack in the @LGSVLSimulator. Testing out the new flood lights for the racetra…
DIY Robocars via Twitter
RT @JoeSpeeds: Live Now! Alex of @IndyAChallenge winning @TU_Muenchen team talking about their racing strategy and open source @OpenRobotic…
Nov 20
DIY Robocars via Twitter
RT @DAVGtech: Live NOW! Alexander Wischnewski of Indy Autonomous Challenge winning TUM team talking racing @diyrobocars @Heavy02011 @Ottawa…
Nov 20
DIY Robocars via Twitter
Incredible training performance with Donkeycar https://www.youtube.com/watch?v=9yy7ASttw04
Nov 9
DIY Robocars via Twitter
RT @JoeSpeeds: Sat Nov 6 Virtual DonkeyCar (and other cars, too) Race. So bring any car? @diyrobocars @IndyAChallenge https://t.co/nZQTff5…
Oct 31
DIY Robocars via Twitter
RT @JoeSpeeds: @chr1sa awesomely scary to see in person as our $1M robot almost clipped the walls as it spun at 140mph. But it was also awe…
Oct 29
DIY Robocars via Twitter
RT @chr1sa: Hey, @a1k0n's amazing "localize by the ceiling lights" @diyrobocars made @hackaday! It's consistently been the fastest in our…
Oct 25
DIY Robocars via Twitter
RT @IMS: It’s only fitting that @BostonDynamics Spot is waving the green flag for today’s @IndyAChallenge! Watch LIVE 👉 https://t.co/NtKnO…
Oct 23
DIY Robocars via Twitter
RT @IndyAChallenge: Congratulations to @TU_Muenchen the winners of the historic @IndyAChallenge and $1M. The first autonomous racecar comp…
Oct 23
DIY Robocars via Twitter
RT @JoeSpeeds: 🏎@TU_Muenchen #ROS 2 @EclipseCyclone #DDS #Zenoh 137mph. Saturday 10am EDT @IndyAChallenge @Twitch http://indyautonomouschallenge.com/stream
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: Another incident: https://t.co/G1pTxQug6B
Oct 23
DIY Robocars via Twitter
RT @DAVGtech: What a great way to connect why @diyrobocars community is so valuable and important! Have to start somewhere @IndyAChallenge…
Oct 23