Computing stuff tied to the physical world

What if you’re out of wireless range?

In Hardware on Jun 5, 2013 at 00:01

Welcome to the weekly What-If series, also available via the Café wiki.

Ok, so you’ve got some JeeNodes up and running, all talking to each other or to a central node via the wireless RFM12B module. Or… maybe not: the signal is too weak! Now what?

There are several approaches you can try to improve wireless range:

  • optimise your existing antenna(s)
  • lower the data rate and reduce the bandwidth
  • use a more advanced type of antenna
  • use a directional antenna
  • install a repeater of some kind

Let’s go through each of these in turn.

First thing to try is to optimise the little wire “whip” antenna’s that come standard with a JeeNode. Make sure the antenna wire is 82 mm long (that’s for 868 MHz), is sticking up (or sideways) perpendicular to the board, and check that both antenna’s are pointing more or less in the same direction (but not in the direction of the other node: the RF field is circular around the wire, not on top or below).

One thing to keep in mind with these weak signals, is that salty bags of water (us people, that is) tend to absorb RF energy, so these radios work better with us out of the way. Be sure to take a step back while tweaking and hunting for the best orientation!

If that doesn’t help enough, you can do one more thing without messing with electronics or hardware: reduce the datarate of the transmitter and receiver (they have to match). See the RFM12B Command Calculator for settings you can change. To reduce the data rate by two thirds, call rf12_control(0xC614) after the call to rf12_initialize(), for example. The bad news is that you have to do this in all the nodes which communicate with each other – all the data rates have to match!

This in itself won’t extend the range by that much, but with lower data rates you can also reduce the bandwidth in the receiver (with rf12_control(0x94C2)). You can think of this approach as: speaking more slowly and listening more closely. The effects should be quite noticeable. Radio amateurs have been using this technique to get halfway around the world on mere milliwats, using a system called QRSS.

If that doesn’t give you the desired range – here are a few more tricks, but they all require extra hardware: improve the antenna, use “directional” antennas, or use a repeater.

Here’s an example of an improved omni-directional antenna design, as seen on eBay:


And here’s a directional “Yagi” antenna, which needs to be aimed fairly accurately:


I haven’t tried either of these (you can build them yourself), but the omni-directional one was mentioned and described in Frank Benschop’s presentation on JeeDay. He reported getting quite good results, once all the antenna + cabling quirks were resolved.

If neither of these are an option, then the last trick you can try is to add a relay / repeater node to your network, as described in this weblog post some time ago. This will double the range if you place that node in the middle of the two nodes which can’t reach each other, but it adds some complexity to the packet addressing mechanism.

  1. could a “Cantenna” be used for these frequencies ? it is an easily made directional antenna, but I know the dimensions only for 2,4 Ghz…

    • Worth a try, I’d say – probably about 3 times the size in all directions. There’s also the helical antenna, which would come out to about 10 cm in diameter.

  2. Is a Yagi technically legal on the transmitting end? I’m thinking that it’ll increase the power per steradian (sorry – I’m confused by the various terms used for power radiation so deliberately using a generic term) which may or may not be within the terms of the licence. OTOH, you could use something like the Arecibo dish on the receiving end and nobody would care, I assume.

    Maybe a wokfi solution would help: put the JeeNodes at the prime focuses of a couple of old satellite TV antennas.

  3. I have had good results with just replacing the pigtail with a television coax cable with 82 mm of the shielding stripped. I have then sealed the end with a shrink tube and place it in the most ideal location/orientation outside. I needed this to get a signal out of a steel freight container, but is also turned out to extend the range with some 30 meters (outside).

Comments are closed.