Ben Fiedler

Build Your Own Wi-Fi Antenna

Building a wireless antenna is not hard. While the underlying physics and protocols are relatively complex, an antenna’s job is very simple: it captures or creates electromagnetic waves. We built a basic parabolic receiving antenna using a 3D printer and a female-female N-connector, available in any well-stocked electronic parts store.

There exist a multitude of different antenna designs, each with different characteristics. The simplest type is the isotropic antenna, which sends or receives from all (three dimensional) directions approximately equally well. Closely related is the omnidirectional antenna, which receives equally well from all compass directions, but is sensitive to the vertical angle of incoming electromagnetic waves. The WiFi antennas used in laptops and smartphones are often (close to) omnidirectional, as it would be really impractical if orientation had an effect on signal strength!

Antennas which are sensitive to the angles of incoming radio waves are called directional. Common uses of directional antennas are at space observatories, but also satellite TV antennas or military and civilian radars. They allow for efficient communication over much greater lengths than omnidirectional or isotropic antennas. Directional antennas come in different forms, a well-known one being the parabolic antenna, which uses a parabolic dish to focus the electromagnetic waves on a single point.

The build

The most important part of a parabolic antenna is the parabola: it is described by the equation $y = x^2 / 4a$, where $a$ is the focal length, i.e. the distance from the center of the antenna to the focal point, at which the signal is concentrated. Of course it is infeasible to build an infinitely large antenna, so the parabola is cut off at some point, resulting in a diameter $d$ and height $h$. These parameters are important when printing the design, since they impact the stability and feasibility of the print.

Optimal parabolic antenna equation

Optimal parabolic antenna equation

Such a parabolic antenna has a theoretical gain of $η * (π * d / λ)²$, where $λ$ is the wavelength of the measured signal and $η$ is the so-called aperture efficiency, commonly between 0.5 and 0.7. It is a catch-all for uneven dish surface, poor antenna placement and other errors.

Balz, a friend of mine, helped us model and print the antenna using Fusion3601 and his Prusa i3 MK3S+. The 3D model can be downloaded here. Of course, any decent 3D modeling software and printer will do.

Rendered antenna model

Rendered antenna model

Due to the layer-by-layer operation of 3D printing, shallow slopes often end up with an uneven surface2, which lowers the effectiveness of the antenna. We attempted to fix this by taping a high-density rubber foam sheet in the dish, and covering it with aluminium tape. This better reflects the electromagnetic waves that hit the inside of the dish. Both materials can be bought cheaply in a hardware store.

The completed build

The completed build

And all set! In order to measure how good our DIY antenna is we compared it against a professional so-called cantenna, another type of directional antenna which can be built easily at home. We used a TP-Link WN722N USB wifi adapter as sending station, and the Alfa AWUS036NH USB adapter as receiver. Getting the driver of the TP-Link stick to work was quite the pain, but we managed and set out to measure the different antennas. For our test setup we created a Wi-Fi network on the TP-Link adapter and connected to it from the Alfa adapter. We measured the signal strength using iwconfig.

There are many effects which influence the signal strength at the receiver, such as the transmission power, sending and receiving antenna gains, distance between sender and receiver, the carrier medium, and so on. Except for the receiving antenna all other properties stay the same. Thus it suffices to measure the received signal strength only - we can infer the relative gain between the antennas that way.

We are interested in determining the recipient’s antenna gain, i.e. how much the antenna amplifies a signal when receiving. This is generally measured in decibels-isotropic (dBi), which is the factor between this antenna’s gain and an idealized isotropic antenna.

Signal strength is measured in decibel-milliwatts (dBm), which expresses the change in signal power level per milliwatt increase. Both antenna gain and signal strength are logarithmically scaled, which simplifies calculations: the signal strength measured using an antenna is the actual signal strength at the receiver (in dBm) plus the antenna gain (in dBi). It is important to consider the right environment when measuring antenna gain: there should be no reflective surfaces such as building walls, bridges or similar close by. Also be sure to have line-of-sight between both antennas, as any objects between them disturb the measurements. We chose an open field near our city.

We measured the signal strength once for increasing distances between 1m and 100m, and another time in a 360° radius at 20m, using 20° increments using three antennas: Our DIY parabolic antenna, the professional cantenna, and the omnidirectional antenna which came included with the Alfa adapter, which is rated at 5dBi. Based on the omnidirectional antenna we can estimate the gain of the other two antennas.

Distance measurements

Plot of signal strength with varying distance

Signal strength (dBm) relative to distance (m)

Surprisingly, the omnidirectional antenna outperforms not only our antenna (which was probably to be expected), but also the professional cantenna.

We have a few theories regarding the comparatively poor performance of our antenna: during transport I accidentally bent the copper wire a bit, and we did not manage to bend it back perfectly, potentially shifting wire from the focus. Furthermore, our antenna dish is not a perfect parabola, but contains blemishes from the underlying sponge rubber, diffracting signals instead of focusing them.

Directionality measurements

Plot of signal strength with varying angle

Signal strength (dBm) relative to angle (°)

Unsurprisingly, the omnidirectional antenna is not sensitive to orientation, while the other two antennas are. The cantenna displays a beautiful profile of directionality: Good signal strength when pointing directly towards the source, then decreasing until hitting the minimum around 180°. Our parabolic antenna is also directional, albeit less consistently. In addition to the reasons listed above the length of our copper wire may also be responsible: since it extends beyond the focal point in both directions, signals which are reflected close to the focal point hit the copper wire as well, reducing directionality.

Conclusion

Our DIY antenna is a success: while it is not as good as an off-the-shelf omnidirectional antenna it is certainly good enough to receive Wi-Fi signals over a range of 100m, comparable to a non-DIY cantenna. It displays some form of directionality, if not a very good one. Coming back to antenna gain it seems that our antenna’s gain is not even close to its theoretical maximum of 14 dBi, we estimate it to be closer to 2-3 dBi.

There are many possible improvements to this design. The easiest way to increase antenna gain (and directionality) is to increase its diameter. While 200mm is close to the maximum of the Prusa i3, it is possible to split the design into quarter dishes, assembling a dish twice as large. Using a smoother material to cover the inside of the dish may also help. Finally, replacing the copper wire with a receiver only at the focal length of 100mm should increase directionality, at cost of a significantly more complex model.

A variety of other DIY antenna models also exist, such as the cantenna model we compared against, Wok-Fi (using woks or similar kitchenware as antenna dish), and many more. Hopefully this post showed you that building a Wi-Fi antenna is doable using only cans or a 3D printer, as well as some inexpensive hardware store/electronics. And can be a fun side project!

If you have any questions or comments feel free to reach out to me via my public inbox.


  1. See his reddit thread about parabolic antennas in Fusion360. ↩︎

  2. also called the “staircase effect” ↩︎

Articles from blogs I follow

Structured Logging with slog

The Go 1.21 standard library includes a new structured logging package, log/slog.

via The Go Blog on

Status update, August 2023

Hi! Let me start this status update with an announcement: from 2023-08-28 to 2023-10-01 (!), I will be on leave, so I will have reduced availability. Don’t be surprised if I miss some e-mails, and feel free to ping me again (more generally, please do ping me …

via emersion on

I had a great time at DEF CON 31

I've always admired DEF CON from a distance. I've watched DEF CON talks for years, but I've never been able to go. This year I was able to go, and I had a great time. This post is gonna be about my experiences there and what I learned. In short: I…

via Xe's Blog on