Antenna switch controller with OTRSP
- 1 Introduction
- 2 How does it look assembled?
- 3 Enclosure
- 4 Features
- 5 Schematic
- 6 Front panel
- 7 Basic setup
- 8 Transceiver connection
- 9 Common connections
- 10 Icom
- 11 Yaesu
- 12 Firmware update
- 13 Extra relay function
The kit consists of controller PCB and two end panels. Enclosure, cables and relay board are not included.
What else is needed?
Besides the kit, to build a working system you will also need:
- Coax relay board
- Cables depending on your installation
- Power supply
How does it look assembled?
Here are examples of the back and front (in a different, plastic enclosure).
The kit fits a standard aluminium enclosure from Aliexpress https://www.aliexpress.com/item/1618746950.html (you can also search Aliexpress for "38*88*110mm").
- Switching up to 7 relays (switches the negative terminal, coils must have a positive common, relay supply is protected by a polymer fuse)
- PC control over USB (OTRSP, command line, GUI)
- Manual control from the front panel
- Band input
- Icom (band voltage)
- Icom (CI-V, not fully tested)
- Yaesu (4-bit output)
- Yaesu FT-817/857/897 (BAND DATA output)
- PTT interlock (prevents switching while transmitting)
- Python GUI application for manual control from the PC
Schematic is available here 
The front panel has a single digit display and 3 buttons. The buttons are left, right and auto. Pressing left/right buttons changes the antenna. Pressing the auto button enables automatic mode (ie. band is taken from the transceiver, if configured).
In auto mode the decimal dot stays on. During transmit (if the PTT signal is wired to the transceiver) the decimal dot blinks.
The device USB connection looks like a regular serial (COM) port. On Windows you may need to install the serial port driver.
A terminal application is needed to configure the device. I recommend ExtraPuTTY http://www.extraputty.com/ on Windows and picocom on Linux & Mac. Serial connection speed does not matter.
After opening the port type
(the letters will not be displayed) and press enter. A message similar to the one below should be displayed:
M0AGX.eu antenna switch 0.3 Available commands: ant - Select antenna manually (argument: antenna number 1-8) auto - Select antenna automatically (requires TRX to be set) boot - Enter bootloader to update firmware defaults - Reset all settings to defaults and reboot debugciv - Print CI-V data echo - Set terminal echo get - Print all settings help - Print help inputs - Show transceiver band inputs and voltages restart - Restarts the device save - Save settings to flash set - Set a setting eg. set <parameter> <value> Available settings: BAND160 - Antenna for 160m band (min 1, max 8) BAND80 - Antenna for 80m band (min 1, max 8) BAND60 - Antenna for 60m band (min 1, max 8) BAND40 - Antenna for 40m band (min 1, max 8) BAND30 - Antenna for 30m band (min 1, max 8) BAND20 - Antenna for 20m band (min 1, max 8) BAND17 - Antenna for 17m band (min 1, max 8) BAND15 - Antenna for 15m band (min 1, max 8) BAND12 - Antenna for 12m band (min 1, max 8) BAND10 - Antenna for 10m band (min 1, max 8) BAND6 - Antenna for 6m band (min 1, max 8) BRIGHT - LED brightness (min 0, max 2) CIVBAUD - Icom CI-V baud (min 0, max 65535) ECHO - Terminal echo (set to 0 for OTRSP) (0/1) TRX - Transceiver type (0 - none, 1 - Yaesu, 2 - Icom BAND, 3 - Icom CI-V) (min 0, max 3) VDIVBAND - Divider value for Icom band voltage input x100 (min 0, max 65535) VDIVSUP - Divider value for input supply voltage input x100 (min 0, max 65535)
By default you will not see the letters that you type in the terminal. This is commonly called an echo. To make configuration easier and see the letters you can issue:
This will take effect only until the next power cycle. OTRSP applications can fail when the echo is turned on so use it only during configuration.
Setting an antenna manually
To manually set the antenna to 2 type
and press enter. The device will respond with
OK Antenna 2 selected, mode manual
This can be useful to check the relays.
Changing and saving settings
- antenna 1 supports 80 meters and 40 meters
- antenna 2 supports 20 meters
To configure such a scenario type the following:
set band80 1 set band40 1 set band20 2 save
Transceiver can be connected to the TRX 8p8c ("RJ-45") socket at the back. On the transceiver side the socket is often called "accessory" or "ACC".
- 12V - connect if you want to power the antenna switch from the transceiver. This will make the antenna switch turn on and off when the transceiver is turned on and off.
- GND - common ground always needed
- PTT - grounding this signal prevents antenna switching. Icom manuals name this signal SEND. Switching relays with RF applied will lead to arcing and damage the contacts, so it is inhibited by the antenna switch (dot on the LED display blinks when this signal is low). This connection is not strictly necessary, but highly recommended.
There are two ways to get band information from Icom transceivers. Band voltage is the simpler one and is more limited. Not all bands can be detected using this method.
Simply connect ICOM BAND signal of the switch to the BAND signal of the transceiver. No special configuration of the transceiver is needed. Configure the antenna switch:
set trx 2 save restart
You can check the wiring and voltages by issuing the following command:
The reported Icom voltage should change when changing the bands. See: .
Requires firmware 0.3 or later. CI-V is a more advanced connection. It can work in concert with a separate USB to CI-V interface (all devices are connected to the same wire). On Icom transceivers it is usually labeled as REMOTE. Connect this signal to the B4 (CI-V) pin of the antenna switch.
The following settings have to be set in the transceiver:
- CI-V Baud Rate - for example 9600 or 19200
- CI-V Transceive - ON
Antenna switch configuration:
set trx 3 set civbaud 9600 save restart
Baud value has to be the same as in the transceiver.
To verify wiring or assist in debugging you can use the following command:
This will print out CI-V traffic. If something does not work as expected you can e-mail me logs from the terminal. To disable this output (it will interfere with regular OTRSP) issue:
New firmware can be downloaded here 
Starting the bootloader
Bootloader is a piece of firmware that is always present in the device and is responsible for receiving new application firmware. It can be started in two ways:
- Press and hold the left button and apply power
- Type boot in the serial terminal
A lowercase "u" on the display indicates that the bootloader is running and expecting new firmware. There is a 3 minute timeout so if you type "boot" accidentally the device will reset itself and start regular firmware (especially useful when operating fully remotely).
Linux and Mac
Install the lrzsz package (depends on your distro). After starting the bootloader execute in a terminal:
sx firmware_filename.bin > /dev/ttyACM0 < /dev/ttyACM0
This assumes that the device enumerated as /dev/ttyACM0.
Any terminal application with Xmodem can do the job. I recommend ExtraPuTTY http://www.extraputty.com/ After starting the bootloader pick:
- File transfer
Pick the file and wait for the update. An error message about lost connection after the upload is normal.
Extra relay function
One output can be optionally configured to act independently from the others used for antenna relay control. This is called the "extra relay". This feature requires firmware 0.14 or later.
To use output "ANT6" as the extra relay execute the following in the terminal:
set extra_rly 6 save restart
Extra relay can be switched on and off via an extra switch wired to X6. Touch the USB connector body before soldering to avoid ESD. This header is wired directly to the MCU and is susceptible to ESD.