Skip to main content

Long range WiFi antenna from Illy coffee can

I have a stack of half finished projects that I'm trying to complete. Happily, the first one was finished late last night: a long range WiFi antenna made using an empty coffee can. Working from the ideas here I made an antenna from the following:

1. An empty 250g Illy Espresso ground coffee can

2. A Type N bulkhead socket and a Type N plug

3. A piece of WiFi antenna extension cable with a reverse SMA connector on the end.

4. A short piece of coat hanger for the active element of the antenna

Here's a shot inside the can showing the antenna element and the Type H bulkhead socket screwed into place. I simply drilled five holes in the can using a HSS drill.

And from the outside:

The active part of the antenna is made by soldering a piece of coat hanger into the Type N bulkhead connector.

For testing I'm using a USB WiFi adapter that has a reverse SMA connector on the side:

The cable was pretty simple to make, all that was needed was connecting the Type N connector on one end:

And the coffee can lid proves handy because the adapter and cable can all be stored inside the can when not in use. I made a little cover for the bulkhead socket using the neck of a balloon that I tied and turned inside out:

Testing using a combination of iwlist and Kismet showed that the antenna was both directional (as would be expected from its design) and more sensitive than the little whip antenna.

From the top room in my house I could see 58 networks using the standard antenna and 97 using the can pointing in one direction. The received power was on average between 3 and 9 dB better with the antenna for distant networks and had much greater range (that's between 2x and 8x better).

About 1/4 mile from my house (actually 423m or 0.26 mile or 1386 feet) is a business hotel that offers its guests free WiFi. Pointing the antenna in its direction I was able to connect to the hotel WiFi (which doesn't have a WEP or WPA password) and then reach a screen where I had to agree to the hotel's terms and conditions for use of their network.

Looks like I've got a backup connection if my home broadband goes down.

PS There are lots of details missing from this blog post because I linked above to a very detailed explanation of the whys and wherefores of building a can antenna.  Look there for critical details on picking a can size (the Illy can is a good size for the frequency of WiFi), the length of the active element, and the position within the can.   The other thing that's worth noting is that I shortened the cable going to the antenna as it was too long: the longer the cable the worse the loss.


Unknown said…
Could you explain a bit more on what the coat hanger piece is for? What do you mean by 'active' for instance? Is it linked from the top to the side?
Ceno said…
Did you have direct line of sight to the hotel?
Ceno said…
Did you have direct line of sight to the hotel in question?
Unknown said…
This is possibly misleading information, the pigtail cable you used is way too long to use to add any sort of boost to your signal.
Unknown said…
my wifi card has two outputs for the antenna. would it be be possible to do this but only plug into one side? If not, does a dual cable that goes down to a single SMA exist? Thanks
Anonymous said…
How long is the piece of coat hanger wire inside the can? I imagine that is important to pick-up the right frequencies.
gerryk said…
Agreed. The losses in (for example) 10m of RG174 @ 2.4GHz would be nearly 20dB. For every mW of signal out, you would lose 99mW warming the cable.
TheBog said…
Used these directions years ago, works perfectly!
ACR said…
That length of coax is likely incredibly lossy.
Unknown said…
What is reverse SMA connector....???
ColiN said…
There is a hole in the little socket connected to the can. And what he means by active is that it's the piece receiving the signal and transporting it to the coaxial cable.
ColiN said…
Idk if this will work but u may be able to strip the wire near the adapter down to the small copper wire and "create" two coax cables by adding male ends to each side and then putting an amplifier in between to make the signal stronger. I do it for my antenna TV all the time

Popular posts from this blog

Your last name contains invalid characters

My last name is "Graham-Cumming". But here's a typical form response when I enter it:

Does the web site have any idea how rude it is to claim that my last name contains invalid characters? Clearly not. What they actually meant is: our web site will not accept that hyphen in your last name. But do they say that? No, of course not. They decide to shove in my face the claim that there's something wrong with my name.

There's nothing wrong with my name, just as there's nothing wrong with someone whose first name is Jean-Marie, or someone whose last name is O'Reilly.

What is wrong is that way this is being handled. If the system can't cope with non-letters and spaces it needs to say that. How about the following error message:

Our system is unable to process last names that contain non-letters, please replace them with spaces.

Don't blame me for having a last name that your system doesn't like, whose fault is that? Saying "Your last name …

Importing an existing SSL key/certificate pair into a Java keystore

I'm writing this blog post in case anyone else has to Google that. In Java 6 keytool has been improved so that it now becomes possible to import an existing key and certificate (say one you generated outside of the Java world) into a keystore.

You need: Java 6 and openssl.

1. Suppose you have a certificate and key in PEM format. The key is named host.key and the certificate host.crt.

2. The first step is to convert them into a single PKCS12 file using the command: openssl pkcs12 -export -in host.crt -inkey host.key > host.p12. You will be asked for various passwords (the password to access the key (if set) and then the password for the PKCS12 file being created).

3. Then import the PKCS12 file into a keystore using the command: keytool -importkeystore -srckeystore host.p12 -destkeystore host.jks -srcstoretype pkcs12. You now have a keystore named host.jks containing the certificate/key you need.

For the sake of completeness here's the output of a full session I performe…

More fun with toys: the Ikea LILLABO Train Set

As further proof of my unsuitability to be a child minder (see previous post) I found myself playing with an Ikea LILLABO 20-piece basic set train.

The train set has 16 pieces of track (12 curves, two straight pieces and a two part bridge) and 4 pieces of train. What I wondered was... how many possible looping train tracks can be made using all 16 pieces?

The answer is... 9. Here's a picture of the 9 different layouts.

The picture was generated using a little program written in Processing. The bridge is red, the straight pieces are green and the curves are blue or magenta depending on whether they are oriented clockwise or anticlockwise. The curved pieces can be oriented in either way.

To generate those layouts I wrote a small program which runs through all the possible layouts and determines which form a loop. The program eliminates duplicate layouts (such as those that are mirror images of each other).

It outputs a list of instructions for building loops. These instructions con…