X10 for Raspberry Pi on the Cheap [North American Edition]

Now I’ve got my X10 system running and know its limitations, I could have saved a wheen of money not buying stuff I don’t need. Our house appears to have been wired by an, um, spirited amateur, so powerline signalling is of limited use. Thankfully, the tiny and cheap X10 FireCracker CM17A (warning: too many flashing GIFs at this link!) can be driven from heyu [previously]. You can score these on eBay for under $10, and all you need is a serial adapter to drive them.

Leviton X10 controller - cheap!The really cheap bit in my system was discovered in Active Surplus. I found a case of Leviton “Plug-in Frequency Transceiver Modules” for $4/each. One was out of its case, and wouldn’t you know it, it’s the same as a RR501 module, which typically retails for about $30. Sure, these are old stock and are a nasty beige colour, but they provide a way of switching a two-pin appliance. They can also relay remote commands from RF to wired controls.

The only X10 controller I can’t get to work with the Raspberry Pi is the CM19a USB PC Transceiver. I suspect it draws a bit too much power to run from a Raspberry Pi, as it makes the machine unresponsive if it’s plugged it. Running from my bench setup it works fine with the mochad driver, but no dice with the other machine. The CM19a reads wireless RF X10 commands, and it would be useful if I’d added a motion sensor. As is, I’ll stick to the lights going on and off.

(Update: there’s a good chance that my CM19a problems are down to the ancient dwc_otg* fixes I still run on my Raspberry Pi’s kernel. You probably don’t need them, and this device could work fine. One day I will find time to fix ’em …)

(Incidentally, this is the “North American Edition” because X10 RF controls are completely different in Europe, and none of the above is useful to you. Yeah, I know this article is the equivalent of PC Load Letter to you; sorry.)


  1. I have the motion detector X10 MS12A. Can you direct me to a link that show me how to connect the module to RP.
    If it is possible, what do I need to add to the RP (Model B)
    Your help will be greatly appreciated.

  2. Hi Samir — I think the MS12A needs a read/write USB interface like the USB CM19a. I haven’t tried the CM19a with a Raspberry Pi recently; it may work better than before.

  3. Thank you scruss, for your response…
    I have RR501 ( RF trans-receiver), AND I have all the time in the world to experiment. What should I do from RP side to start “feeling the pulse” ……
    Any guide lines will help putting me in a “trail”…..

  4. Samir, I hadn’t realised this, but the RR501 sends RF commands it receives back along the powerline. I use the (more expensive, hard to find) CM11a which *should* be able to read these signals.

    I think the X10 RF units use a slightly unusual frequency – 310 MHz vs 315 – in North America.

  5. You are absolutely correct . And I am fortunate enough to have that one too(cm11a). !! It needs to connect to RP using com port????
    I am very keen to be able to talk to these modules. But I do not know how.
    To make it simple let us have cm11a connected to RP. (How ?)
    Then connect the RR501 to the power line and use my remote to control it(HR12A),
    What do you think ?
    Any guidance will be greatly appreciated.

  6. I have a USB-Serial interface on my Raspberry Pi. If you have a chance, use one that has an FTDI chipset. Most of them use Prolific chips, which mostly work, but the FTDI ones are reliable.

    Plug the serial adaptor into the Raspberry Pi. It should appear as a serial port called /dev/ttyUSB0

    Install heyu (as I showed elsewhere) and then … I dunno. I can’t get it to receive RF commands from a remote.

  7. I will get the FTDI adapter and pursue the RF command issue, provided the approach is responding to X10 line commands.

    I am sure you done that already!!!! Silly me !!!

Leave a comment

Your email address will not be published. Required fields are marked *