I needed to operate a single transceiver from two different locations, using two controllers. Having to disconnect the cables was not an option and a simple “Y” would (most probably) damage something. I thought I could build an automatic switch that could change the connection from one controller to the other automatically.
With the schematics, it was easy to see that pressing the power button on the controller pulls down a dedicated line of the transceiver to turn it on/off. The classical “man-in-the-middle” hack is perfect for this application. A little PIC microcontroller listens to the power buttons on the controllers and changes the relays if the controller where the button being pressed is not connected to the rig at that moment. If it was already connected, it just transfers that button press to the rig to turn it off. This works even if the transceiver is on and connected to the other controller. Here it is in action:
The schematic is simple. Three relays switch most signals in the controller cable between the two controllers. Only two signals are not routed thru the relays: ground (always connected) and PWRK (the power button signal). R2 and R4 allow the PIC to detect when the power switch on each controller pulls PWRK_B and PWRK_A low, even when it is not the controller connected to the transceiver. The PWRK_M line is connected directly to a pin of the PIC that is normally at high impedance and pulled low only when necessary. The rest is typical, voltage regulator, NPN transistor for the relay coils and a diode to protect it when the coils are de-energized.
A main loop continuously checks if the PWRK_A or PWRK_B signals are pulled low. The PIC then decides whether to change the state of the relays and pull down the PWRK_M signal going to the transceiver for a short time (to turn it on), or simply pull low the PWRK_M signal while the button is pressed (to turn the transceiver off).