DIY Yagi Antenna for LoRa

by taste_the_code in Circuits > Wireless

7975 Views, 100 Favorites, 0 Comments

DIY Yagi Antenna for LoRa

DIY YAGI Antenna for LoRa with amazing distance results
MVI_1790.MP4.00_01_02_22.Still001.jpg
VID_20250215_130540544.mp4.00_00_08_02.Still001.jpg

Hi everyone! Today, I’m excited to share my journey of building and testing a directional antenna that I designed to achieve long-range communication. In a previous video, I tested a module with omnidirectional antenna that reached up to 20 kilometers, but I wanted to push the limits even further. So, I decided to build a directional antenna and test it from a location 40 kilometers away—in a different country!

Supplies

MVI_1773.MP4.00_00_00_00.Still001.jpg

Antenna Specs

I'm completely new to designing antennas so to make my life easier I've used an online calculator to "design" the antenna.

I've used the calculator from "3G Aerial" and I entered the dimensions that I wanted.

I entered 10mm for the boom diameter and I selected it to be square for easier printing later, I entered 2mm for the elements diameter because that was the diameter of the wire that I had on hand and I also tell it to work on 868MHz and to have 5 elements.

The exact output script is attached to this step.

3D Printed Boom

MVI_1773.MP4.00_01_20_11.Still002.jpg
antenna model.png

To be able to precisely position the antenna elements I opted to design and 3D print the center boom based on the specifications outputted from the calculator.

This way, I can position each element perfectly and the entire process will be very repeatable for anyone that wants to follow along.

If you don't have a 3D printer, you can use the services of PCBWay, who are the sponsors of this post, to send them the model and they will print it out for you. They also provide services for PCB manufacturing, CNC machining, injection molding and more for all of your project needs.

The 3D model can be found here.

Making the Antenna

MVI_1771.MP4.00_01_02_29.Still001.jpg
MVI_1775.MP4.00_00_59_11.Still001.jpg
MVI_1775.MP4.00_03_29_11.Still002.jpg
MVI_1778.MP4.00_00_15_08.Still001.jpg
MVI_1779.MP4.00_01_23_13.Still001.jpg
MVI_1779.MP4.00_02_31_16.Still002.jpg
MVI_1780.MP4.00_01_00_19.Still001.jpg
MVI_1782.MP4.00_02_48_15.Still001.jpg
MVI_1782.MP4.00_06_52_19.Still002.jpg

The antenna has five elements: one reflector, one driven element (dipole), and three directors each made from a copper ire.

I first straightened the wire as best as I could and I then cut the copper to the lengths from the specification as precisely as possible. Accuracy is key here!

The boom has holes for each copper rod. I marked the center of the boom on the rods to ensure the rods are evenly spaced. Since the holes were a bit tight, I had to redrill them slightly. Once the rods fit snugly, I secured them with a drop of CA glue to prevent movement.

The dipole needs to be split in the middle with a slight gap so to make sure that I do not push it too much, I added screw terminals as stops. I also planned to secure the wire to these terminals but that did not work so I ended up soldering the wires to the dipole.

I stripped the coaxial cable and connected the inner wire to one side of the dipole and the shielding to the other.

Be careful not to melt the 3D-printed parts while soldering!

After securing all the rods, I added zip ties for strain relief on the cable. This ensures the connections stay intact even when moving the antenna around. Finally, I double-checked the continuity of the connections to make sure everything was electrically sound.

Test the Antenna

MVI_1784.MP4.00_00_59_25.Still001.jpg

Before heading out, I tested the antenna with my LoRa setup. I used a Reyax RYLR998 module for the base station and connected the DIY antenna to a RYLR993 module.

The setup sends a message from the remote module to the base station, which then sends a response back. This ping-pong communication helps verify if the antenna is working and proves that both modules can communicate between them.

You can find the Arduino code for the modules on my website.

Also, before heading out to test the longer distance, I made a smaller test locally where I head out at a location 8km away from my home where I tested the antenna and it was working as expected.

I also tested the directionality of the antenna and it was quite interesting to see it that it no longer communicated if the antenna was pointed away.

Test on Distance

VID_20250214_124028486.mp4.00_00_06_19.Still001.jpg
line of sight.png
2025-02-16 11-46-15.mp4.00_00_06_22.Still001.jpg
VID_20250215_125935151.mp4.00_00_25_04.Still001.jpg
screen-20250213-222741.mp4.00_02_05_0.Still001.jpg

I used a website called "HeyWhatsThat" to figure out what is the furthest point that I can see from my balcony that is also easy to get to.

Looking around, I found a place in neighboring Greece that was about 40km away that I can get to by car so I went there.

On location, I pointed the antenna in the direction where my base station was placed and immediately I was able to get a response back. The antenna worked without any issues and without any dropped pingbacks.

I also tried to point the antenna sideways to test the directionality, and as expected the pingbacks were not received that way.

While at location, I also tried the omnidirectional antenna from before and to my surprise, it also worked sometimes. It needed to be perfectly vertical to get it to work but it proved that with a good line of sight, even a smaller antenna can do its job when it comes to LoRa.

Conclusion

This experiment was a success! The directional antenna I built achieved reliable communication over 40 kilometers, while the omnidirectional antenna managed to reach 20 kilometers under ideal conditions.

The key takeaway is the importance of clear line of sight and precise antenna design. Feel free to give it a try and let me know how it works for you!

Thanks for following along, and don’t forget to subscribe for more DIY projects. If you have any questions, drop them in the comments below.

See you in the next one! Cheers!