It would enable the user to use the X10 ON/OFF state as a trigger to control any of many delay/interval/cycle programs for outputting a precisely timed logic pulse or series of pulses which could then be used to control another piece of equipment which may or may not be designed to be controlled that way. Multiple outputs would make it even better.

Here's the first example I could think of. Say you have one of those fancy new digitally controlled clothes washers and don't want to start the cycle until everyone has had their morning shower. You could have an event (either scheduled, based on motion idle time in the bathrooms, etc.) that sends an X10 ON command to this fictitious module, and in response, it would use your programmed sequence to close contacts on a set of relays to simulate button presses on the clothes washer's control panel and start a custom cycle:

Press CANCEL (to clear previous program); 0.25 seconds

Release CANCEL; 0.50 seconds

Press CYCLE SELECT; 0.25 seconds

Release CYCLE SELECT; 0.50 seconds

Press CYCLE SELECT; 0.25 seconds

Release CYCLE SELECT; 0.50 seconds

Press CYCLE SELECT; 0.25 seconds

Release CYCLE SELECT; 0.50 seconds

Press TEMPERATURE SELECT; 0.25 seconds

Release TEMPERATURE SELECT; 0.50 seconds

Press TEMPERATURE SELECT; 0.25 seconds

Release TEMPERATURE SELECT; 0.50 seconds

Press START/PAUSE; 0.25 seconds

Release START/PAUSE; 0.50 seconds

Bonus feature: Support multiple X10 unit codes for separate sequences.Uh-oh, motion was detected in the bathroom shower stall. Send an ON command to a different X10 address to pause the washer's cycle.

Press START/PAUSE; 0.25 seconds

Release START/PAUSE; 0.50 seconds

Motion timeout. Send the same X10 command again to resume the washer's cycle.

Press START/PAUSE; 0.25 seconds

Release START/PAUSE; 0.50 seconds

And pretend you live in a district that has restrictions on how much water you can use on certain days of the week, so if the clothes washer is started on one of those days, your macro should send ON to a different X10 address to execute a different sequence that includes pressing CYCLE SELECT 4 times rather than 3 to select the economy wash.

I'm fully aware that this would require the clothes washer to be modified, but this is the kind of hardware hacking I enjoy. Imagine being able to make X10 press buttons on any electronic device. Isn't this what the "Universal Module" should have been?

This sounds expensive, yet somehow, the multifunction cycle timer in the video above is manufactured in China and sold to US consumers for under $10 per unit. The relay is the most expensive component, so multiple relays would significantly increase the price.

And it's worth noting that you can already use the existing X10 Universal Module to drive a logic input on another appliance as long as you can deal with a single set of contacts and a single fixed pulse of 2 seconds. That's proven too limiting for me in many situations. On much older Universal Modules, you can change the delay by replacing a capacitor, but for the current design, that is not possible.

You can connect an FRM01 to use a Universal Module as a trigger, which affords a lot more granularity, but you still only have 1 address and 1 output. If you want to get crazy, you can continue with off-the-shelf products by chaining FRM01 units together for more outputs. Program the first sequence into the FRM01, but make its output the trigger of a second FRM01 that begins its sequence after a post-trigger time delay, and keep chaining FRM01 modules as necessary until you have the desired number of outputs. Add more X10 Universal Modules for more X10 addresses and initial triggers. It's much more complicated and expensive and past some (low) threshold of complexity, it makes more sense to start over with an Arduino or something similar.

My wish is for all of the equivalent functionality to be built into a single Universal Module, though just adding the equivalent of a single FRM01 would be a great start.