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 –


                  • Keen to see how your work pans out re: HDMI out from gopro/clones

    • Hi Thijs,

      I had the same problem and it took me forever to figure out what was going wrong.

      Reviewing your google docs document shows that you most likely encountered the same problem.

      It is vs -

      raspivid -ih -t 0 -w 1280 -h 720 -fps 30 -b 4000000 -n -g 60 -pf high -o – | sudo ./tx -b 8 -r 4 -f


      raspivid -ih -t 0 -w 1280 -h 720 -fps 30 -b 4000000 -n -g 60 -pf high -o - | sudo ./tx -b 8 -r 4 -f

      and it will hopefully work.


  • Hi Befinitiv,

    I’ve done my first few flights using your code and wanted to say thank you! My setup is pretty stock:

    • Quad: 300 size, Cleanflight, OpenLRSng
    • TX: AWUS036NHA w/ Stock Alfa antenna,  Raspberry PI A+
    • RX: 2 x WN722N w/ Stock Antennas
    • Windows w/ VMWare Workstation running Ubuntu VM w/ vt-d hardware graphics

    Glass to glass 178ms using mplayer. My flights have all been close range, the picture has been good but I look forward to testing FEC.

    Couple comments:

    • I started with Minibian as my raspberry pi base image to minimize services and theoretically boot faster
    • I noticed lag during testing so I used ‘nice’ to give priority to raspivid & tx over other user processes
    • I tried using a second ESC BEC to power Rpi and wifi but it would reset - so it switched to dedicated BEC

    I’m ham licensed and interested in the ham band capabilities of the AR9271 chipset, it seems like a legitimate use with less congestion and higher power limits - has anyone tested it with wifibroadcast?

    I could not get gstreamer to work on Ubuntu – is it worth perusing or just stick with mplayer?

    Thanks for this awesome project!

  • I flew with my setup for the first time today. 

    RPI 2B , TL-WN722 on copter (antenna pointing down) , rpi cam.

    Made a hotspot on the quad with TX power at 20.

    Video is streamed via RPI WEB CAM INTERFACE (MJPEG?)

    I flew ~120 meter far and 50 meter high (rel) and i still had image. However the frame rate dropped significantly from ~25 to 2-3fps (clear image) using my laptop wifi as a reveiver. (note this is not via the method described in this topic) .

    I also tried with the alfa nhr on the receiver side and the link strength was ~80% but the link quality in the low 20's which made the fps not go faster.

    Now I have to figure out how to get this wifi broadcasting to work. And test if I see an improvement without putting a higher power transmitter on the copter.

     <5 fps is doable when doing missions / flying in loiter mode. But higher is always better ;) 

    • Hey Thijs

      • Hello ;)

        • Lol darn forum software cut off the rest of my very profound reply :)

          I think I was just saying that the alfa is known to have a powerful amplifier but to be quite poor for receiver sensitivity, so it's much better putting the alfa on the tx.  Also that as several people have pointed out in this thread, the real key to a good result is the antennas, particularly I think on the rx side of things.  I've got amazing results just by adding a patch antenna to the receiver and by using circularly polarised antennas - I use the popular immersionrc 5.8gz antennas meant for analogue fpv, but they work great for this application.  And note that if you can get it to work at 5.8ghz then you effectively get more digital bandwidth and it's a much less crowded frequency range that doesn't interfere with normal rc controllers.

          Please let us know how you get on with the wifibroadcast, the more people that give feedback here the better the overall result :)

  • FYI: I just pushed the FEC code for wifibroadcast into mainline. This improves the bandwidth requirements and/or reliability of wifibroadcast significantly. Refer to https://befinitiv.wordpress.com/2015/07/19/forward-error-correction...

    Forward error correction for wifibroadcast
    This post introduces a new feature to wifibroadcast: Forward error correction. This helps lowering the data rate and/or increasing the reliability of…
    • Thank you very much, I hope I will manage to install or maybe somebody will make ready .img

      • I think it is an good idea to make a few working images.

        One for pi A with TL-WN722 and maybe one for the high power alfa.

        Same for pi 2B  . That way we can stop wasting our time trying to figure these small bugs out.

        I'm pretty sure that more people are willing to pay to make such image (lets say 10-15 euro p.p.). A small indigogo / kickstarter campaign can be used to raise the money. This way the developers of this project get at least something back. A "commercial" version of this idea is selling for 490-690 euro.

        These hit and miss instances cost a lot of time for users, so why not stop wasting our time and just use something that works. And in the meanwhile support the developers of the project.

This reply was deleted.


DIY Robocars via Twitter
3 hours ago
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
4 hours ago
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
4 hours ago
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー https://t.co/1Qq2zOeftG
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track https://t.co/RtLb7TcgIJ
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car https://t.co/AEu2hCx89T
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer https://t.co/giVvuE4hP7
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing https://github.com/pncsoares/self-driving-car
Jul 4
DIY Robocars via Twitter
RT @donkey_car: Human-scale Donkey Car! Hope this makes it to a @diyrobocars race https://www.youtube.com/watch?v=ZMaf031U8jg
Jun 25
DIY Robocars via Twitter
Jun 25
DIY Robocars via Twitter
Jun 16