Jump to content
Mr.RC-Cam

WiFiBroadCast : DiY FPV Video System with HDMI Video

Recommended Posts

Earlier this year a fellow [befinitiv] started a personal blog that follows the development of his DiY Wi-Fi based FPV video system. It uses a unique Wi-Fi communication mode named wifibroadcast. Rather than repeat what he's written, I suggest starting here:

https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/

In summary, it is a low cost Hi-Def FPV video system with low latency. Range is expected to be about 1km with upgraded antennas. What is cool is that it uses easy-to-buy components and has simple wiring requirements (connect some cables). It should work with any FPV monitor or goggles that have an HDMI video input.

BTW, I learned about this project last month from hackaday:

http://hackaday.com/2015/06/13/wifibroadcast-makes-wifi-fpv-video-more-like-analog/

Here's a video of the developer's first FPV test flight from May 2015:

I've ordered all the components I think are needed and the cost was well under $200 USD (for everything but a monitor). Below is a photo of the two boxed Raspberry Pi's and TP-link WiFi dongles that the postal carrier dropped off a few days ago.

post-2-0-60932900-1436998982_thumb.jpg

I'm still waiting for the HD camera and some cables to arrive. Then the fun begins! It's a good thing my recently built DiY FPV Goggles support HDMI video. :)

Share this post


Link to post
Share on other sites

It's alive! The digital video link is running on my test bench now. However, there's more work to do before it will be ready for flight. Here's what my test setup looks like (image on the HDMI monitor is from the WiFiBroadcast system):

post-2-0-37700600-1438053196_thumb.jpg


Below I've summarize what I have assembled in case others want to jump in on the fun.

PARTS LIST:

Video Rx:
Raspberry Pi 2 Model B 1GB
8GB micro SD card
TP-Link TL-WN722N Wireless USB adapter
An accessory kit like this one (for bench testing): http://www.ebay.com/itm/121592658531?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Video Tx:
Raspberry Pi Model A+ 256MB
8GB micro SD card
TP-Link TL-WN722N Wireless USB adapter
5MP Infrared Night Vision Camera for Raspberry PI (with 70 degree glass lens)
Camera lens was upgraded to a 2.8mm IR blocked lens (better daytime colors).

SOFTWARE:

Since I have limited experience with the RPI (Raspberry Pi) and Linux, I did not go the route of compiling the WiFiBroadCast software or patch any drivers. Instead I downloaded everything I needed from here:
https://www.dropbox.com/sh/zg36kodn921gkqx/AADFbPXZe1bLEGkmbKCROZHta?dl=0

I used Win32Diskimager to load the images on the Micro SD cards. The two files I used are:
TX: VideoTx-compressed.img
RX: VideoRx-compressed.img

BTW, the image files were prepared by a fellow that is also building the project. They are convenient time savers but unfortunately not the latest code. So at some point I will have to figure out how to build up my own image files that are up to date.

After loading the firmware and plugging in a couple cables, getting a live camera image is as easy as powering up the RPI boards. Because all the difficult software stuff was already done for me I did not even bother to install a keyboard on my RPI's. :)

Here's a close-up of the Tx/camera and Rx:

post-2-0-20911100-1438053441_thumb.jpg

Share this post


Link to post
Share on other sites

I measured latency and my glass-to-glass times are 172mS. That's about 100mS slower than a typical analog FPV system, but it is faster than DJI Lightbridge. I'll admit the latency I measured isn't a good choice for a racing "drone." However it should be OK for just about everything else. I don't know enough about the system yet to determine if the latency can be reduced, but I will look into that later on.

Here's my latency test results:

post-2-0-55184600-1438053852_thumb.jpg

I also measured the effective visual resolution with an EIA chart and found it was >600 lines (both vert & horz). So far it all looks very promising as compared to standard FPV analog video: Better resolution, wide 16:9 aspect ratio, and the progressive video eliminates interlaced video's motion artifacts.

Sorry, no attempt at range testing. I'll get to that soon.

Share this post


Link to post
Share on other sites

