DIY HDMI video Downlink for under $300


What you will need:

-2x Ubiquiti Loco M5 NanoStations ($140 on
-1x Tx/Rx Kit, Jtech-Digital , or Distancer, HDMI to ethernet over IP ($120-$140 on
DIY List:
    -2x Power step up modules.
    -2x Power step down modules.
    -2x POE (Power Over Ethernet) Injectors.(If you are clever, you can make your own with ethernet keystone jacks)
    -2x 1ft Cat5e or Cat6 ethernet wire.
    -1x 3ft+ Cat5e or Cat6 ethernet from programing.
    -2x JST Plug Pair. 5v Out.
    -1x Deans or preferred connector main for Input Voltage.
    -1x Ozone Drones Plastic Parts ($24.99, optional).Amazon

Ozone Drones offers a starter kit(Optional):
    -1x Ozone Drones Starter Kit ($59.99, optional, but includes contents of DIY list).Amazon
-Volt meter
-Knowledge on how to solder, and understanding of basic circuits.
-Knowledge on how to use a PC and understanding of basic networking.
-Knowledge on basic Wireless Networking.

I have been dying for a cheap solution to feed HD video to my groundstation, without having to spend thousands of dollars. So I set out to figure it out, and these are my findings. Let me know if I should spend the time to make a video to smooth out the processes.

In this DIY, I will be showing you how to build an in budget, very low latency HDMI video Transmitter and Receiver. This video transmission system will transmit back resolutions up to 1080p at 60fps. And will cost under $300 USD to construct. One huge advantage this system has, is it’s almost completely open source putting you in control of the endless possible configurations and add-ons. I will be showing other configurations in later discussions. Ozone Drones makes a few kits, that make this process little easier. The Plastic parts kits includes housings that will help you get things lighter for flight. They also offer a starter kit with the basic necessary components as which is included in the plastic parts kit. If you rather just pay, Ozone Drones offers completely assembled HDMI, Tx, Rx kit for $599 Amazon assembled in the USA. and is still much cheaper then the competition. The plastic parts kit which was designed, manufactured, and the pre-built kits are assembled, in Massachusetts. Please visit for more info. Also Reference figure A  

3D Printer Friendly Notice
Ozone drones contributes to the open source community, The .stl files for all plastic components will be available to download for the cost of FREE for those of you who own machines capable of manufacturing these parts. Of course you will have to source the hardware! 5x M2-6mm and 6X M2-8mm self taping screws. Please visit:

I can not be held liable for misuse of this of this downlink, and remember FlySafe. Also keep in mind essentially this is a hack of existing products, disassembly and modifications to these products will likely void warranties. We will be mainly soldering, but some desoldering basic components as well! This DIY may not be for the faint hearted.  

airOS: Ubiquiti proprietary airMax device firmware, and setting software.
airMax: Technology used for receiving, and transmitting packets between Ubiquiti airMax radio’s.
MJPEG: Motion-jpeg also known as M-JPEG. Video Compression method to allow to stream video over IP.
H.264: Another type if video compression, requires less bandwith, but requires more processing power to encode. In most cases hardware is more expensive.
POE: Power Over Ethernet.
LAN: Local Area Network
LoS: Line of sight.
nLoS: near Line of Sight
NLoS: Non Line of Sight

The Video Encoder
In this DIY I will be using a J-Tech Digital or DISTANCER HDMI to Ethernet over IP. Which is a  bit-stream compressor/converter, the data flowing off HDMI will be compressed into a format known as M-JPEG. Which then is broken down into small packets that can feed into an existing LAN, the data stream works Point to Point, or Point to Multi Point. It will not work on Mulit-Point to Multi-point configurations, meaning the system will only work with one Transmitter on a given LAN. In future discussions,  I will be showing you how to cheaply compress to H.264 which uses up less bandwidth and will allow for Multi-Point to MultiPoint configurations.

The Radio:
One of my personal favorite radio systems is the NanoStations M, it was designed by a company in California called Ubiquiti. NanoStations come in all Shapes and sizes, and offer different frequencies, and ranges of operation, 900mhz, 2.4Ghz, and 5Ghz, are just some of your options. (This also means, you theoretically could do redundancies at lower frequencies). Since you are likely using 2.4Ghz for control, I highly recommend using the Loco M5 NanoStation. NanoStations offer the following modes of operation, access point, station, and Access Point Repeater. Essentially a NanoStation is wireless point to point “Ethernet cable” to your UAV. According to the Loco  M5’s data sheet you should see 150Mbps at an insane 6 miles. Although I haven't tested the range on a drone due to FAA regulations in the United States. I did however run a series of bench tests, on my first bench, I able to received a live 1080p video feed, from a GoPro with under ~.250ms latency, altho be this is an estimate, check video below, other members are reporting ~.76ms latency. This was from about 500ft, four houses down my street and around a sharp corner. Now bench test was decent NLoS , with couple of trees, a car or two, and fences in the path of the radio waves, but it even managed to penetrate through a small part of a house. Thus my first bench test proved to me, I didn't have a field that was big enough in my town or immediate area, to really test out perfect line of site operations. Keep in mind NanoStations are airMax products, and can pair with almost all products that use airMax technologies to communicate, given the radios are deployed on the same band. So a Loco M5 NanoStation can pair with an NB-5G22 NanoBridge, altho you may be subject to certain range and bandwidth limitations with certain configurations.  

First Step: Programming
Download Latest firmware
Head over, on the left drop down select airMAX M Series. And find NanoStation M, then your model, the Loco M5. And download both options of the latest firmware.

Prepare Computer
First we will set our Local Area Connection to a Static IP address, and match the subnet of the NanoStations default IP address. Open Start Menu in windows, and search Network, open Network And Sharing Center, and navigate to “Change adapter setting” on the left hand side. Select an available Local Area Connection and Right-Click over it, then select “Properties”. A window should pop-up, navigate to (TCP/IPv4) and double click it. This will pop open another window. Select “Use the following IP address”. Starting from the bottom, DNS server should be set to, Gateway should be the same, Subnet mask should be, and IP Address is where we assign our computer an address on this static LAN, will work fine. You can choose anything from 0-255 to take the place of the .10, Except .20 and .21 , you will see why in a just five minutes.

Prepare NanoStations
The Loco M5’s should include a POE that runs off AC current, but it’s huge and very heavy. I will  be showing you how to make a much lighter one that runs of 7- 30v DC for deployment on the UAV. For the purpose of programming the radios the ac POE works great. Using the 3ft + Programming Cat5e cable plug LAN port on the POE, to the Local Area Connection on your PC, which we configured earlier. Using second Cat5e cable, plug the POE port on the POE, to the LAN on the Loco M5. On the Second NanoStation use a third Cat5e cable to connect the NanoStation’s LAN port to the POE Port on the second POE that was included. Aim the radios away from your work space. Then plug in both POE’s to ac wall sockets, reference (figure B). Then proceed to open a browser on the PC.

Logging into airOS
For help programming reference figure C for screenshots of the process. Once your browser of choice is open navigate to which is the default IP address of the NanoStation. You will likely be warned by your browser that your connection is not secure. This is mainly because the radio’s have not been setup yet. Add an temporary exemption for now, but we will be making sure it is secure. You will be prompted with a Login and a language option, choose your language of choice, and the default Password and User name is: ubnt.

Updating and Basic setup
Head over to Systems tab and select “Browse” in the Update section at the top of the page. Browse to where you saved the two firmware's you downloaded earlier then click upload. If you get an error that states the firmware could not be verified, browse for the second firmware download, and click upload. One or the other should succeed, then you should get a light blue bar across the top prompting you to update. Click Update and wait till the update succeeds. DO NOT UNPLUG while updating just let it finish. The Loco M5 should reboot,  then make sure your still in the “systems” tab. And proceed to setup. the admin username and password. Use something you are familiar with for ultimate safety, I would not recommend using the defaults or admin/admin, this can be dangerous. It is also a good idea to disable the reset button, to tie up a possible failure point, if a glitch occurs it may replicate a resistance signal that is pre-programmed to reset the Loco M5, causing permanent signal loss. BUT if you forget your login you may be locked out of the unit, and be forced to do a system restore over TFTP. The choice to disable your reset button should depend on how much you will be relying on the video link. In most cases you will be fine, but just a warning. Then click “change” scroll up to the top and click “Apply” on the light blue bar that appears on top of the page.

Setting up the first Loco M5, as an Access Point
Next we will head over to the “Wireless” tab in airOS. We want to set “Wireless Mode:” to Access point. Make sure WDS (transparent bridge mode) is checked.  Then give the SSID a name of your choice. Then scroll down and you will see the wireless security settings. Set it up as a WPA2-AES and set a strong password. Something with, a coupe numbers, at least one symbol the more the better, and both upper and lower case letters. Click “change” and scroll up to click “Apply”. The Access Point is now complete, Please label radio for later as “AP”.

Setting up the second Loco M5, as a Station
Now We Take our cat5e cable that is plugged into the first POE and Plug it into the second POE. (reference figure B1)The login, update and basic setup steps, should be repeated on the second M5Loco. Use of the same username,  and passwords, is recommended, to simplify the process. After these steps are repeated, we must click into the “Network” tab in airOS. Then Change the IP Address to Then click “change” and “Apply “at the top. It will apply take a couple of seconds and will reboot. Then select the “Wireless” tab. Set “Wireless Mode” to Station. Again make sure WDS (transparent bridge mode) is checked. Then for SSID click “select”, a new window will pop up that will scan for SSID’s near by. You should see the name of the access point we configured earlier. Make sure it is selected and the click “select”. Scroll down to set up the wireless security. We want to set this again to WPA2-AES, and use the same password we used on the access point. Click “change” and “Apply” at the top. The system should reboot and then pair to the access point. The signal LED’s on the back of the Loco M5 should light up reporting signal strength, and that the radios are successfully paired. Proceed to label this radio with an “S” for Station.

Congratulations your radios are now setup. Your Access Point will be your ground station and your UAV will be the Station. Now it’s time to Lighten things up for flight and wire the system together. Be sure to reconfigure your network adapter on your PC to: “Get IP address automatically”, otherwise you may experience networking issues in the future.

Second Step: Wiring And Modifications.

Building Lightweight POE’s
The POE will provide our Loco M5’s with 24v, which will be provided by the ethernet wire itself. Our goal is to conform main power distribution to 5v. This is because the Jtech requires 5v to operate. Then we will step up the 5v to 24v using a power step up module to keep things simple. The output of the power setup module should be a clean 24v  which we will be injected into an Ethernet port. The exact port which the Loco M5 will later be attached.

We will start by building the POE’s, and main power distribution. Reference figure D throughout this step. First we will solder main input leads with Deans or preferred connector to the one power step down. The output of the step down, will be soldered to the power distribution breadboard. We will also attach a male JST to this breadboard and assure polarities match up. Next we will wire in the step up module, again assuring the polarities line up solder the step up to the 5v power distribution breadboard. Then take the Ethernet power injector cut off the barrel connector, preferably .25” down the wire from the plug. Strip both ends to expose wires, both meaning the Injector and barrel side. We will have to do a polarity test on the barrel side, the outer ring should be ground, center post is positive. Run continuity checks, to assure colors of the cables match the polarities. Then we can solder this accordingly to the output of the step up module. Red Should be positive and black should be ground. Altho it is important to test this, because china quality control may not always conform to standards. After this is hooked up check the system over again, ensuring no shorts circuits will occur. We can shave off the plastic housing off the rubber warping on the RJ45 as seen in figure E.   

Now DO NOT Plug in J-tech, or Loco M5, we must test the POE by plugging in the main power supply, a 7-30v. Then using a volt meter we check the input voltage to the step down should match power supply voltage,  which can be 7-30v. Then we check after the step-down to make sure the output of the step-down is 5v. The output side can be adjusted with the on board potentiometer, till volt meter reads 5volts on the output side. then we test the breadboard that it is receiving 5v, proceed to check the input of the Step up to make sure it is receiving 5v. The output side of the step up should be 24volts. Again output side can be adjusted with the on board potentiometer, till volt meter reads 24 volts on the output side. Use electrical tape to wrap the power distribution bread board to avoid short circuits.

Your First Poe is now complete, we need to build two of these, one for the UAV, and the second for the ground station. Repeat the process to build your second one. Once they are both complete, we can then individual mount them to the poe housing’s included in the Ozone’s plastic parts kit. Screw in the step ups, and step downs, fit wires in place. And throw on the covers.        

Preparing the HDMI to Ethernet converters
We will start with the transmitter. We must disassemble the unit, and desolder the barrel connector. We will replace this with the female JST. The Center Post is positive, and the outer ring is ground. Reference figure F. We will then solder in the female JST accordingly. Then  you will need to repackage this using light weight ozone plastic housings, instead of the heavy metal case. We will then disassemble the receiver and attach a another female JST accordingly. The receiver will be used on the ground so the metal case will work just fine.
Preparing the “S” station radio
The Station Loco M5, will be mounted on your UAV. If you can afford the weight and size no need to rehouse. To rehouse, we start by removing the stations RJ45 jack cover, and sticker on back of the loco M5. Remove the screw and then using a flat blade screw driver, pry the tabs on the inside of the unit where the plastic plate holding the RJ45 jack should pull out loco M5’s contents. We can repackage the link into the Ozone Drones plastic housing. We can reuse the screws to mount the Loco M5 into the lightweight housing provided by in plastics kit. We then screw the cap back on.

Step Three: Mounting and Usage.
Keep in mind the Loco M5’s have directional antennas and they must be kept pointed at each other. It is highly recommended to mount your antennas facing downward towards earth on UAV side and the ground station should be aimed directly at the UAV. The further out you are, the more important it is to keep these radios aimed at each other.  

Once your radio is mounted we use a short cat5e cable to plug our rehoused Loco M5 into our custom POE. Which we checked three times, and is injecting 24v. We then plug the RJ45 plug on our POE into the JTECH, and connect the JST’s. The UAV side is ready for power in 7-30. We then can plug in an a camera to HDMI in on the Jtech, which handles resolutions of 480p - 1080p at 60fps. Reference figure G.

Then we move on to final assembly if the ground station. Ozone drones plastic kits comes with a ground station tripod mount. With we can mount our Loco M5 to with zip ties and velcro. Then we stick on our Jtech with some  more velcro, and then plug the POE RJ45 plug into the Jtech. Then run a cat5e from the Loco M5 to the POE. Which we also checked three times was injecting 24v. The HDMI out will provide you with the feed from the Tx side. Reference figure H. Now we can plug in 7-30v. And proceed to test our and enjoy your new home built HD video downlink.      

Whats to come
In future blog post I will be going into how to do multiple HD video feeds over one radio. I will be doing DIY GPS Antenna Trackers for your ground station. I will be showing you how to pass down telemetry feeds through the existing system. I may also write up a guide explaining how you could make your own UAV satellite to relay telemetry and video feeds from say, a rover on the ground, or stream back an NLos FPV race through the woods. I will likely be developing a controller for mobile phones, that will allow to access the telemetry feeds, and possibly control your flight controller. I may also write how to add 3G and 4G LTE access video and telemetry feeds. And many other tricks. If you have any questions or need just help, feel free to contact us at Ozone Drones. Let us know what you think, we are always open to suggestions and new ideas.



UAV: 10 oz

Ground Station: 1lbs 5oz

Fixed Latency and other Typo's:

Fixing a couple of typos one being the latency from .25ms to the intended ~250ms. Keep in mind this is an approximation below is a video of the video links performance.     


E-mail me when people leave their comments –

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

Join diydrones


  • thanks Andrew,
    now I'm back to my experiments of replacing IP comms with FCOE on RbPi-based video streaming.

  • @Andrew + @Julian - B101 HDMI to CSI Converter is just too expensive for an adapter. You can buy 4 Raspberrypi 3s.

    There are some mini pcie SOC boards out there too such as Hummingboard, but you can hack tx/rx of usb lines and power an external adapter as a workaround.

    Until A company like the Pi foundation, or Broadcom release a full SOC board with both of these features, then the drone game is on pause. Mashing together lots of parts to make a daisychain just to prove a working proof is madness to replicate for mass use. Makes me sad.

    On the brightside, I'm having great fun with (webcam) drone vision on my Jetson TK1!

  • @Julian Excellent find, I was looking at the b100, which was not compatible. Thanks for the correction! This changes everything, for many of my current projects. Auvidea has come a long way this is great!

    And thanks for the Jetson share,  I was looking at platforms for running computer vision and object recognition this is a very exciting time.  

  • @Andrew Ocejo

    Yes the B101 HDMI to CSI Converter is compatible with the RasPi. People over at RCGroups are using it with wifibroadcast:

    This board looks also promising for an AIO FC/HD Broadcast:

  • that is good solution but instead of the hdmi converter you have to use H264 IP base camera ..... 

    also secondery you need to bond data 

  • @Fnoop Thank you for the kind words. I updated the post with weights. It completely skipped my mind to add that very import Spec. UAV side is 10oz, GroundStation 1lbs 5oz.

    @John Rambo You are correct, indeed it was a typo. I fixed it to an approximate ~250ms, until I can more accurately calculate it. I also posted a performance video above to clarify things. Thanks for letting me know about my mistake 25µg is very different form 250ms.   


    @Paul Meier Thanks for sharing! This will most certainly save me time. I was resorting to the M5 Bullets and taking them apart, and carefully removing the N-type connector, by heating it with a small blow torch for my smaller vehicles. the Wispstation is something I am going to have to digest.

    @benbojangles The HDMI to CSI adapter, is not compatible with rpi. The architecture will not support it. I cant wait till they make an RPI with USB 3.0 so we can use these HDMI to USB made by magwel.

    Or we can switch out RPi for something like a lattePanda or better, I am still working on alternatives to RPI and the mjepg converter.

    Specifically for the purpose of multiple feeds from HDMI sources.  

  • MR60


  • Developer

    Looks really good and your details on how to build it yourself while also providing a ready to go set is fantastic.  Video is so important.  I hope others give this a try and report back.

  • Nice Idea, there is always this hardware path too, which is smaller & lighter, which is the ultimate goal:
    2x MikroTik R11e-5HnD (£22.91 each)

    1x set/pair of pigtail antenna (£3)

    1x set/pair of Blade antennas with clips for laptop adapter (£4)

    For the drone:

    1x Ventana GW5510 (£140) (HDMI-in SoC Board)


    1x Rpi2/3 (£30)

    1x Mini Pcie to USB adapter/converter (£5) 

    -Might take some modding/experimenting

    1x HDMI-in to CSI2 adapter (£90) (too expensive)

    Using 5.8ghz band on the Mikrotik adapters, but 2.4ghz is ok if you have other freq on tx.

    For me, I think there needs to be someone like the pi foundation who can release a pi board with mini-pcie slot + HDMI-in. Also price needs to be affordable like the Pi2/3, so we're looking at £50 board. *If* this ever gets released, it will perform wonders for drone vision projects and DIY hobbyists, software developers etc.

    Anyway, just some ideas on hardware, i'm sure more ideas will arrive in time. all the best.


This reply was deleted.