Remote Relay Controller

I reprogrammed the PIC inside the LDG DTS-6R remote antenna switch to control a 8-relay PCB I got from eBay. I built a relay driver that talks to the remote controller via two-wire rs-232 serial interface. It has a programmable default status so the required relay states appear at power-up.

DTS-6R Modification

I got the LDG controler very cheap, alone with no coax relay box. I though I would have to modify the hardware but it turned to be exactly as needed. A PIC 16F88 has inputs for the 6 switches, outputs for the 6 LEDs and TX/RX for the serial data. The PIC that came on the PCB was not programmable anymore so I used a new one that went to the IC socket. The program monitors the switches and sends a command when one is pressed. The interrupt routine recives the answer from the relay driver controller and updates the LEDs, also at first power-up. When buttons 5 and 6 are pressed simultaneously, it commands the relay driver to store the default setting and flashes all LEDs three times. At power-up, it flashes the LEDs from left to right, so you can tell when power was applied in the video. This is the program running in the PIC:

Controller Firmware in C

Relay Board Controller

The controller takes care of storing in EEPROM the default setting, bidirectional communication with the controller and drives the relays. I re-used a 16F84 I had lying around. The controller basically waits for the single char command from the controller, changes relay state and sends back a command with the status of all relays. It also writes to EEPROM the current state of the relays to be used as default setting on power-up.

Relay Driver Firmware in C

The schematic diagrams is quite simple. The relay board uses FETs as drivers for the relay coils, so interfacing could not be easier: