Dec 162017
 
Frequently asked questions about the X10 remote control system. Describes various components of the system, sources of supply, etc. Contains information about programming the CP-290 controller.

Full Description of File


Frequently asked questions about the X10 remote control system.
Describes various components of the system, sources of supply,
etc. Contains information about programming the CP-290
controller. Describes various (unauthorized, do-at-your-own-risk)
modifications which can be made to X10 components.


File X10FAQ.ZIP from The Programmer’s Corner in
Category Science and Education
Frequently asked questions about the X10 remote control system. Describes various components of the system, sources of supply, etc. Contains information about programming the CP-290 controller.
File Name File Size Zip Size Zip Type
FILE_ID.DIZ 306 206 deflated
X10FAQ.TXT 67445 20597 deflated

Download File X10FAQ.ZIP Here

Contents of the X10FAQ.TXT file



============================================================================
.----- .-. .-. Timothy C. Green |\^/|
( / : / ' CD, PEng, MEng _|\| |/|_
/ / / -+ (403) 459-3609 > <
/ (__./ (__.: [email protected] >_./|\._<
============================================================================


CHANGES SINCE LAST VERSION

[Since last version was only draft outline, this is the real first version.
Ergo, changes are too numerous to list.]

OUTLINE:

--part 1--
SECTION 1: General Information
Q101. What is X10?
Q102. What sort of X10 transmitters exist?
Q103. What sort of X10 receivers exist?
Q104. How many different units can X10 handle?
Q105. Who makes X10 components?
Q106. Who sells X10 components?
Q107. How do I solve common X10 problems?
Q108. Will X10 work on 220/240V?
Q109. How do I send and receive X10 signals with my computer?
Q110. Where do I get X10 software for my computer?
Q111. Where do I look for more information on X10?
SECTION 2: Information on X10 Components
SECTION 3: Details on X10 Protocol
SECTION 4: Programming details for CP290 Home Control Interface
--part 2--
SECTION 5: Modifications to X10 hardware
Q501. How do I modify appliance modules for momentary operation?
Q502. How do I add local dimming capability to wall switch modules?
Q503. How do I modify the maxi-controller to accomodate more than 16 units?
Q504. How do I modify the mini-controller to control more untits?
Q505. How do I modify the mini-controller to control all units for a
single housecode?
Q506. How do I modify the mini-controller to control only units 9-12 or
13-16?
Q507. How do I modify the mini-controller for momentary operation?
Q508. How do I repair a "blown" lamp module?
Q509. How do I defeat local control of lights and appliances?


--part 1--

SECTION 1: GENERAL INFORMATION
===============================


Q101. What is X10?

A101. X10 is a communications protocol for remote control of electrical
devices. It is designed for communications between X10 transmitters and
X10 receivers which communicate on standard household wiring. Transmitters
and receivers generally plug into standard electrical outlets although some
must be hardwired into electrical boxes. Transmitters send commands such
as "turn on", "turn off" or "dim" preceded by the identification of the
receiver unit to be controlled. This broadcast goes out over the
electrical wiring in a building. Each receiver is set to a certain unit
ID, and reacts only to commands addressed to it. Receivers ignore commands
not addressed to them.

Note that "X-10" is a trademark of X-10 (USA) Incorporated an possibly of
X-10 Home Controls Incorporated (in Canada) as well. This FAQ uses "X10"
nless referring specificallyto aproduct of the holder of the "X-10"
trademark.


Q102. What sort of X10 transmitters exist?

A102. The simplest X10 transmitter is a small control box with buttons.
The buttons select which unit is to be controlled, and which control
function is to be sent to the selected units (e.g. "turn on", "all units
off", etc). There are also clock timer transmitters which can be
programmed to send X10 commands at certain times. Some of these can be
programmed with buttons on the timer; some must be connected to a computer
to select the times. There are other special purpose transmitters that
send certain X10 commands at sunup or sundown, upon detecting movement, or
as commanded by tones over a telephone. This is not an all inclusive list,
and more detail on specific transmitters is given in Section 2.


Q103. What sort of X10 receivers exist?

A103. The simplest X10 receiver is a small module with an electrical plug
(to connect to a standard wall outlet), an electrical outlet (to provide
controlled power to the device it's controlling) and two dials (to set the
unit ID code) on it. An ppliance module has relay insde hich switches
power to its outlet on or off in response to X10 commands directed to it.
A lamp module is similar, but has a triac instead of a relay and will
respond to dimming commands as well as on or off commands. Other receivers
can be wired into wall outlets or into lamp fixtures.


Q104. How many different units can X10 handle?

A104. X10 specifies a total of 256 different addresses: 16 unit codes (1-
16) for each of 16 house codes (A-P). Normally a transmitter is set to a
certain house code (generally selectable by means of a dial) and so can
control at most 16 unit codes. There is no restriction on using multiple
transmitters each set to a different house code on the same wiring. Also,
several receivers could be set to the same house code and unit code so a
single command issued by an X10 transmitter could control multiple
receivers in parallel.


Q105. Who makes X10 components?

A105. Many different companies either make and/or distribute X10
components under different names. Some types are sold by more than one
company (probably made by same OEM). Some are specific to only one
company. Not all companies handle the complete range of components. Some
companies selling X10 components and their associated product names are:

- Radio Shack: Plug 'N Power

- Leviton: Decora Electronic Controls
Leviton Mfg. Co. Inc. Leviton Manufacturing of Canada
59-25 Little Neck Pkwy 165 Hymus Blvd
Little Neck, NY 11362-2591 Point Claire, QC H9R 1G2
(718) 229-4040
(800) 824-3005

- Stanley: Light Minder

- X-10: Powerhouse
X-10 (USA) Inc. X-10 Home Controls Inc.
185A LeGrand Ave. 1200 Aerowood Drive, Unit 20
Northvale, NJ 07647 Mississauga, Ont L4W 2S7
(201) 784-9700 (416) 624-4446
(800) 526-0027 (800) 387-3346


Q106. Who sells X10 components?

A106. The following companies are alleged to sell X10 components in North
America. See Q108 for Europe. Listing in this FAQ is not an endorsement
or recommendation of any kind:

Baran-Harper Group Inc.
77 Drakefield Road
Markham, ON L3P 1G9
Help: (905) 294-6473
Orders: (800) 661-6508
Fax: (905) 471-3730
BBS1: (905) 471-9574
BBS2: (905) 471-6776

Complete Home Automation
Phone: (800) 766-4226 (doesn't work in Canada)

Home Automation, Inc.
2709 Ridgelake Dr.
Metairie, LA 70002
Phone: (504) 833-7256
Fax: (504) 833-7258

Home Automation Laboratories
5500 Highlands Pkwy, Suite 450
Smyrna, GA 30082-5141
Orders: (800) 466-3522
Catalog: (800) 935-4425
Help: (404) 319-6000
Fax: (404) 438-2835
BBS: (404) 319-6227 (300-14.4,8,N,1)

Home Automation and Security
286 Ridgedale Ave.
East Hanover, NJ 07936
Orders: (800) 254-5950
Help: (201) 887-1117
Fax: (201) 887-5170

Home Automation Systems, Inc.
151 Kalmus Drive, Suite M6
Costa Mesa, CA 92626
Orders: (800) 762-7846 (doesn't work in Canada)
Help: (714) 708-0610
Fax: (714) 708-0614

Home Control Concepts
9520 Padgett St. Suite 108
San Diego, CA 92126
Orders: (800) 266-8765 (doesn't work in Canada)
Help: (619) 693-8887
Fax : (619) 693-8892

Hybrid Technical Systems, Inc.
4765 Franchise Street
Charleston, SC 29418
Orders: (800) 289-2001 (doesn't work in Canada)
America Online: HybridTech
Compuserve: 71561,2604

JaMar Distributing
1292 Montclair Drive,
Pasadena, MD 21222
Orders: (800) 477-8142 (doesn't work in Canada)
Fax: (410) 437-3757
Help: (410) 437-4181

JDS Technologies
16750 W. Bernardo Drive
San Diego, CA 92127
Orders: (800) 983-5537
Help: (619) 487-8787
Fax: (619) 451-2799

Vaux Electronics, Inc.
2750 S. Hardy Dr., Suite 1
Tempe, AZ 85282
Phone: (602) 894-2350
Fax: (602) 894-5212


Q107. How do I solve the most common X10 problems?

A107. There is a common problem that you may encounter in setting up your
home with X10 modules. This happens mostly in larger homes, say larger
than 2000 square feet (185 square metres). The symptoms are that some
receiver modules may not work when commanded from some transmitters, or
they may only work sporadically.

This could be caused by too much isolation between the two sides of the
power line (assuming North American wiring standards): a transmitter on
one side will not transmit reliably to a receiver on the other side. Try
your X10 system with and without your electric stove turned on; turning the
stove on may bridge both sides of the power line, but is not the
recommended permanent solution. A better way would be to install a signal
bridge which is available as a commercial product. See section 2 below for
details.

This could also be because the distance from the transmitter to the
receiver is too great and the signals are two weak to activate the
receiver. The solution to this is to install a signal amplifier. This is
available as a commercial product. See Section 2 below for details.

Noise blocks or noise filters may solve other more obscure problems. See
details on these commercially available products in Section 2 below.


Q108. Will X10 work on 220/240V?

A108. There are X10 receiver modules designed to control 240 volt loads,
but only where these are part of a standard North American wiring system,
e.g. for the electric stove or electric drier. See section 2 below.

Knowledge of how X10 works in Europe on 50 Hz, 220 V is a bit hazy in North
America. The following two companies are reputed to sell X10 devices for
European use:

Busch-Jaeger Elektro GmbH
P.O. box 1280
D-5880 Luedenscheid
Voice: +49 2351 956-0
Fax : +49 2351 956-694

Celtel Ltd
P.O. Box 135
Basingstoke
RG25 2HZ
U.K.


Q109. How do I send and receive X10 signals with my computer?

A109. The easiest way of giving your computer some control over X10
modules is via the CP290 Home Control Interface. This is a small box that
connects to a standard RS-232 serial port and has its own internal battery
backed up seven day clock. It is sold with software to work with a PC, Mac
or Apple ][ (the hardware is the same for all). Once you set up to 128
events (on, off, dim) using your computer, you can turn off the computer
and the box will transmit scheduled X10 commands on a daily or weekly
schedule. The CP290 also has an "immediate" mode to send X10 commands from
the computer to X10 receivers.

There are also other X10 modules to interface computers directly to the
power line to send and/or receive X10 commands. These are the PL513 (send
only) and the TW523 (send and receive).

More details on these components are in Section 2.

Q110. Where do I get X10 software for my computer?

A110. The CP290 Home Control Interface comes with software for either IBM
PC, Mac, or Apple ][. This is rudimentary, but functional. There is also
some control software for the CP290 on the Simtel mirrors. Try ftp:
oak.oakland.edu in the directory /pub/msdos/x_10 .

Baran-Harper Group Inc in Ontario runs a bulletin board that has a good
selection of software for the CP290 and TW523. Their BBS numbers are (905)
471-9574 and (905) 471-6776.


Q111. Where do I look for more information on X10?

A111. Try the following:

Magazines:

Electronic House
EH Publishing
P.O. Box 339
Stillwater, OK 74076-9923
Phone: (405) 624-8015
1 year: $17.95, 2 years $31.95

Books:

[none so far]


SECTION 2: INFORMATION ON X10 COMPONENTS
==========================================

Manufacturers' numbers shown below are coded as follows:

X10: X-10 Powerhouse
LEV: Leviton Decora Electronic Controls
RS: Radio Shack Plug 'N Power


MINI-CONTROLLER (X10:MC460). Controls either units 1-4 or 5-8 (selectable)
for any single house code. Functions: on, off, dim, all lights on, all
off. Connects to standard wall outlet.

MAXI-CONTROLLER (X10:SC503, DEC:6320). Controls units 1-16 for any single
house code. Functions: on, off, dim, all lights on, all off. Connects
to standard wall outlet.

SUNDOWNER (X10:SD533). Same as MINI-CONTROLLER. Also will turn four units
on at sundown and off at sunup as determined by internal photocell.
Connects to standard wall outlet.

MINI-TIMER (X10:MT522). Battery backed up clock, controls units 1-8 for
any house code. Functions (daily cycle): on or off at exact time or
approximate time. Manual control: off on, all lights on

TELEPHONE INTERFACE (X10:TR551). Answers phone, controls 10 modules from
commands on remote DTMF phone

TELEPHONE TRANSPONDER (LEV:6325). Answers phone, controls all 256 possible
units for commands on remote DTMF phone, three digit access code, confirms
all commands with synthesized voice

HOME CONTROL INTERFACE (X10:CP290). Battery backed up clock, seven day
cycle, 128 events set by computer connected to RS-232 interface, any house
code, any unit codes. Manual control: units 1-8 for the base house code
set on the unit, on or off. Comes with software for any one of (not all)
PC, MAC or Apple ][. Computer can be turned off or disconnected once the
interface has been programmed and it continues on by itself.

COMPUTER INTERFACE (X10:PL513). Send only computer interface module.

COMPUTER INTERFACE (X10:TW523). Send and receive computer interface
module.

THERMOSTAT CONTROLLER (X10:TH2807). Attaches to appliance module. Small
heater underneath any thermostat fools it into thinking house is warm and
furnace need not be turned on. Good for use with automatic timer (e.g.
MINI-TIMER or HOME CONTROL INTERFACE).

WIRELESS TRANSMITTER (X10:RT504, DEC:6313). Controls units 1-8 or 9-16 for
any house code by sending radio signals to a WIRELESS RECEIVER (X10:RR501,
DEC:6314).

WIRELESS TRANSMITTER (X10:KC674). Turns any two units on or off by sending
radio signals to WIRELESS RECEIVER (X10:TM571 or RR501), keychain size

WIRELESS TRANSMITTER (X10:RW684). Turns any two units on or off by sending
radio signals to WIRELESS RECEIVER (X10:TM571 or RR501), surface mount

WIRELESS TRANSMITTER (X10:RW694). Turns any four units on or off by
sending radio signals to WIRELESS RECEIVER (X10:TM571 or RR501), surface
mount

WIRELESS TRANSMITTER (X10:RW724). Turns any three units on, off or dim by
sending radio signals to WIRELESS RECEIVER (X10:TM571 or RR501), surface
mount

WALL MOUNTED CONTROLLER (LEV:6319-4). Turns any four consecutive units on
or off. Push button switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-4D). Turns any three consecutive units
on, off or dim. Push button switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-4A). Turns any three consecutive units
on or off. Also provides ALL ON and ALL OFF commands. Push button
switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-2). Turns any two consecutive units on
or off. Push button switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-2D). Turns any unit on, off or dim. Push
button switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-2D). Turns any unit on or off. Push
button switches. Wired into rectangular wall box.

WALL MOUNTED CONTROLLER (LEV:6319-1A). Provides ALL ON and ALL OFF
commands. Push button switches. Wired into rectangular wall box.

DRY CONTACT TRANSMITTER (LEV:6315). Transmits X10 ON and OFF signals to
four consecutive units in response to make or break connections of dry
contact sensors (e.g. photocells, external alarm systems). Wired into
rectangular wall box.

MOMENTARY DRY CONTACT TRANSMITTER (LEV:6316). Similar to DRY CONTRACT
TRANSMITTER (LEV:6315) but triggers on momentary changes in the external
dry contact sensors.

WIRELESS RECEIVER (X10:RR501, DEC:6314). Receives X10 commands by radio
signals from WIRELESS TRANSMITTER (X10:RT504, DEC:6313) and retransmits
them into house wiring for any eight units. Also has integrated appliance
module.

WIRELESS RECEIVER (X10:TM751). Receives X10 commands by radio signals
from WIRELESS TRANSMITTER and retransmits them into house wiring for any
two units. Also has integrated appliance module.

APPLIANCE MODULE (X10:AM486). Responds to any house code, any single unit.
Turns load (15A, motors up to 1/3 HP, 500W for lights) either on or off.
Two conductor

APPLIANCE MODULE (X10:AM466). Same as APPLIANCE MODULE (X10:AM486), but
three conductor

LAMP MODULE(X10:LM465). Responds to any house code, any single unit.
Turns incandescent light (300W max) on, off, or dim. Reportedly melts if
connected to anything else.


MOTION DETECTOR (X10:PR511, DEC:6417). At sundown, sends ON command for
any up to four consecutive units and sends OFF again at sunup. Also only
when dark, sends ON command to up to four other consecutive units when
motion detected. Two floodlight sockets turned on/off for either
sundown/sunup or when motion detected (selectable). Adjustable sensitivity
for sunup/sundown and on/off time delay for motion. For outside use. Must
be wired into round electrical box.

WALL SWITCH (X10:WS467). Replaces standard wall switch, wired into
rectangular wall box. Manual toggle of on or off. May be locked in off
position.

WALL SWITCH 3-WAY (X10:WS4777). Same as standard WALL SWITCH, but for use
with three way switch (on/off at two or more locations). Comes with WALL
SWITCH 3-WAY REMOTE.

WALL SWITCH 3-WAY REMOTE (part no?). Used with WALL SWITCH 3-WAY. For
on/off at two or more locations, one must be WALL SWITCH 3-WAY, others must
be WALL SWITCH 3-WAY REMOTE. One of these is included with WS4777, but
they are available separately.

WALL OUTLET (X10:SR227, DEC:6227). Similar to APPLIANCE MODULE 15 A, 800W)
but replaces standard wall outlet, wired into rectangular wall box. One
outlet is X10 controlled; other is always on.

WALL OUTLET DUPLEX (LEV:6280). Similar to WALL OUTLET, but each outlet is
considered separate X10 unit, controlled separately.

WALL OUTLET 220V, 15A (X10:HD243). Controls 220V appliances (e.g. water
heater) up to 15 A, monophase or split two phase, standard North American
wiring.

WALL OUTLET 220V, 20A (X10:HD245). Same as WALL OUTLET 220V 15A but for up
to 20 A.

REMOTE CHIME (X10:SC546). Chimes when turned on. Selectable for any house
code, any unit code. Could be used with MOTION DETECTOR to warn when
someone is approaching.

UNIVERSAL LOW VOLTAGE MODULE (X10:UM506, DEC:6337). Selectable for any
house code, any unit code. Closes external circuit (selectable continuous
or momentary) in response to X10 command. Has integrated REMOTE CHIME
function. Plugs into standard wall outlet. For controlling sprinklers,
curtain closers whose control signals are not 120V but rely on simple
switch closing.

SYSTEM AMPLIFIER (LEV:6201). Boosts signals on one phase and retransmits
them on the other in North American 120/240V wiring system. Installed on
its own 15A breaker at main electrical panel. Often required for large
buildings over 5000 square eet 465 square metres).

SIGNAL RIDG (LEV:6299). Couples signals from one phase to other in North
American 120/240V wiring system. Installed on its own 15A breaker in
rectangular wall box. Often required in medium sized buildings over 2000
square feet (185 square metres), or smaller where commands do not pass
reliably.

NOISE BLOCK (LEV:6282). Installed between incoming power line and main
panel to keep extraneous electronic noise and signals from entering or
leaving X10 network. Useful in apartments or attached homes sharing same
transformer with others. 100A per phase.

NOISE FILTER (LEV:6288). Looks like appliance module. Installed between
power outlet and power cord of particularly noisy appliance that is
interfering with X10 signals.


SECTION 3: DETAILS ON X10 PROTOCOL
====================================

Note: This section applies to 60 Hz North American wiring. Relevance of
this to European wiring is not known.

Each ONE bit in a legitimate X10 transmission is a 1 millisecond (mS)
pulse code modulated burst of 120KHz on the AC line, and each ZERO is the
absence of that burst. The burst is sent three times for each bit, once at
each AC zero-crossing (accounting for zero-crossing in 3-phase). That
means once each 2.778 mS. The next bit is sent on the following zero-
crossing. This is done to get the quietest time on the AC line for the
receiver, whatever phase of the AC it's on. The zero crossing gives the
best signal-to-noise ratio for data transmission because everything should
be shut down then (i.e. the voltage is low).

. . . .
. . .
. . .
. . .
._____________________________._____________________________.___________
^ ^ ^ ^ . ^ ^ . ^ ^
1 1 1 2 . 2 2 . 3 etc.
. .
. . .


In addition, each bit is sent both true and complemented, and each code
sequence (except for DIM and BRIGHT) is sent twice. That's a lot of bit
redundancy, and just barely enough to make it past the noise on the line.

A single normal command takes eleven cycles of the AC line to finish. All
legal commands must first start with the header 1110, a unique code as
described below. The header bits take two cycles at one bit per half
cycle. The next four cycles are the four-bit House Code, but it takes
eight bits total because each bit is sent true then complemented. This is
similar to biphase encoding, as the bit value changes state half-way
through the transmission, and improves transmission reliability. The last
five AC cycles are the Unit / Function Code, a five bit code that takes ten
bits (again, true then complemented). For any codes except the DIM, BRIGHT
and the data following the EXTENDED DATA function, there's a mandatory
three cycle pause before sending additional commands. DIM and BRIGHT don't
necessarily need a pause, and the data after the EXTENDED DATA command
absolutely MUST follow immediately until all bytes have been sent. The
EXTENDED DATA code is handy, as any number of eight-bit bytes may follow.
The data bytes must follow the true/complement rule, so will take eight
cycles per byte, with no pause between bytes until complete. The only legal
sequence that doesn't conform to the true/complement rule are the start
bits 1110 that lead the whole thing off, likely because the modules need
some way to tell when it's OK to start listening again.

A full transmission containing everything looks like this (see the end of
this section for the actual command codes):

1 1 1 0 H8 /H8 H4 /H4 H2 /H2 H1 /H1 D8 /D8 D4 /D4 D2 /D2 D1 /D1 F /F
(start) (House code) (Unit/Function code)

So, to turn on Unit 12 of House code A, send the following:

1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 (House A, Unit 12)

then wait at least three full AC cycles and send it again, then wait three
and send:

1 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 (House A, Function ON)

again wait three cycles and send it the last time. Total transmission
would have been 264 discrete bits (don't forget the 3-phase) and would take
53 cycles of the AC line, or about .883 seconds.

It's perfectly allowable to stack the Unit or Function codes together, so
sending Unit 2 Unit 3 Unit 12 ON (separated by 3 cycles minimum) will
turn on all 3 units. Stacking ON and OFF codes is annoying and flashes the
lights quickly (roughly 4 Hz).



X10 COMMAND CODES

House Codes Unit/Function Codes

H8 H4 H2 H1 D8 D4 D2 D1 F

A 0 1 1 0 1 0 1 1 0 0
B 1 1 1 0 2 1 1 1 0 0
C 0 0 1 0 3 0 0 1 0 0
D 1 0 1 0 4 1 0 1 0 0
E 0 0 0 1 5 0 0 0 1 0
F 1 0 0 1 6 1 0 0 1 0
G 0 1 0 1 7 0 1 0 1 0
H 1 1 0 1 8 1 1 0 1 0
I 0 1 1 1 9 0 1 1 1 0
J 1 1 1 1 10 1 1 1 1 0
K 0 0 1 1 11 0 0 1 1 0
L 1 0 1 1 12 1 0 1 1 0
M 0 0 0 0 13 0 0 0 0 0
N 1 0 0 0 14 1 0 0 0 0
O 0 1 0 0 15 0 1 0 0 0
P 1 1 0 0 16 1 1 0 0 0
All Units Off 0 0 0 0 1
All Units On 0 0 0 1 1
On 0 0 1 0 1
Off 0 0 1 1 1
Dim 0 1 0 0 1
Bright 0 1 0 1 1
All Lights Off 0 1 1 0 1
Extended Code 0 1 1 1 1
Hail Request 1 0 0 0 1 Note 1
Hail Acknowledge 1 0 0 1 1
Pre-Set Dim 1 0 1 X 1 Note 2
Extended Data 1 1 0 0 1 Note 3
Status is On 1 1 0 1 1
Status is Off 1 1 1 0 1
Status request 1 1 1 1 1 Note 4

Note 1: Hail Request is transmitted to see if there are any other X10
compatible transmitters within listening range.

Note 2: In a Pre-Set Dim function, the D1 bit represents the MSB of the
level and the 4 House code bits represent the 4 least significant
bits. No known X10 device responds to the Pre-Set Dim function.

Note 3: The Extended Data code is followed by eight-bit bytes which can
be any data you might want to send (like temperature). There
must be no delay between the Extended Data code and the actual
data bytes, and no delay between data bytes.

Note 4: The X10 RF to AC Gateway model RR501 is a two-way module. If the
RR501 is addressed by transmitting its House Code and Unit Code and
then the STATUS REQUEST is transmitted, the RR501 will respond by
transmitting Status ON if it's turned on, or Status OFF if it's off.


RECOMMENDED SPECIFICATIONS TO ENSURE RELIABLE COMMUNICATION TO ALL X10
DEVICES:

Carrier Oscillation Frequency 120KHz +/- 5% (s/b 2%, but 5% OK)

Zero Crossing Detection 100uS +/- 100uS

Width of Transmitted Carrier 1mS +/- 50uS

Transmitter output power 60 mW average (5V pk-pk into 5 ohms)

Isolation Voltage 2500V RMS. 60Hz for 1 min.



SECTION 4: PROGRAMMING DETAILS FOR CP290 HOME CONTROL INTERFACE
================================================================

Reference: X10 CP290 Home Control Interface Programming Guide for
Advanced Programmers

The CP290 Home Control Interface communicates with the host computer via a
simplified RS-232 interface. Serial communication takes place at 600 baud,
eight data bits, no parity, and one stop bit. The reference recommends a
pause of one millisecond between transmitted bytes, although in many
applications this seems not to be required. This probably depends on the
efficiency of the serial communications software used to send data to the
interface.

The serial connector on the CP290 is a five pin DIN connector. As seen
from the back of the interface, the pinouts are as follows:

5 - no connection * * 1 - no connection
4 - data to computer * * 2 - data from computer
*
3 - signal ground


There are eight possible commands that the computer can send to the CP290.
Each command starts with 16 hex FF bytes (each 0xff, or eight ones) for
synchronization purposes. These are followed by the command code 0-7 and
then a variable number of bytes as required by the syntax of each command.
The inteface requires a checksum of data bytes that follow the command code
(see details for each command for exceptions) as the last byte in a
command.

The interface responds to each command with 6 hex FF bytes (each 0xFF, or
eight ones) for synchronization purposes. This is followed by a status
byte, and depending on the command, other information. The interface
generates a checksum for all bytes following the status byte and sends it
as the last byte in a reply to a command.


COMMAND 0 - SET INTERFACE BASE HOUSE CODE

The CP290 maintains a value called the base house code, which defaults to
house code A on power up. This is equivalent to setting the house code on
other X10 controllers; the eight buttons on the CP290 control units 1-8 on
or off for the base house code. Note that setting the base house code with
this command will clear all data in the interface.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0000 - command 0
17: HHHH 0000 - base house code to set

where HHHH = 0000 - house code M
0001 E
0010 C
0011 K
0100 O
0101 G
0110 A
0111 I
1000 N
1001 F
1010 D
1011 L
1100 P
1101 H
1110 B
1111 J

Return (interface to computer):

bytes 0-5: 1111 1111- synchronization
6: 0000 000X - interface status

where X = 0 - interface has lost all memory
1 - interface is OK

COMMAND 1 - SEND DIRECT COMMAND

It is possible to send X10 commands from the computer onto the power line
via the CP290. This is not particularly fast.

Command Syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0001 - command 1
17: LLLL FFFF - dimming level and function
18: HHHH 0000 - house code for this command
19: UUUU UUUU - unit codes bitmapped 9-16
20: VVVV VVVV - unit codes bitmapped 1-8
21: CCCC CCCC - checksum

where LLLL = 1111 - dimmest (not quite full off)
... - intermediate brightness values
0000 - brightest (not quite full on)

FFFF = 0000 - units off (*)
0001 - lights on, not appliances (*)
0010 - turn on
0011 - turn off
0100 - if light off, turn on full; in any
case, dim to full off. Responds as
0011 (*)
0101 - if light off, turn on full; else
brighten to full; then dim LLLL
(LLLL+1?) steps. Responds as 0100.
(*)
0110 - if light off, tur on full; else
brighten by LLLL+1 steps. Responds
as 0101. (*)
0111 - no obvious effect. Responds as 0110.
1000 - no obvious effect.
1001 - no obvious effect.
1010 - no obvious effect.
1011 - no obvious effect.
1100 - no obvious effect. Responds as 1011.
1101 - no obvious effect. Responds as 1100.
1110 - no obvious effect. Responds as 1101.
1111 - no obvious effect. Responds as 1110.

where (*) indicates behavior undocumented
in the reference

HHHH - as for Command 0

UUUU UUUU - units bitmapped as
9 10 11 12 13 14 15 16

VVVV VVVV - units bitmapped as
1 2 3 4 5 6 7 8

CCCC CCCC - sum of bytes 17-20

Return (interface to computer):

bytes 0-5: 1111 1111 - synchronization
6: 0000 000X - interface status
(pause while X10 command is sent onto power line)
7-12: 1111 1111 - synchronization
13: 0000 000X - interface status
14: HHHH FFFF - house code and function
15: UUUU UUUU - unit codes bitmapped 9-16
16: VVVV VVVV - unit codes bitmapped 1-8
17: HHHH 0000 - base house code
18: CCCC CCCC - sum of bytes 14-17

where all values are as explained above; response function
codes are same as command function codes except as
noted


COMMAND 2: SET INTERFACE CLOCK

This command sets the internal clock in the CP290.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - syncrhonization
16: 0000 0010 - command 2
17: 00mm mmmm - minutes 0-59
18: 000h hhhh - hours 0-23
19: 0ddd dddd - bitmapped day of week Sun - Mon
20: CCCC CCCC - sum of bytes 17-19

where ddd dddd is day of week bitmapped as
Sun Sat Fri Thu Wed Tue Mon

Return (interface to computer):

bytes 0-5: 1111 1111 - synchronization
6: 0000 000X - interface status


COMMAND 3a: SEND TIMER EVENT TO INTERFACE

This command sends a timer event to the interface. The computer can then
be disconnected and the event will be sent over the power line as X10
commands at the appropriate time. Events are stored eight bytes per event
in locations 0-1023 in the 2K RAM inside the interface.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0011 - command 3
17: AAAA AAAA - LSB of event address
18: 0000 00AA - MSB of event address
19: NNNN MMMM - mode
20: 0ddd dddd - bitmapped days Sun - Mon
21: 000h hhhh - hour 0-23
22: 00mm mmmm - minute 0-59
23: VVVV VVVV - bitmapped unit codes 1-8
24: UUUU UUUU - bitmapped unit codes 9-16
25: HHHH 0000 - house code for this event
26: LLLL FFFF - level and function
27: CCCC CCCC - sum of bytes 19-26

where 0000 00AA AAAA AAAA (bytes 18 and 17) =

0000 0000 0000 0000 for event 0
0000 0000 0000 0100 for event 1
0000 0000 0000 1000 for event 2
.... (increases by 8 for each event)
0011 1111 1111 1100 for event 127


MMMM = 0000 - clear
0001 - ?
0010 - tomorrow only then clear
0011 - ?
0100 - today only then clear
0101 - ?
0110 - ?
0111 - ?
1000 - at exact time
1001 - at approximate time
1010 - ?
1011 - ?
1100 - ?
1101 - ?
1110 - ?
1111 - ?

NNNN = MMMM - program event
NNNN = MMMM = 0000 - clear event
NNNN not = 0000; MMMM = 0000 - store event but
put it on hold (will not take place)


Actually, setting for NNNN and MMMM is a bit vague. The reference
indicates that NNNN = 0 and MMMM is function code as shown above.
The software provided with the CP290 uses NNNN = MMMM except when
"freezing" an event (deactiving it, but not erasing it). Frozen
events also have UUUU UUUU = VVVV VVVV = 0. It's not clear how a
frozen event knows what units it is to control. Not clearing the
unit mask confuses the standard CP290 software...

Return (interface to computer):

bytes 0-5: 1111 1111 - synchronization
6: 0000 000X - interface status


COMMAND 3b: SEND "GRAPHICS DATA" TO INTERFACE

In the 2K RAM of the interface, locations 1024 through 1535 are accessible
from the external computer, but are not used for events or any other
purpose by the interface. In the CP290 these are referred to as the
locations for graphics data. For each of 256 possible units, the memory
locations could be used to indicate (under control of an external program)
the on/off condition of a unit, or the type of unit it is (possibly an
index to a graphics icon). This command writes data from the computer two
bytes at a time to these memory locations in the interface.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - sychronization
16: 0000 0011 - command 3
17: AAAA AAA0 - LSB of data address
18: 0000 0AAA - MSB of data address
19: GGGG GGGG - data byte 0
20: GGGG GGGG - data byte 1
21: CCCC CCCC - sum of bytes 19 and 20

where 0000 0AAA AAAA AAAA(bytes 18 and 17) =

0000 0100 0000 0000 for data pair 0
0000 0100 0000 0010 for data pair 1
... (increases by 2 for each subsequent data pair)

GGGG GGGG - can be anything relevant to the
external program, since this data
is not used by the interface

Return (interface to computer):

bytes 0-5: 1111 1111 - sychronization
6: 0000 000X - interface status


COMMAND 4: GET CLOCK TIME AND BASE HOUSE CODE FROM INTERFACE

This command reads the time from the internal interface clock and also gets
the current base house code. It is an innocuous way of testing for the
presence of the interface, and to see if it has lost its memory since the
last time events were downloaded to it. If there is no reply to this
command after several seconds, the computer could assume that the interface
was not (properly) connected.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0100 - command 4

Return (interface to computer):

bytes 0-5: 1111 1111
6: 0000 000X - interface status
7: 00mm mmmm - minute (0-59)
8: 000h hhhh - hour (0-23)
9: 0ddd dddd - bitmapped days Sun - Mon
10: HHHH 0000 - base house code
11: CCCC CCCC - sum of bytes 7-10


COMMAND 5: GET TIMER EVENTS FROM INTERFACE

This command requests the interface to send to the computer the events that
it has stored in its memory.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0101 - command 5

Return (nterface to computer):

bytes 0-5: 1111 1111
6: 0000 000X - interface status
for( event = 0 ; event < 128 ; event = event+1 )
{
if( event is not erased )
{
7: NNNN MMMM - mode
8: 0ddd dddd - bitmapped days Sun - Mon
9: 000h hhhh - hour 0-23
10: 00mm mmmm - minute 0-59
11: VVVV VVVV - bitmapped unit codes 1-8
12: UUUU UUUU - bitmapped unit codes 9-16
13: HHHH 0000 - house code for this event
14: LLLL FFFF - level and function
}
else
7: 1111 1111 - indicates event in that
location is erased
}
last byte: CCCC CCCC - sum of all bytes for valid events
starting with byte 7; does not
include the 1111 1111 for locations
where event has been erased


COMMAND 6: GET "GRAPHICS DATA" FROM INTERFACE

This command requests the interface to send the "graphics data" that it has
stored in its memory. See COMMAND 3b above. Graphics data is not used in
any way by the interface.

Command syntax (computer to interface):

bytes 0-15: 1111 1111 - synchronization
16: 0000 0110 - command 6

Return (interface to computer):

bytes 0-5: 1111 1111
6: 0000 000X- status
for( unit = 0 ; unit < 256 ; unit = unit+1 )
{
if( graphics data for unit has been stored )
{
7: GGGG GGGG
8: GGGG GGGG
}
else
7: 1111 1111
}
last byte: CCCC CCCC - sum of all data pairs for all units
starting with byte 7; excludes the
single 1111 1111s in cases where
data for that unit has not been
stored

COMMAND 7: DIAGNOSTIC

This command tells the interface to run a self-check on its hardware and
firmware. Pin 4 on the interface goes low for 10 seconds; this may
generate extraneous characters that are detected by the attached computer.
At the end of this time, the interface sends its status if it can. Note
that this command will scramble or clear any data stored in the interface.

Command syntax (computer to interface):

bytes 0-15: 1111 1111
16: 0000 0111 - command 7

Return (interface to computer):

bytes ?: extraneous characters for 10 seconds
0-5: 1111 1111 - synchronization
6: 0000 000T - test status

where 0000 000T = 0 - interface is OK
1 - interface has a fault


KEYBOARD COMMANDS

If X10 commands are sent using the keys on the top of the CP290, the
interface will send a report to the computer so it can keep track of the
status of units.

Report (interface to computer):

0-5: 1111 1111 - synchronization
6: 0000 000X - interface status
7: HHHH FFFF - hous code and function
8: UUUU UUUU - unit codes bitmapped 9-16
9: VVVV VVVV - unit codes bitmapped 1-8
10: HHHH 0000 - base house code
11: CCCC CCCC - sum of bytes 14-17

where FFFF is the function return code described for
Command 1 (SEND COMMAND DIRECT)


TIMED EVENTS

When the CP-290 sends X10 commands in accordance with an event programmed
into it, it will send a report to the comptuer so the computer can keep
track of the status of units. This report is in the same format as the
report for keyboard commands described above.


SECTION 5: MODIFICATIONS TO X10 HARDWARE
=========================================

WARNING: Modifying X10 hardware as described in this section will void the
warranty of the hardware. Any modifications you do are at your own risk
and the results are entirely your own responsibility. You may end up
damaging the hardware beyond use. Remember, X10 devices are connected
directly to the power line, and can kill you. If you feel uncomfortable
about any of this, don't do it. The modifications in this section have been
tried by one or more people. They may not work for you, due to variation
in technical skill, or variation in X10 equipment lots. Again, you are on
your own; use at your own risk!


Q501. How do I modify appliance modules for momentary operation?

A501. Normally appliance modules turn on and stay on in response to an ON
command, and off in response to an OFF command. In response to an ON
command appliance modules modified as described in this section will pulse
on then off twice, returning to the off position.

Procedure:

1. Make sure module is off, unplug it and then take cover off.

2. Locate 330K resistor below the IC chip. Remove it.

3. Reassemble and test the module.


The module clicks twice because each X10 command is issued twice. Thus the
two commands causes two on/off cycles. If you would like the module to be
normally on, make sure that the module was left on before you start the
mod.


Q502. How do I add local dimming capability to wall switch modules?

A502. There are X10 wall switches with local dimming capability, but these
are not as widely available and reasonably priced as the X-10 WS467. This
switch has a local on/off toggle and a slide button to lock it off. The
light it controls can be dimmed only from a remote X10 transmitter.

The difference in circuitry between the switches with and without local
dimming capability is minor. Those with local dimming capability have a
jumper wire where those without local dimming have a resistor and
capacitor. To convert a switch without local dimming to one with local
dimming, you will need to remove the resistor and capacitor and replace
them with a wire. You will need a jeweler's flat-blade screwdriver, a
soldering iron, and a desoldering bulb or solder-up wick. You may find
needle nose pliers to be helpful as well.

Procedure:

1. Make sure the switch is functioning properly before starting.

2. Take the module apart all the way. Using the screwdriver,
press down on the tabs at the four corners of the back cover, and pop the
cover off. Be careful not to break the tabs. Remove the circuit board from
the case by prying the side of the case away from the side of the board
with the screwdriver far enough so that the PCB can clear the tabs which
hold it in place. As the PCB comes out, be careful not to lose the small
metal tab or the tiny spring-loaded rod which form part of the cutoff
switch. Also remove the plastic piece which holds the cutoff switch
assembly in place; removing the switch assembly now will make it easier to
reassemble the switch properly later. The following is a crude ASCII
diagram of the component side of the WS467 PC board, showing relative
locations of various components.



|---------------------------------|
| | TRIAC
| | /
| | /
| | / Notes: The WS467 has a small
| | / 1/4 watt resistor soldered
| | / between holes 1 and 2, as
| |---------------| | / well as an electrolytic
| | I C | |-| |/ capacitor soldered between
| |---------------| o 1 | |/| holes 3 and 4. Remove these
| 2 o |-| | components and solder a
| o | jumper wire between holes
| 3 o | 1 and 3 to restore local
| 4 | dimming.
| |
| |
| |
| |
| (Other circuitry omitted |
| for clarity.) |
| |
|---------------------------------|

WS467 PC Board
Conponent Side

3. Once the switch has been disassembled and the PCB removed from
the case, examine the component side of the board closely while referring
to figure 1. Locate the small electrolytic capacitor and 1/4 watt resistor
located just below and to the right of the IC on the board. Note that there
is probably a larger 1/2 watt resistor in close proximity to the correct
one - make sure you pick the right resistor. Now flip the board over and
locate the 4 pads to which these two components are soldered. After warming
up your soldering iron, use the solder wick or desoldering bulb to remove
the solder from those pads, and remove the components from the board. NOTE:
you could also simply cut the components off the board, leaving the lead
stubs soldered in place, but desoldering the components will result in a
much neater job.

4. Again referring to the diagram in figure 1, install a small
jumper wire between holes 1 and 3. Solder the wire to the pads on the foil
side of the PCB.

5. Reassemble the case, pop the circuit board back in, and pop the
back cover on. Turn the switch over and look closely into the hole where
the cutoff switch assembly fits. There you will see a pair of small metal
protrusions as well as a shorter metal contact area. Replace the small
metal tab into its position between the two taller metal protrusions,
positioned so that the other end of the metal tab can contact the shorter
metal contact area. Pop the cutoff switch assembly back into place, making
sure that neither the tiny spring-loaded rod nor the metal tab fall out
while you do so.

6. Install the switch in the wall, and test normal operations
(local on/off control, remote on/off/dim control, and the function of the
cutoff switch).

7. Finally, test the local dimming function: Press and hold the
button on the switch. The light will come on, and then slowly cycle through
a bright-to-dim-to-bright sequence. Release the button when the desired
level of lighting is achieved. A quick tap on the button will turn the
light on and off.


Q503. How do I modify the maxi-controller to accomodate more than 16 units?

A503. The maxi-controller controls 16 units on a single house code. For
those of applications with more than 16 units (and the thoughts of grouping
units together or glueing a dime to the house code select slot aren't that
appealing), a maxi controller can be made to control an alternate house
code with the addition of a momentary contact pushbutton.

The following procedure modifies the maxi-controller to use house code I
normally and control house code K with the push of a button.

Procedure:

1. Open the maxi-controller. There is no need to remove the
circuit board.

2. Install a miniature normally open momentary contact push button
switch (e.g. RS 275-1571A) in a hole *carefully* drilled in the back of the
top piece of the case so the switch will stick out the back when all is
done). Avoid the components and the mounting post. Position it roughly
behind the red LED on the Powerhouse brand of the maxi. Another way to
describe its location: If you have the standard label 1-16 in position, the
button goes behind approximately 12 (maybe a bit towards 11).

3. Using a short jumper wire, solder one post of the switch to pin
7 of the IC (GI 8417) and the other lead to pin 10. Use as little heat on
the IC pins as possible to get a good solder without destroying it.

4. Reassemble making sure nothing is shorting (jumper leads,
etc.).

5. Set house code rotary to position I and test units on house
code I. To operate house code K, push in pushbutton and hold it while
selecting the unit(s) and the operation (on,off,dim,bright,all lights on,
or all units off).

Note that the pins 7 to 10 mod will also allow you to control house codes
J/L, H/F, G/E, B/D, A/C, P/N, or O/M by changing the rotary switch.

Untried variations: Using the chart below, you could connect via
pushbutton pins 7 and either 8, 9, 10, or 11 alternatively or more than one
if necessary to produce a desired combination. If you absolutely had to
produce a house code alternative where you need to turn a 1 into 0 instead,
you could use a normally closed pushbutton and cut a trace.

Maxi controller with GI 8417 IC (can jumper a "1" from pin 7)

PIN 8 9 10 11
--- -- -- -- --

J 0 0 0 0
I 0 0 0 1
L 0 0 1 0
K 0 0 1 1
H 0 1 0 0
G 0 1 0 1
F 0 1 1 0
E 0 1 1 1
B 1 0 0 0
A 1 0 0 1
D 1 0 1 0
C 1 0 1 1
P 1 1 0 0
O 1 1 0 1
N 1 1 1 0
M 1 1 1 1


Q504. How do I modify the mini-controller to control more units?

A504. This answer should be read in conjunction with the instructions for
modifying the maxi-controller in Q503.

Unfortunately, the truth table for the mini-controller appears to be all
different for that for the maxi-controller, and there isn't a real good
place to mount the pushbutton. Besides, if you really need to control a
bunch of units, you wouldn't have the mini-controller in the first place.

However, the following seems to appy:

Mini controller with 8925 IC (can jumper a "1" from pin 3)

PIN 5 6 7 8
--- -- -- -- --

M 0 0 0 0
O 0 0 0 1
E 0 0 1 0
G 0 0 1 1
C 0 1 0 0
A 0 1 0 1
K 0 1 1 0
I 0 1 1 1
N 1 0 0 0
P 1 0 0 1
F 1 0 1 0
H 1 0 1 1
D 1 1 0 0
B 1 1 0 1
L 1 1 1 0
J 1 1 1 1


Q505. How do I modify the mini-controller to control all units for a
single housecode (i.e. all "bands")?

A505. The X10 mini controller is capable of addressing four of the sixteen
X10 unit codes. A slide switch on the controller allows the user to select
the "band" of units 1-4 or 5-8. A simple modification allows the selection
of two additional bands, 9-12 and 13-16. This covers the entire spectrum
of X10 units accessible from a single house-code.

This modification applies to the "Radio Shack" branded mini controller,
number 61-2677B. By visual inspection of the circuit board and internal
components, it appears that this modification also applies to "Stanley"
branded mini controller number 360-3090. It appears that both of these
units were manufactured for X10 for sale under the distributers' own brand
name, and are essentially identical inside.

There was an earlier model of the mini controller that was available from
Radio Shack, and possibly other sources. Legend has it that the old unit was
even easier to modify for access to all four bands. In fact, one legend says
that the unit was equipped with a four-band switch, two positions of which
were simply blocked off by the plastic bezel sticker applied over the plastic
cabinet. I don't know what the truth is, not having one of the old mini
controllers to study. What I do know is that this modification was not
developed for the old controller.

The old mini controller had four switches for the unit codes, plus individual
switches for ON, OFF, DIM, BRIGHT, ALL LIGHTS ON, and ALL UNITS OFF. To turn
on unit three, one would depress two switches: 3 and ON.

The new mini controller does not have ON and OFF switches apart from the unit
codes. Instead it has an ON and OFF switch for each of the four unit codes.
(In the case of the Radio Shack unit, there are four rocker switches, up for ON
and down for OFF. The Stanley unit has individual switches for 1 ON, 1 OFF,
2 ON, 2 OFF, etc.) Pressing one of these switches sends both the unit code and
the ON or OFF command. The user can then follow up by using the DIM or BRIGHT
switches, or the ALL LIGHTS ON or ALL UNITS OFF switches.

Procedure:

1. Unplug the unit and open the case by removing the four
phillips-head screws. Put both halves of the case in a safe place. When
handling the printed circuit board, orbserve the usual precautions for
static-sensitive devices.

2. Locate the place where the existing "band" switch is located.
This is nothing more than a plastic handle on a metal slider that runs in a
trough molded into the top part of the case. The slider makes contact with
three large pads on the printed circuit board.

3.The hardest part of the modification is finding a new switch to
use for the four-position band selector! It is possible to use a two-pole
four-throw rotary switch. I'll let you figure out how to do the encoding
if you decide on that. I found a suitable switch in my junk-box and
mounted it in a position that replaces the old band switch. This entailed
some amount of cutting and gluing on the plastic case. I will assume that
you are doing the same. Find a small slide switch that has four positions.
It should have two rows of five contacts. As the switch is moved, it
each switch position: back of the switch, one should see the following connecti

position 1 position 2 position 3 position 4
+-------------+ +-------------+ +-------------+ +-------------+
|1--2 3 4 5| |1 2--3 4 5| |1 2 3--4 5| |1 2 3 4--5|
| | | | | | | |
|A--B C D E| |A B--C D E| |A B C--D E| |A B C D--E|
+-------------+ +-------------+ +-------------+ +-------------+

Physically, the switch should fit in pleasingly with the rest of the panel.
This usually means that it should be rather small. This is a good time to
decide exactly where to put it. The most logical place is directly in place
of the existing band switch. This may require hacking away part of the
printed circuit board.

5. Orient the printed circuit board in front of you, such that the
foil side is down, and the power cord attaches to the board on your left.
The big chip should be slightly right of center, and most of the components
will be near your belly. Make sure that the chip has 24 pins, and is
marked 78567. To your right of the chip is a small metal-can transformer.
Further right and up, should be an electrolytic capacitor, around 1000 mFd
at 25 V. The capacitor's negative lead is well marked. Locate the
positive lead.

6. If the new switch does not physically replace the old one,
disable the old switch by removing the slider from it.

7. Looking into the back of the switch, wire pin A to 4 to IC pin
11. Wire switch pin B to 3 to D to the + lead of the capacitor. Wire
switch pin C to IC pin 12. The result should look something like this:

.------------.
| |
| +---------|---+
| |1 2 _3_ 4 5|
| | / \ |
|---A B C D E|
| +------|--|---+
| | |
| | `-----> to capacitor +
| `--------> to IC, pin 12
`------------------> to IC, pin 11


The intent of this circuit is to impress one of four binary codes on the
IC's pins 11 and 12. This tells the controller chip which band of X10
units to address. The logic levels to be presented to the chip are
provided by dead air and the + lead of the electrolytic capacitor. The
truth table is:

unit switch switch | pin 11 pin 12
band position shorting | sees sees
----- -------- -------- -+- ------ -----
1-4 1 1&2, A&B | cap air
5-8 2 2&3, B&C | air cap
9-12 3 3&4, C&D | cap cap
13-15 4 4&5, D&E | air air


7a. Rotary switch option. This version is untested, but should
work. It is for rotary switch lovers out there. Get a 2-pole 4-throw
rotary switch and wire it as follows:

.------------------------------> to capacitor +
| | | |
1_ 2 3 4 1_ 2 3 4
|\ |\
\- - - - - - - - -\
\ \
O O
| |
| `--------> to IC, pin 12
`--------------------------> to IC, pin 11

You probably want to avoid binary or BCD-encoded thumbwheel switches because
the base station coding scheme is offset slightly from normal binary coding
(and the switch output). You would have to relabel the switch positions, not
to mention blocking off the unused positions.

8. Put the box back together. Screw it shut again before applying
power. Try it out.

([email protected])


Q506. How do I modify the mini-controller to control only units 9-12 or
13-16?

A506. Read in conjunction with Q505.

Proecedure:

1. Open mini-controller and pull back the circuit board. Be
careful not to let all the switch tops fall out.

2. Locate the three pads underneath the slide switch. Notice that
the unmodified mini selects 1-4 or 5-8 depending on whether the center
position makes connection with one side or the other.

3. To modify the mini to control only units 9-12, solder a jumper
such that all three pads connect together.

4. To modify the mini to control units 13-16, simply remove the
slide switch.

Untried variation #1: If you solder the jumper as to not interfere with the
slide switch, then you could jumper just one side and then use the slide to
select 1-4 or 9-12 or .. jumpering the other side, 5-8 or 9-12.

Untried variation #2: If you mangle the slide switch so that it only has
the contacts on one side or the other, you could use the slide switch to
select 1-4 or 13-16, or .. removing the other side 5-8 or 13-16. A possible
problem here is that the half-mangled slide switch may not "sit right".

Q507. How do I modify the mini-controller for momentary operation?

A507. When a Mini-Controller is modified as below, your key presses are
undone as soon as you release the key. Thus pressing 'on' and then
releasing, sends an 'ON' and then a 'OFF' command. This is also true for
'All Unit' commands. This mod only works on model 'MC460' Mini-
Controllers, and not the 'MC260' (If anyone knows how to identify the two,
please post).

Procedure:

Inside the mini controller, connect pin 3 and 14 of the black IC
marked 78567. You may want to make the connection with a little switch to
return the controller to normal mode.

(Edward Cheung )


Q508. How do I repair a "blown" X10 lamp module?

A508. X10 lamp modules have a bad habit of dying premature deaths. Most
of the time, the problem can be traced back to a bad triac. Why the triac
is the weak link has been debated hotly, but that is not the purpose of
this article. It is possible to "resurrect" the module by simply replacing
the triac. Caution must be stressed here; there are a lot of triacs
available, but whichever one you use must have an isolated tab. The most
universally available replacement is from Radio Shack, part number
276-1000. In addition to having an isolated tab, it also has a higher
rating than the original one, so will be less likely to fail.


Q509. How do I defeat local control of lights and appliances?

A509. A standard appliance or lamp module will turn itself on if the power
switch on the device it is connected to is switched on. This provides
local control. This is not always desirable, however. Local control
depends on the current draw through the module; if it exceeds a certain
value, the device turns on. Some devices (compact fluorescent lamps, for
example) seem to have low impedance and keep switching themselves on even
when explicitly turned off. This local control can be disabled for
appliance modules.

Procedure:

Inside each module, there is an integrated circuit labeled
"PICO-570". Cut the lead that goes from pin 7 of this integrated
circuit to the hot AC connection.

=====================

X10 FAQ ENDS


 December 16, 2017  Add comments

Leave a Reply