The Tx/camera stuff is a bit bulky, but manageable. Here's a size comparison between a typical analog FPV and the digital link:

post-2-0-61347300-1438054648_thumb.jpg

As shown with my little 3D printed camera holder, the weight is 65 grams. Fortunately my 450 size Quad wont have any issues with the size and weight. But if lower weight is required then removing unnecessary connectors and cases should get it under 45 grams. I might do a bit of weight reduction on mine by removing the WiFi related USB connectors and hard wire the WiFi dongle with a 4-wire cable. Plus change out the heavy stock dipole with a lower weight circular polarized skew planar wheel.

Share this post


Link to post
Share on other sites

Looking good. Is there any way of building a RPI on a smaller board with just the parts that a required to do the job? or even on smaller stacked boards?

Terry

Share this post


Link to post
Share on other sites

There are smaller RPI boards on the market. I'm no expert on it so it would be best to just search around. BTW, one interesting choice is/was the Odroid-W. Unfortunately a component shortage has forced the supplier to end production.

http://www.hardkernel.com/main/products/prdt_info.php?g_code=g140610189490

For most FPV hackers I think removing unnecessary connectors and plastics will get the job done. For example, some of the project builders have installed the RPI A+ on their tiny 250 quads. So its "large" size does not seem to be a major issue. But a custom made RPI with onboard WiFi would be really cool. If this DiY project (or something similar) becomes popular then it seems natural that someone would do a kickstarter on a custom digital vTx.

Share this post


Link to post
Share on other sites

The preliminary range testing is on hold while I wait for the micro USB power plug to arrive. But today I finished up the 3D printed case that will hold the RPI and WiFi bits for the field tests. I must say that 3D printers are handy tools to have and mine sees a lot of action.

The wifibroadcast vTx's plastic case was created with Autodesk 123D. Here's a 3D rendering:

post-2-0-70271100-1438392221_thumb.jpg

The RPI A+ board and USB WiFi are not modified in any way. Except the original plastic shell is removed from the WiFi stick. Everything slides into the 3D printed case and is held in place when the top lid is installed. Simple and easy, I like that.

post-2-0-43290700-1438392335_thumb.jpg

Here's what the ready-to-use digital video transmitter system looks like. All it needs is a 5V battery power supply with a micro USB plug on it. I'll soon have one of those. :)

post-2-0-18269600-1438392866_thumb.jpg

Share this post


Link to post
Share on other sites

Here are the 3D printer files for the plastic case: wifibc_V1.zip

Be sure to scale the STL files to account for material shrinkage. For example, if you use ABS then I recommend scaling them 101%.

Share this post


Link to post
Share on other sites

Good question, I don't know.

The startup file configures the RF to WLAN channel 13 (2.472GHz). I don't know if this channel is the only one available for the special operating mode that is being used. But if the chip set supports it then perhaps other channels could be configured, which might allow simultaneous users. Speaking of other channels, if anyone knows how to get it to use 2.3GHz then please share your magic.

BTW, from what I saw on my RF test gear the WiFi broadcast implementation does not use traditional frequency hopping / collision avoidance. It uses a single WLAN channel and occupies 20MHz bandwidth. So if multiple users are possible then I suspect that channel spacing requirements will be large like our analog FPV systems.

I measured the TL-WN722N's RF power and found that it is only 10dBm (10mW). Hopefully the firmware can be changed to increase this to max available power. But it is rated for only 18dBm (60mW) so it is not a going to break any range records. The project supports a higher powered WiFi adapter so there is a solution for longer range.

Share this post


Link to post
Share on other sites

I have noticed an increase in 5.8Ghz WIFI in my area so I expect the interference that pushed most of us from 2.4Ghz will do the same for 5.8Ghz. Also the popularity of FPV means a better video system is really needed, FPV is much better with a sharp picture.

An HD system that will support 8 or more users and is interference free is what is needed now.

Terry

Share this post


Link to post
Share on other sites

You've described the perfect woman. I think you have a long wait before she knocks on your door. :)

