Building a home automation mesh network

[Ian Harris] designed a bunch of home automation for his parents using X10 hardware. He was a bit disappointed by the failure rate of the modules and the overall performance of the system so he set out to replace it with his own hardware. Lucky for use he’s documented the journey in a four-part series about mesh networks.

The hardware seen above is his test rig. He’s using a couple of Sparkfun breakout boards to develop for nrf2401a RF transceiver chips. These could be used as slave modules, with a central command device, but due to the home’s architecture wireless signals don’t propagate well from one end of the house to the other. The solution is to build a mesh network that will allow each module to act as a network node, receiving and passing on messages until they arrive at the target device. He’s trying to do this with cheap hardware, selecting the PIC 16F88 which boasts 7 KB or program memory and 368 bytes of ram. In the end it doesn’t take much code to get this running, it’s the concepts that take some time and research before you’ll be comfortable working with them.

This is excellent, but I would point out Insteon for people who don’t want to DIY. Insteon is a commercial system with reasonably priced modules and it’s fast, bi-directional, wireless + powerline and mesh network. I currently have 23 modules thoughout my house; mostly in wall switches and it works great.

X10 signals are somewhat unreliable but they do make repeaters for them. They also make in line filters to place on devices that cause a lot of electrical noise. All of the UPS units at my parents house have filters on them as well as some other devices. They notice very few instances where the signals don’t reach their intended targets. The other thing to help make X10 more reliable is a phase bridge. This will let the signals propagate from one phase of the power in your house to the other.

The main problem I see with x10 is that you can’t tell the modules to go to a direct brightness level. You also can’t query them for their current brightness.

X10 modules also used to fail a lot. I get the Leviton modules now and they seem pretty reliable.

Insteon is a much more reliable product because of the way it handles the transmission of signals. You can tell them what brightness level to go to in discrete levels. And they don’t fail (as in brick) often.

Insteon’s serial commands are a little more daunting to get working. X10’s are much easier.

My personal favorite is Crestron, though. The only problem is that it’s expensive and requires you to be a dealer (or work for one) to get the equipment and software.

X10 however, is a great system for guys like us because it’s cheap and it works when you put a little effort into it (repeaters, bridges, and signal test meters).