[How-To] Build An X-10 Broadcast Car Monitor


[How To] Build An X-10 Broadcast Car Monitor
(With Signals Relating to Car Running)

Many home automation enthusiasts like to monitor if their car is home or "on the road" with their automation systems. One way this is accomplished is by using an X-10 motion sensor mounted under the steering column. When motion is detected (from the driver) a unique signal is sent that represents the presence of the vehicle. This method has many short comings though.

One solution would be to have the vehicle "broadcast" a unique X-10 signal when it is started and then broadcast another signal (at longer intervals) when the car is turned off.

This How-To will describe how to make such a unit using a "hacked" palm pad remote.

For starters you should be familiar with the How-To describing How To Hack A Palm Pad Remote, as we will be using this methodology here.

The basic method for this How-To is to use a timer that will continually send a "signal" or pulse every three seconds. A counter circuit will then "count" these pulses and output its own pulse after a specified "divide by" time interval has occurred. The short and long timed pulses will then each trigger their own unique X-10 codes via the palm pad remote.

Refer to this SCHEMATIC. (Allowing the Visio Active-X control will allow for enhanced viewing/zooming capabilities).

This shows a 555 timer on the upper left that will continually output a pulse approximately every three seconds. The timed output (duration and off times) are determined by the 56K & 200K resistors as well as the 10uF capacitor. This output feeds a counter chip (CD-4020) and a transistor (2N3904) that drives a relay which will give a contact closure to the palm pad remote.

