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

  • Developer

    I've become a little confused about the wifi dongles so I was wondering if someone could confirm the following is correct:

    1. The vehicle side wifi dongle must have the special "monitor mode" ability which only a few dongles have (see #2 below).  The ground station side does not need to have this ability so we have a wider selection?

    2. For 2.4Ghz dongles the TP-LINK TL-WN722N and Alfa AWUS036NHA have both been proven to work.

    3. For 5.6Ghz dongles, Malkauns has proven the Alfa AWUS051NH works but only on channel 48 (5240Mhz).

    4. to use "diversity" (which gives better quality and range) we need two wifi adapters on the ground station.

    I think once we have a few more people confirm it's working we should create a wiki page somewhere with the setup instructions.

    • Hi Randy

      I'll just answer to your questions directly:

      1. Both dongles (ground and vehicle) need monitor mode. Although many adapters offer some sort of that mode, it is often insufficient. Often the injection rate is too low to transmit the data needed. Most adapters also filter out frames with wrong CRC. The TL-WN722N and AWUS036NHA (that use the same chipset) are the best adapters I have found so far. Injection rate is excellent and they provide wrong CRC frames. The only downside of them is that I needed to patch the cards firmware to change the injection data rate from 1mbps to 26mbps. But you just need to copy the firmware binary I provide into the /lib/firmware folder and it works.

      2. Yes. I use the Alfa on my quad and the TP-LINKs on the ground.

      3. There has been some info in the comment section of my blog. I did not try 5GHz dongles by myself.

      4. Yes, two or more. You can also use different types of antennas in parallel.

    • I also think that so far to use diversity the dongles have to be the same. I'm not sure if you could use different antennas or the effect this would have but would assume you could use a patch / omni combination or similar.
      • Yes, different antennas do work. I'm about to integrate better support for different (meaning different chipsets. The adapters could be from different brands) adapters but this will take a week or so.

        • befinitiv, see my latest changes to the code.  works fine with different brands now.  :)

          • Developer

            Maybe we should use pull requests to help get the contributions from others into befinitiv's repo?  That's what we do with ardupilot.  No pressure, just a suggestion.

  • I know it's not possible to have HDMI in for the RPi, but is there another board such as the Odroid U3 that can do it?

    Maybe there is some kind of adapter board that could get it to work? Or am I dreaming?

    • I also found this one:

      http://febon.blogspot.com/2013/10/febon168-uvc-usb-hdmi-grabber-car...

      • None of these pages/blogs mention latency. That could say 1 of 2 things. Either it's really bad, or really good. Just makes me wonder how good it would be for our purpose.
        • The HDMI extender is definitely a dead end. The data rate is very high and you have no control over the encoding parameters.

          USB frame grabbers probably have a high latency on the RPi.

          Firstly, the USB interface is very slow compared to the CSI.

          Secondly, the color format has to be right or the conversion will have to be done in software.

          Using the camera interface gives the lowest latency because the input data is formated right and can be processed by the hardware encoder without doing any extra conversions or copy operations.

This reply was deleted.

Activity