The design's WiFi operating frequency is one of my concerns. It is currently 2.4GHz so it will be subject to the noise floor interference issues that pushed many of us to 5.8GHz a few years ago. For now I would be satisfied with having the same RF performance as I get with my 5.8GHz analog FPV system. But with low latency High-Def video instead of the SD images we see now. There is a slight chance this project may do that with some tweaks.

Unfortunately the RPI and WiFi protocols are not my expertise. But this project is open source and the skillful community members will improve it. It will be interesting to see what it evolves into. Plus it can offer inspiration to other developers that may eventually create what we want.

Share this post


Link to post
Share on other sites

I guess I have...be sure to call me if you see her ;)

I have not looked at this design but is it not just data that can be sent and received with any of the RF modules available?

Terry

Share this post


Link to post
Share on other sites

I have not looked at this design but is it not just data that can be sent and received with any of the RF modules available?

From the original developer's blog:

Not all wifi cards are compatible with wifibroadcast. This is because wifibroadcast uses injection mode which not fully supported by most wifi chipsets. Tests have shown that the ATHEROS AR9172 delivers good performance under wifibroadcast. You can find a list of wifi cards using this chip here. Two of these cards have been successfully tested:

  • TP-LINK TL-WN722N: This card delivers 19dBm output power and is affordable (9€).
  • Alfa AWUS036NHA: This card is more expensive than the TP-LINK but it includes a 30dBm power amplifier. Using this card on the aircraft should give you a better range.

The information can be found here:

https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/

Share this post


Link to post
Share on other sites

Thank you so much for this information. I really want to give it a go but I am a complete newcomer when it comes to Raspberry Pis.

I have a few questions that I would love for you to answer:

1. Why did you go with two different RPi? Did you get RPi2 for the better processing power?

2. Why did you get the camera module with the nightvision? Would this work instead?

3. How do you intend to power your VTx? Some sort of hookup using the Balance Ports on your Quads LiPo?

Share this post


Link to post
Share on other sites

1. Why did you go with two different RPi? Did you get RPi2 for the better processing power?

RPI A+ was chosen for the vTx because I wanted lowest weight and lowest current. All I needed was a camera port and one USB port. The A+ seemed like a perfect choice to me.

RPI 2 Model B was chosen for the vRx because I expect project development may continue. As we load up the ground station with diversity, OSD, and other features, the extra performance could be useful. Its additional cost is marginal so I don't see any compelling reason to choose a lower performing RPI.

2. Why did you get the camera module with the nightvision? Would this work instead?

I do not like the lens on the other camera choice. The "night vision" camera I selected accepts popular FPV lenses that are available in a variety of FOV with better optical quality. I changed it to a 2.8mm (my preferred FOV) with IR block (for better daytime colors).

3. How do you intend to power your VTx? Some sort of hookup using the Balance Ports on your Quads LiPo?

I'll be using a micro USB connector soldered to a 5V BEC and LC filter. This will be powered from the model's main flight battery (hard wired to the PDB).

FWIW, this DiY project has a lot of flexibility in the hardware choices and installation. So in the end, what you build is really up to your preferences. No need to copy me, you can build it any way you want. But whatever you put together, come back and share the details to your working setup.

Share this post


Link to post
Share on other sites

Thank you so much for the information.

Regarding the power source, something like this should do the job, correct?

Hobbywing 3A UBEC 5V 6V Switch Mode BEC: http://www.banggood.com/Hobbywing-3A-UBEC-5V-6V-Switch-Mode-BEC-For-RC-Models-p-915037.html

One end would be soldered on to he micro USB and the other to a JST connector (I have a spare JST connector hooked up on my F450).

Share this post


Link to post
Share on other sites

I came across this video [by kassenbon] that offers an example of the video quality:

As noted in his comments:

This video has been recorded at the ground station using wifibroadcast video transmission: https://befinitiv.wordpress.com/wifib...
7mbps, 2 retransmissions, dual diversity with 5dBi dipoles

Share this post


Link to post
Share on other sites

Seems very good but would have liked to see how it ended!

Terry

Share this post


Link to post
Share on other sites