Note that a four pole double throw relay will have its contacts either open or closed depending if the car is running or not (because its coil is connected to the car's accessory terminal). This relay does a few functions, one is to either let the 555 timer trigger the contact closure for the palm pad or, let the output of the counter chip trigger it. It also will determine "what" contact will close for the palm pad (in this case it will short Diode D12 to Jumper 4 when the car is off and Jumper 1 when the car is on). This way a unique X-10 signal is sent from the palm pad whether the car is running or not.

The counter is a binary type with various "Q" outputs. Each output represents a "bit" or specific count interval. Depending on what "Q" output pin you choose to use will determine the number of pulses needed to "count" before that output will output a pulse.

For this case we chose output Q10 which will yield a pulse after 512 counts (from the input) are received. After that happens the counter will then reset to zero and start the count over. For our case this would represent 512 pulses that occur every three seconds (from the 555 chip) so the time interval before it will output a pulse from Q10 would be 3 seconds times 512 = 1536 seconds or roughly every 26 minutes.

You can select from a variety of counter outputs to determine the count interval you would like from the table below:


The power supply regulator circuit at the bottom of the schematic will insure that only 8.75 volts DC will be used for the components as well as the supply for the palm pad remote (the input voltage can vary up to 30 volts, plenty of overhead for a vehicles 12 volt system).

This circuit was prototyped and wired into a palm pad remote as shown below (top and bottom views):

(Click on Picture for Full Sized Image)

(Click on Picture for Full Sized Image)

One note to mention is that I did not have a 4PDT and used two DPDT relays instead.

I simulated the car starting and stopping by jumpering twelve volts on the Acc Terminal input. I also set the house code to "I" on the palm pad remote. HERE is the Homeseer log results obtained while testing this prototype. As you can see a house/unit code of I15 ON was received every few seconds when the car was on and a house/unit code of I15 OFF received every 30 minutes (count interval started immediately after the car was turned off, and continued counting every 30 minutes until the car was restarted).

These X-10 signals can now be used in Homeseer (or other software) to determine the occupancy status of the vehicle. One way to do this is to set up two events in Homeseer. One gets triggered on the I15 ON command and the other gets triggered on the I15 OFF command. For the ON event, set the "do not retrigger" block for something like ten minutes. Also set a variable (X-1 in this case) which will act like a flag for the code.

The code for this ON event will look something like the following:

sub main()

if hs.ison("X1") then
     hs.speak "BSR is home"	
end if

hs.execx10 "X1","on",0	
end sub

The code needed for the OFF event (which will be triggered one half hour after car is turned off) will then set the X1 device to zero.

There are probably other ways to implement this code to this hardware function as well.

Parts Listing (Quantities needed are NOT included, refer to schematic):

Below is a listing of where to obtain parts for this project. Jameco Electronics was used to obtain most. Their prices are reasonable and delivery excellent (at least in the west coast).Plus a housing and breadboard of your choice and miscellaneous hook-up wire and solder.

This is by no means represents the ultimate way to build such a device, but rather was the first idea that popped into my head. Please feel free to add, enhance, criticize (but not to badly), etc... to this circuit.

One disadvantage the above circuit has is there is no OFF code immediately sent after the car is turned off. Also, I'm not sure how important it is to have an OFF signal broadcast from the car every half hour after it is parked.

Therefore I tested an alternative circuit that will broadcast an ON signal every few seconds when the car is on, then send about four or so OFF signals immediately when the car is turned off (and no signals sent after that).

Refer to this SCHEMATIC. (Allowing the Visio Active-X control will allow for enhanced viewing and zoom capabilities).

EDIT: This method has been updated. Refer to THIS reply in this thread!

This circuit operates similarly to the above circuit except for the fact that no counter is incremented. Rather, when the car is turned off, an RC (resistive/capacitive) time constant (provided by the 100K resistor and 1000uF capacitor on the NAND inputs) allows the output of the NAND gate to remain high for a few seconds. Also the 4PDT relay is switched to its OFF position so an OFF X-10 code will now be sent from the Palm Pad remote.

This circuit was quickly built up (without the regulator circuit) and operated on a nine volt battery for testing this concept as shown below.

(Click on Picture for Full Sized Image)

Again, I did not have the small DIP 4PDT relay and used that larger one temporarily during this bench test.

This circuit was tested by simulating the car starting and turning off by applying 12 volts to the 4PDT relay. HERE are the test results.

Note that this circuit uses a resistor that was not used in the above first circuit.

100K Resistor (100 of them) for $0.99

Also, HERE is a way to monitor this circuit with an Ocelot (CMax code).

Again, I do not propose that these two circuits represent the "ultimate" way to achieve this function. Also, additional features might be needed and added to this methodology. For instance, you could have a 12 volt relay coil connected to reverse lights and tie the contacts between the palm pad and these circuits so unique codes were generated for "forward" or "reverse" operation. Also, you might want to place normally opened magnetic contacts or a 12 volt motion sensor (normally opened) in your car and connect those to some unused inputs of the palm pad for a cheap security system (monitor those in Homeseer so if these signals are received while your security system is armed, send an alarm signal in your home).

These circuits do take some time to build. If there is a large demand maybe circuit boards could be constructed. Of course this would take someone laying out the boards and getting them made (not cheap, I believe this would cost over $35 per board). Of course you would still have to solder the components onto this board, but the assembly time would be drastically reduced. I did notice THIS thread on making circuit boards over at the Homeseer forums.

Please feel free to leave comments below.


BSR - thanks for posting this. Sure gets the ideas rolling on possabilities. Makes me think adding a simple Atmel 2313 would make this circuit easier. Anyway its good info.
I made a circuit board of the second schematic shown (with components) below. The board is almost the same size as a palm pad and I just attached it to the back of one. The ground wire is attached (an Accessory and Battery wires must be connected also).

        • (Click on Picture for Full Sized Image)

          (Click on Picture for Full Sized Image)

          (Click on Picture for Full Sized Image)

          (Click on Picture for Full Sized Image)
Finally got around to installing this in my truck. I opted to mount the device in a clear plastic case behind the front grill so the RF signal would not have any metal interfering with it.

Just attached an accessory, battery, and ground wire to the PC board and it works great. It broadcasts (in my case) an I15 on every couple of seconds when the ignition is on, then if the truck has been on for over three minutes, will broadcast an I15 off when the ignition is turned off for about a 20 second duration (if the truck has not been on for at least three minutes it will not broadcast an off signal).

Now, just need to figure out some code to make this work like I want (any suggestions?).


  • pcincar.jpg
    43.7 KB · Views: 148
have you tried the transmitter from within the truck? I have no problems using my motion sensor inside my car, not to mention, that palm pad is going to contain many bugs pretty fast :lol:
Actually bugs are not that bad of a problem here in Las Vegas, might try that though. The relay does make a very slight "clicking" sound. Shouldn't be that noticable though.
Hi easytim. Let me give this some thought as I was thinking about putting another order in. Be aware though that no solder mask exists and no silkscreening. Not a big deal for me, but then again I have a 1/32" solder tip with a variable temp solder station (and a lot of soldering experience). The lack of silkscreening shouldn't be a big deal because I could supply schematics and actual "to scale" component layouts of the board (and there are not a lot of components to start with).

If there was a lot of interest maybe I should consider silkscreening and solder masking, but, as my good friend smee would verify, that would raise the cost of the boards, unless the quantity was large. I really don't know what a good quantity price break would be off hand (maybe smee could chime in as he has a lot more board making experience than I do).


BSR, for a quantity of 10 of a board that size (I assumed 2" by 4"), one of the board houses I use (PCBexpress.com) would charge $14.10 per board without soldermask and silkscreen, and $26.50 per board with soldermask and silkscreen. So the price difference is significant.

If you need any help updating the board files, let me know. My PCB software could probably take this board from schematics to Gerber files in about four hours.

For that matter, I would be glad to help on any other cool projects you may come up with. I have these EDA tools sitting idle much of the time.
Thanks for the offer rocco!

I used (again, at smee's great recommendation) expressPCB.com (funny its the reverse name of the company you used). Ten PC boards with silkscreen and solder mask would be $272.45.
Very close to the same price.

I've used expressPCB prior to my buying my own PCB routing software. They are great in that they give you software to route your boards. They are annoying in that they won't make boards that were not routed with their software, and I found their software very tedious (no design rules, no auto-router, inadaquate library). They are smart in that you can't take boards routed with their software to any other board house (that I could find). But their prices are very competitive, as is their quality, so you shouldn't need to.
I have built and tested the X10 broadcast monitor for the car. Here are some pictures of the circuit board that will help you put the parts in the right location and a couple pictures of where the wires were attached to on the X10 PALM PAD.

3 wires

M15 - ON
M15 - OFF
Diode 12 - COMMON

Note that with no wheel on the PALM PAD the default code is M15 where these wires are soldered to.

The board can be purchased from BraveSirRobbin
After extensive testing I've tweaked a few components in the second monitoring method SCHEMATIC.

The 56K resistor was replaced with a 1K, the 200K was replaced with a 400K (just added another 200K in series), and the 330 microfarad cap was replaced with a 33 microfarad one (same voltage rating as the original).

The resistor changes lengthened the time between palm pad transmissions (ON) as well as the time that the signal is sent. The capacitor change was needed in case the car was stalled and started again immediately (the larger cap needed to much time to charge before sending an OFF signal).

I programmed my Ocelot (CMax code) so it can tell HomeSeer (via mcsOcelot plugin) if the vehicle is home or away. Details HERE.

Below are some pictures of a new plastic case I found to house this unit.

(Click on Picture for Full Sized Image)

(Click on Picture for Full Sized Image)

(Click on Picture for Full Sized Image)

(Click on Picture for Full Sized Image)

(Click on Picture for Full Sized Image)