Interfacing X10 MS14A Motion Sensor to Arduino FIO

I got to wondering if someone had hacked a X10 motion sensor and connected it to an Arduino, but I couldn't find anything. I did have a spare X10 MS14A and a schematic, so I did some probing myself. These use a PIC12C508 cmos microcontroller.

I decided to use its pin 5 output, as it seemed to go from high (3v) to low on motion. It was hard to tell for sure with meters. The digital meter is too slow, and the analog loaded the signal too much. Sure wish I had kept an old scope.

Anyway, I ran a wire out of my MS14 from the microcontroller's pin 5 to the FIO's D2 pin, which I configured as a digital input. I also connected the gnd's. Low and behold - it works and transmits through the xbee's back to my home automation computer!

This has possibilities, especially since the MS14, FIO and Xbee's can all run on 3v and handle low temperatures.

I think I have just found a way to close my overhead garage door if there isn't any activity for 5 minutes. This kind of scenario does require some FIO intelligence, as the door should only close after 5 minutes if it is already open and there is no motion.

If no smarts are needed at the remote end, a person could connect the MS14 directly to a xbee and run it off the same AA batteries.

For those not familiar with X10 MS14-16 motion sensors, these things send a house/unit code via 310MHz RF to a receiver. They are fairly cheap and are designed for outdoor use. But they have no provision for any kind of direct connection - hence the hack.

Very nice hack :) It might be the cheapest solution for a motion sensor with Arduino! (I've seen them on ebay 3 for 17.09 w/ free ship.) You chose the right pin on the PIC. For those interested, here is the schematic for the MS14A. I'm thinking it would be fun to replace the PIC with an ATMega on this. 8-)