Organize and Share your Electronics the way you want. Sign-Up for a free account now. It takes only 30 seconds!

A Homebrew Versatile X10 Signal Analyzer (Data Logger) using a Lego RCX

A Homebrew Versatile X10 Signal Analyzer (Data Logger) using a Lego RCX

While investigating ways to improve X10 reliability (eventually hitting upon the X10RfConfiguration), I considered different approaches to see if any of the (often time-consuming and expensive) changes I was making in my X10 configuration were helping at all.
What I was looking for was a way to tell exactly how many X10 pulses reliably made their way to their destination socket as initiated by the CM11A and CM17A over a given interval. I was hoping to make a series of changes, e.g. moving/adding filters, moving my boosterlinc, alternative dryer coupler/repeater placement, turning on and off breakers, etc and then systemically logging whether my changes made things better or worse.

I had the X10 ESM1 signal analyzer. While this is a good unit, it’s hard to tell from the moving LED bar graph whether systematic changes are getting better or worse over time. You’d have to read the graph and make a subjective judgement as to whether it seemed stronger. There are more elaborate X10 signal analyzers out there, but it seemed to me that I had most of the parts needed already.

Basically, what I did is make a little program for the Lego RCX that counts and logs the pulses it receives as triggered by contact closure on the UM506. Then I use a program to trigger N pulses over M minutes. As I make changes, I compare the logs and see which changes are beneficial.

That’s probably enough info for most hackers build it, but in case you want a little more detail, I’ve described below.

Here’s how I made a better X10 signal analyzer using parts I’m guessing that most folks have around:

* An X10 Universal Module

* One Lego Mindstorms RCX

* One lego connector plate wire (minimimum 6+ inches)

* NQC and a small program…

The RCX, UM506, and RCX software are collectively referred to as the X10RcxSignalAnalyzer (XRSA).

Instructions

* Cut the Lego electric connector plate wire, one side should longer than other

* Separate the split the ends of the wires and connect to the UM506 and the Lego RCX on sensor one (not the motor outputs)

* Set the UM506 to momentary contact and sounder & relay

* connect the UM506 and RCX together with some rubber bands or velcro.

* Download and install NQC (although you could easily make the same program in any of the other programming languages

available for the RCX – even the ‘stock’ LegoMindstorms RCX language would probably be fine).

* Compile and and download X10RcxSignalAnalyzerCode or equivalent program.

* Download and install a client X10 communication program to your client machine (such as BottleRocket, MisterHouse, or Heyu) * Write an X10RcxSignalAnalyzerCode client program to trigger N pulses (make sure house and unit code match UM506 code)

Visit Here for more.

 

More Articles to Read

Emulate a Commodore 64 keyboard with a modern PC and an Arduino
Emulate a Commodore 64 keyboard with a modern PC and an Arduino
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
USB2005 and USB97C202 Sharing ATA/ATAPI Drive w/ Another Controller
Robotic Cat Laser
Robotic Cat Laser
LED traffic light
LED traffic light
Estimating Power for ADSP-BF561 Blackfin® Processors
Estimating Power for ADSP-BF561 Blackfin® Processors
Teach Your Arduino to Switch Itself Off!
Teach Your Arduino to Switch Itself Off!
Control a tracked robot with your mind (or joystick)
Control a tracked robot with your mind (or joystick)
A 400W (1kW Peak) 100A electronic load using linear MOSFETs
A 400W (1kW Peak) 100A electronic load using linear MOSFETs
Shirt Pocket Transceiver with the Si5351 and OLED
Shirt Pocket Transceiver with the Si5351 and OLED
All metal C930e webcam
All metal C930e webcam

Top




Shares