How X10 Works
Turn off the kitchen lights
X10 works by generating carefully timed electrical pulses in your home’s AC current, and these pulses are then translated into commands. It’s an ‘interference’ tool that allows you to remotely control lights, appliances, and nearly any other device in your home that operates on an alternating current (AC) system.
To understand how X10 operates, consider this scenario: it’s late at night and you’ve gone to bed. You’re almost asleep when you remember that the kitchen lights are still on. Instead of getting out of bed and walking downstairs, you simply pick up your Palm Pad remote from your bedside table, and instruct the system to turn the kitchen lights off. It doesn’t get any easier than that!
Effectiveness
The X10 protocol is simple and effective when the power line conditions are clear. However, it lacks the robustness that new power line protocols like UPB (link: 18_Intro to UPB) boast, and is easily susceptible to power line noise. For example, an electric pulse from a different appliance that occurs during an “0″ signal could be misinterpreted as a “1″.
However, these – and other issues discussed in X10 Pros and Cons – are easily combated with noise filters and other corrective devices.
The simplicity of the code makes the programming of compatible devices very easy, and that’s exactly what many companies have done. You can count on X10 to provide you with the customization options you really want. It’s one of the simplest home security technology systems on the market, but the remarkable thing is that it can be applied in many complex situations.
The protocol
This is the technical part.
When you set up your system, you assign each unit to two values: a house letter (A-P) and a number (1-16). Each letter can be assigned up to 16 numbers, meaning a total of 256 individual unit codes are available. Each appliance can have its own code, but you can combine several items beneath the umbrella of one code.
Let’s suppose you set the kitchen lights as D12. How do you then express letters and numbers through the AC current? You use binary code, combining 0 and 1 in different ways to communicate. Each letter is coded by 4 bits (four positions for 0 or 1), and each number is coded by 5 bits. Commands such as ‘on’ and ‘off’ are also coded by 5 bits.
D: 1010
12: 10110
OFF: 00111
Frame
The protocol is based on a frame or set of commands. The X10 frame begins with a start code (1110), then a house letter, then a function code, and then a number code. The messages are sent twice in a row so that fewer mistakes occur. After three silent cycles, the command is sent.
Here’s what the transmitter sends when you instruct the system to turn off the kitchen lights:
START – D – 12 – START – D – 12
3 Silent Cycles
START – D – OFF – D – OFF
The start code takes up two cycles of the power line; the house code (which tells which area of the house needs to respond) takes up four cycles; and the number code takes up five cycles, and is then repeated, before three silent cycles must occur. All in all, 25 cycles of the power line must take place before the command can take effect.
A full transmission takes 47 cycles, or about 0.8 seconds. Of course, turning an appliance off with this technology will take a little bit longer than flipping a switch – but it’s much faster than walking downstairs to physically turn off the lights at the wall.
Transmission
An AC cycle occurs when the electric current has run one way and is then reversed. This constitutes a single cycle, much like swimming a lap in a pool requires you to go across and then return. Your home’s power line runs on 60Hz, or 60 cycles per second. X10 signals are transmitted at (or as close to as possible to) the zero crossing point of the power line.
The signals occur via the binary system. A “1″ is expressed by an electronic burst of 1 millisecond (ms) at the zero-crossing followed by 1 ms of silence, while a “0″ is indicated by 1 ms of silence followed by a 1 ms burst.
Receiving
Each receiver listens for its own code. When the ‘start’ signal is issued, all receivers begin listening, but when ‘D’ is transmitted, only the D devices will continue to monitor for the number code. And once ‘12’ is communicated, only D12, or your kitchen lights, will listen for the command.
Because of the heavy demands on the decoding device, there may be delays when you are rapidly sending out commands, or changing commands in mid-stream. This is because there must be a 6 zero sequence between the commands, so the device can understand and separate the orders.











[...] How X10 Works [...]