Improving RF range for EmonTH

I’ve got a new-to-me home with an EmonBASE in my proto-wiring closet in the basement. While my EmonTH sensors on the ground floor get a decent signal, the sensors on the 2nd (1st floor for EU folks) floor either get very spotty coverage (-71 RSSI) with many drop outs or fail to communicate at all. Are there any options for improving range of my setup? I have an attic space where I’d also like to deploy sensors but that seems like it’s going to be absolute no go in the current configuratio.

Changing the location of the base unit or installing some sort of PIzero relay device are the only two options I can think of, neither of which is very appealing.

Appreciate any pointers!

This sounds tricky.

I think you need to pay some attention to the alignment of the various antennas. and maybe add ground planes.

First, you need to know the radiation pattern of the antenna (and the same goes for receiving). It is roughly a doughnut shape surrounding the antenna, where the distance of the surface of the doughnut represents the signal strength (transmitting) or the strength of the received signal.

Knowing that, you need to align the antennas so that all the transmitters point the thickest part of the doughnut towards the emonBase, and the base antenna does its best to point the thicker parts towards as many transmitters as it can.

If you can add a ground plane - just a flat sheet of metal (aluminium foil glued to cardboard is fine) beneath the antenna and perpendicular to it, that will also help to boost the signal.

There was a big discussion a few years ago - Improving RF signal strength emonTH emonTX
You can have the ground plane at either or both ends of the link.
Pictures: Extending the Coaxial RG-174 cable from inverter 2.4Ghz Antenna | Archived Forum
Bear in mind the sizes mentioned (80/160 mm) relate to 868 MHz - you are most likely using 433 MHz so you need a minimum diameter of a little over a foot.

All this is essentially cost-free. As you say, another emonBase sending via Ethernet would be another solution, and might be the only one if this doesn’t work.

1 Like