3+km HD FPV system using commodity hardware

Hi

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,

befinitiv.

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

Join diydrones

Email me when people reply –

Replies

        • What's your secret sauce, how are you getting such low latency?

    • Hmm, that latency is not very good. I've gotten 170 ms latency on my desk over 4G.

  • Inside my building I get about 5 meters... Too many walls I guess. But I am using the antenna that it came with, and i am pretty sure that befinitiv said he is using a custom made antenna.
  • Developer

    So I have been playing around with this solution and got it to work in many different ways and systems (Odroid, Edison, BBB) but so far I am getting only about 50m distance. I have not checked in an open field, so I am wondering what ranges are you guys getting? I am using the TP Link WN722n dongles on two Odroids, and I am using the C920 camera to get the video.

    Also I tried just using regular Wifi and I seem to be getting better results, less latency 150ms vs 200ms or more with befinitiv wifibroadcast, and I get a lot more pixelation or lost packets when using the wifibroadcast method than when using just regular UDP. Anyone have similar results?

    • The range tests on my blog (except the very first ones) are made with the Alfa as tx. With that I could reach 900m omni2omni and 3km+ omni2doublebiquad. with two wn722n I reached 300m (more or less) omni2omni and 1km with omni2doublebiquad.
      • Hi befinitiv

        When you say two wn722n with omni2omni, do you mean the stock antennas that come in the box with the dongles?  I can't get more than 50m with these, after I've done the firmware/kernel hack - I assume I don't have to do this on the rx side right?   Could you please say exactly what settings you use?  I'd like to replicate your 300m with these adapters first before I look at 5ghz.

        I have made a little progress with the CSL 5ghz dongles - I can get about 250m before it breaks up and when it does it doesn't recover even when I bring it back well in range.  I must be doing something wrong..

        • Hi Fnoop

          Yes, the 300m were with the white omnis that came with the 722s.

    • I'm finding the same thing, about 50m.  With the 5ghz CSL dongles with rhcp spiral antennas I get about 80m.  I got nearer 1km with the ubiquiti setup using the same antennas.  Has anyone else managed to replicate this system with decent range yet?

    • stopwacht.jpgI measured the latency with the recursive stopwatch approach and got around 130ms delay on my laptop (https://befinitiv.files.wordpress.com/2015/03/stopwacht.jpg ). All the measurements I made suggested that the latency is comparable to the classical wifi approach. You find a thorough analysis of latency here: https://sparkyflight.wordpress.com/ . And the results with wifibroadcast very almost identical. Maybe the c920 behaves differently...

      Some hints how you might archive better latency (all tailored for the raspicam):

      - Try using 48fps @ 1280x720. This should have around 130ms of latency.

      - Using the low h264 profile also saves some ms.

      - Assure that the wifi channel you are using is not occupied. The wifi card still uses CSMA/CA so a busy channel might increase latency.

      - Apply my firmware patch (very important) and for a better range also my kernel patch for the WN722N

      - Decrease the retransmission block size (-b parameter of both tx and rx)

      Hope that helps!

      • Hi, not

This reply was deleted.

Activity

DIY Robocars via Twitter
Sep 9
DIY Robocars via Twitter
RT @chr1sa: We've got another virtual @DIYRobocars race tomorrow at 9:00am PT. Two dozen autonomous cars will compete, four at a time. Ther…
Sep 4
DIY Robocars via Twitter
Sep 1
DIY Robocars via Twitter
Aug 31
DIY Robocars via Twitter
Aug 31
sam liked Jimmy Oliver's profile
Aug 25
DIY Robocars via Twitter
RT @ExplorerRobocar: Sometimes, I am really a big kid!! Having fun with my virtual RC car on the @diyrobocars track 😜😉, by using the « AR R…
Aug 24
DIY Robocars via Twitter
RT @grepLeigh: @donkey_car @unity3d @TensorFlow ~1050 episodes into training, my agent learned to erratically drive in the left lane. 🤖😆 ht…
Aug 24
DIY Robocars via Twitter
RT @EclipseCyclone: Sweet! http://Robotec.ai high performance #ROS 2 @unity3d #CycloneDDS bridge for @AutowareFdn @SVLSimulator now…
Aug 24
DIY Robocars via Twitter
RT @a1k0n: My car had a lot of trouble getting around the track at the last @diyrobocars event -- only one actual finished lap during the r…
Aug 24
DIY Robocars via Twitter
RT @SmallpixelCar: This is the run time map https://t.co/VzykOkUt2G
Aug 24
DIY Robocars via Twitter
RT @SmallpixelCar: Made a lot progress on Warm Spring Raceways track. Almost finished one lap. https://t.co/nUVpufZQyP
Aug 24
DIY Robocars via Twitter
RT @AntonioRobotics: Super fun time seeing these autonomous cars race at @circuitlaunch for the @diyrobocars quarterly meet up! The demolit…
Aug 15
DIY Robocars via Twitter
RT @a1k0n: I thought my dumb localization code was still working at the new @circuitlaunch track, but it was just *barely* working. I shoul…
Aug 14
DIY Robocars via Twitter
RT @DAVGtech: Recording of entire in person @diyrobocars race today @circuitlaunch. Fast forward a couple hours to go straight to the racin…
Aug 14
DIY Robocars via Twitter
RT @SmallpixelCar: This is the run time map. Very noisy Lidar signal https://t.co/bAbeVUMi10
Aug 14
More…