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

  • I am trying to figure out how the data gets sent using befinitiv's solution? because I don't see any port # anywhere?

     

    If I want to add more data (for OSD), how would I append the data to the stream? and how would I pick it up on the receiving side?

    I want to write a C/C++ program that will send the data to the receiver, but I don't even know how to start...

     

    Also, since I have to execute the second program (that sends telemetry for OSD), I will have to execute the video command to run in the background, and/or the C program also... also the same on the receiving side.

     

    It looks like befinitiv already got this to work, but did not post script/code yet:

    Works as expected: https://youtu.be/EagDJrwleHQ :)

    This one transmits the frsky telemetry from the naze32 over wifibroadcast. The battery voltage is displayed on the ground station PI as an overlay onto the video.

    Code follows...

  • This is an another RPi FPV project --> http://fpv-community.de/showthread.php?46646-Low-Cost-HD-Video-%DCb...

    I've given it a go and it runs fine out of the box. It also has a nice android app and a web interface for controlling the stream.

    The latency might be a tad bit higher and it doesn't handle packet loss as well as befentiv's solution.

  • Is there any reason why we could not use ethernet device rather than usb?

    Such as the Ubiquity Bullet M5 or M5-TI:

    http://www.amazon.com/Ubiquiti-BULLET-M5-HP-Outdoor-802-11n-M5HP/dp...

    http://www.amazon.com/UBIQUITI-NETWORKS-BM5-TI-BULLETM5-TITANIUM/dp...

    It is atheros AR2316 and is compliant with fOSS Linux driver ath5k: 

    https://wireless.wiki.kernel.org/en/users/drivers/ath5k

    15vdc POE injection would be very easily done using on board Lipo Source

    For the Ground Station you could use MIMO Rocket M5:

    http://www.amazon.com/Ubiquiti-ROCKETM5-5GHz-Power-BaseStation/dp/B...

    At 150mbps should be plenty of room for HD video, Joystick control and OSD.

    There are also two GPIO ports to add control functions

    3702018479?profile=original

    • The beauty about wifibroadcast is, that it doesn't use "normal" wifi, it just sends out the packets without the whole ack/retransmission mechanism and association thing. There is also no IP or UDP in the packets, it's just the raw video stream.

      That's not possible with those Bullets as far as I know. Maybe it's possible to patch or hack the firmware of them.

This reply was deleted.

Activity

Mike Whitney liked Mike Whitney's profile
Jul 19
DIY Robocars via Twitter
Jul 2
DIY Robocars via Twitter
Jun 26
Abdulatif Tlaib liked Ryan's profile
Jun 24
DIY Robocars via Twitter
RT @SmallpixelCar: First time at @wsraceways. After tuning @HokuyoUsa lidar signal and camera sensor on @NVIDIAEmbedded, my car was able to…
Jun 20
DIY Robocars via Twitter
RT @breadcentric: The handy bit about racing with self-driving cars is that one can type while the car is racing. Report from #AWSDeepRacer…
Jun 18
DIY Robocars via Twitter
RT @chr1sa: Our Bay Area @DIYRobocars meetup is now at 2,700 members. Next in-person events (in Oakland) are training day on July 17 and…
Jun 18
DIY Robocars via Twitter
Videos from the ICRA autonomous racing workshop are now available: https://linklab-uva.github.io/icra-autonomous-racing/
Jun 10
DIY Robocars via Twitter
RT @SmallpixelCar: Prepared race track for Warm Spring Raceways @wsraceways and looking forward to test my new car at RAMS RC @ramsaicar fa…
Jun 6
DIY Robocars via Twitter
RT @f1tenth: Trying out some nasty blocking maneuvers 🏎️🤖 #f1tenth #autonomousracing https://t.co/nMTstsaogM
Jun 5
DIY Robocars via Twitter
May 27
DIY Robocars via Twitter
RT @araffin2: I will talk this Saturday from 18:00 to 19:00 Paris time for the @diyrobocars community about learning to race in hours using…
May 27
DIY Robocars via Twitter
RT @a1k0n: Luckily the infeasible hairpin problem was easily reproducible in simulation and I could test the fix before bringing the car ba…
May 26
DIY Robocars via Twitter
RT @a1k0n: Another problem was that I was over-constraining the car's allowed accelerations, so it didn't think it could turn as tight as i…
May 26
DIY Robocars via Twitter
RT @a1k0n: Breaking the map up into two halves worked, but I had to be more careful about separating the inner track from outer. There's se…
May 26
DIY Robocars via Twitter
RT @a1k0n: Here's a datalog for my fastest lap of the day. Lap timer is tiny window lower-left. https://t.co/myrlWWrKUY
May 26
More…