Backyard testing went well. I experienced video breakups that were about the same as my old 25mW analog 2.4GHz system with dipoles. Much better antennas are available; Eventually they will be upgraded to circular polarized designs (Skew Planar Wheel on Tx, CP Patch on Rx).

For power I used some adjustable 3A DC-DC step-down switching regulators that I had on hand. These things can be found on eBay for about $2 US each. Battery voltage can be from a 2S-6S LiPO pack (and can share the model's battery). Handy Hint: If you use an adjustable VReg on the RPI you MUST set it to 5.0VDC BEFORE you connect it. Otherwise be prepared to buy a new RPI.

The Video Tx VReg plugs into the micro USB connector, which is a convenient place to power the Raspberry Pi A+.

post-2-0-28763100-1439925979_thumb.jpg

The Video Rx's VReg was placed on the RPI-2 Model B with servo mounting tape. Its 5V output connects to the nearby PIO connector. Yes, I could have used the micro USB method but I wanted the VReg inside the RPI's plastic case and so the PIO connector is more convenient.

post-2-0-57050700-1439926134_thumb.jpg

Next on the list is to figure out how to record video on the Raspberry's SD card. At this point I have no idea how that is done. As soon as the wireless keyboard I ordered shows up I will dive in and figure it out.

  • Like 1

Share this post


Link to post
Share on other sites

Hi Thomas.

This is a great project especially  if you have your  Mr RC-Cam DIY HD Goggles to plug into.

I picked up 2 of the RP 2 b boards and a A+ board.  

They said the TP-Link TL-WDN3200 wifi stick would work on  5.8ghz to avoid interference 

with the 2.4 ghz rc transmitter.  

So I got a couple of them too.  I loaded up the files you pointed to and the results have been very poor.

 I can get a picture but the lag is presently about 30sec and the frame rate is maybe 10fps or so.

 Not good !

Hopefully you will get some spare time and design us a DIY setup that will work.

 

Thanks again..

Share this post


Link to post
Share on other sites

I will be working on this project later this winter. The parts are on my desk taunting me, but I have to wait for more free time.

If you are using the Tx and Rx images from my previously posted link then it seems they are not correctly configured for your 5.8GHz WiFi adapters. But they are very old file sets so probably best to start fresh with the latest code from the wifibroadcast site.

I need to learn how to build the images from scratch. I don't expect it is hard to do, but easy for me to say since I've never done it.

To get you moving forward *now* I suggest you ask (beg) someone to share their working images that have the latest firmware. There's ongoing discussions at rcgroups and fpvlab that would be good places to ask for it. It would be disappointing if no one shared theirs since difficult open source projects like wifibroadcast wont thrive if the community doesn't work together.

Share this post


Link to post
Share on other sites

Thanks for the reply.

I understand your busy so late winter will be here before we know it.

 I'll pick up a couple of the 2.4 ghz  sticks and try again.

Getting it to work on 2.4 even if it is not the desired freq it would be an incentive to continue .

I am surprised how there seems to be so few people publishing their files.

The result is the average Joe is sticking with low def analog FPV.

The Rcgroups thread basically consists of 2 guys trading a few scriopts and thats it.

--tp

Share this post


Link to post
Share on other sites

I found some step-by-step instructions for building a complete image; Maybe it will get you going. The text is in German, but Google Translate solves that. Start here (read all the posts before doing anything):

http://www.fpv-treff.de/viewtopic.php?f=23&t=6927&start=0

I am using 2.4GHz WiFi adapters with the intent of finding a way to make them work at 2.3GHz (with the hope it plays nice with 2.4G R/C). The link above has a brief comment about a patched driver that can do this (but unverified). If I can't get 2.3GHz to work then I will be moving over to 5.8GHz WiFi adapters like you are using.

The WiFibroadcast project's published details do very little hand-holding. If the developer and comrades are seriously interested in creating a larger user base then what is needed are clearer (dumbed-down) instructions that address the needs of non-raspbiens. Not everyone on the planet has touched Linux, me included. But I just finished reading "Raspberry Pi for Dummies" and at least I now know what SUDO does. :)

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×