A Smarter Remote Antenna Switch Control Box
Add automatic antenna selection to an Ameritron or similar remote antenna switch when paired with an ICOM transceiver such as the IC-7300.

By: Bertrand Zauhar, VE2ZAZ / VA2IW

Last updated: 29/08/2023

I enjoy my ICOM IC-7300 HF/6m SDR transceiver. It offers the performance and features that I need...except for one thing: more than one antenna port! I find this to be a serious limitation, which forces me to add an external coaxial antenna switch. Fine, you say? Well, do you participate in multi-band HF contests? Having to manually select a different antenna every time I change bands is annoying and leads to having a wrong antenna selected. It has happened to me more than once to transmit into the wrong antenna, and not knowing why I am not being heard! Another feature I wished I had was the ability to select a different antenna for receive, and then to automatically switch between the two antennas between transmit and receive. There had to be a way to automate antenna selection. And I took care of that!


Here is the project I describe in this page: A smarter
control box for a remote antenna switch that manages antenna selection as a function of frequency, and does much more. It:
  • Controls an off-the-shelf multi-port remote antenna switch, in my case the Ameritron RCS-10,
  • Selects the proper antenna based on the operating frequency,
  • Allows to select a different antenna for reception, and,
  • Manages the two antennas between transmit and receive,
  • Restores the previously selected antenna(s) at power on,
  • Allows to override automatic antenna selection,
  • Automatically switches to a dummy load on port 1 to protect the radio when trying to transmit into a receive-only antenna, and produces an audible alarm,
  • Offers a convenient tactile color LCD screen interface, and provides audible feedback of touch actions,
  • Has a configurable antenna list, with each antenna having its own description, type and operational range. The description of each antenna gets displayed on-screen.
  • Uses Solid State Relays (SSR) to operate the remote antenna switch,
  • Accomodates remote antenna switches equipped with up to 8 ports. Both binary port encoding and individual relay control lines are supported. Active-high or active-low control signals can be configured on the board,
  • Uses ICOM's CI-V Remote physical port to read the current operating frequency,
  • Senses the physical PTT line (active low) provided by the radio for fast antenna selection between transmit and receive,
  • When using separate Rx and Tx antennas, offers a Delayed Transmit SSR output which can be used to inhibit transmitted output power for a short duration via the radio ALC or TX Inhibit signal. This allows the antenna switch relays to complete antenna transfer before RF is applied to the switch. The duration can be set during configuration.
  • Offers a USB (serial) command-driven text console to configure the controller.
  • Can be put together for less than $100, and for much less with a well-stuffed junk box and a bit of imagination and labor, especially when it comes to the enclosure.
Potential candidate remote antenna switch families are Ameritron RCS-4/8/10/12,  DX Engineering RR8B, WA4MCMkits RAAS-4/8 and Hamplus AS-61/81. But there are others, and you can even make your own remote switch using regular power relays.
Looks attractive? Keep on reading!


At a recent hamfest, I purchased a used Ameritron RCS-10 8-port remote antenna switch (see image to the right) for $45, a very good deal. For me this is an appropriate antenna selection solution, considering that I have six HF or 6m antennas to choose from (some of them for receive-only operation). The RCS-10 switch is made of two parts, the outdoor remote switching unit (above in picture) and the in-shack control box (below). The latter operates in a manual fashion: a rotating knob sends voltages to the remote switch to select the desired antenna out of the 8 ports. Simple...and dumb! Ameritron sell a smarter control box for their remote switches, the RCS-12C Automatic Antenna Switch Controller. But it goes for $300 + shipping. It is just a control box!

Other manufacturers like DX Engineering, MicroHAM, SPID, RAAS and HAMPlus offer antenna switching solutions with a varying degree of
smartness, but putting together one such multi-port smart switching system will end up costing several hundred dollars, and some will even cost more than a thousand dollars. I cannot accept spending so much money just on antenna switching. Instead, I can re-use my RCS-10 remote antenna switch, and design my own controller box for way less than a $100, and it will have all the features that I need, including a touch screen!

In order for the controller to select the right antenna based operating frequency, a data  link to the radio is needed. The IC-7300, like many ICOM HF transceivers (IC-
706, 718, 735, 746, 756, 7000, 7610, 7851, just to name a few), is equipped with a physical "Remote" jack conveying the CI-V control protocol. The idea is to read back the current operating frequency from the radio, and then select the antenna accordingly.

It would be neat to be able to select two different antennas, one for receive, one for transmit. For Rx-Tx antenna switch-over, a Push-To-Talk RCA jack is available on the rear of the '7300 to control an external power amplifier. That line can be sensed by the switch controller for fast antenna transfers.

With my RCS-10 switch, the required hookups to the IC-7300 and my design skills, I can put together a nice solution! And I can throw in enough flexibility so that it accommodates many different models of remote antenna switches having a various numbers of antenna ports. Now let's go more technical!


The best way to understand what this project offers is by first consulting the Circuit Schematic of the board below (click on schematic to enlarge):

The Chinese Off-the-Shelf 320x240
Color TFT Touch Display

The Raspberry Pi Pico
The circuit is rather straightforward. Here are its main features.
  • The selected micro-controller (A1) is the Raspbarry Pi Pico, a powerful, cheap and readily available processing platform,
  • A 3.2 inch, TFT Color, 320x240 pixels, resistive touch display (via J1) informs of the current antenna selection and allows manual selection of the antenna(s). J1 carries two SPI data buses, backlight control and DC supply to the display. The selected display uses the ILI9341 and XPT2046 chipsets.
  • For operating the antenna switch relays, Panasonic PhotoMOS solid-state relays (SSR) are used. The user populates the required number of channels (U1 to U8, and accompanying resistor and capacitor) to interface with the remote switch. With the proposed model of SSR (AQV-217), a maximum current of 180mA per line can be sourced/drained. Other AQV-2xx models are available on the market, with various maximum voltages and currents, which may be suitable. Large spikes of back-EMF voltages may appear on the relay lines; those have to be taken into account when selecting another model of SSR. 
  • Connector J2 provides the SSR control outputs, DC supply and ground if needed.
  • A jumper (JP1) provides the ability to control the remote antenna switch 10using active-grounded or active-V+ signals.
  • Both binary port encoding and individual relay control lines are supported. This must be selected to match the remote coax switch control scheme.
  • The active-low external PTT line is scaled down to a 3.3V logic signal using D2 and R9, and is sensed by the Rasperry Pi Pico,
  • An additional SSR (U10) provides a closed contact used to delay the Tx RF power from reaching the remote antenna switch while the relays are still changing state. This feature is only active when different antennas are selected for Tx and Rx. The contact goes open after a short delay following the PTT transition to transmit state. The contact closes again when the PTT is in receive state.
  • A bidirectional 5V <-> 3.3V logic level conversion circuit (Q1 and accompanying resistors) is populated to interface with the CI-V control line with the proper logic levels. Diode D1 merges separate Tx and Rx data lines into a single bi-directional CI-V signal.
  • A magnetic transducer, a "beeper' (BZ1 and current-limiting R12) are included to signal an alarm condition and give audio feedback of display touch actions,
  • A 7805 +5V linear regulator (U9) is used to supply the entire circuit,
  • The input DC supply (from +12V to +24V DC) is protected by a 0.5A pico-fuse, which is sized for an Ameritron RCS-10 switch (< 200 mA). Under heavier relay load, an increase in input fuse size may be required,
  • All input and output lines are decoupled to ground using 1000pF ceramic capacitors, the objective being to reduce the stray RF from flowing into the circuit.


The Printed Circuit Board is a double-sided design, 100 x 100 mm in size, with plated-through holes, solder resist and silkscreen (marking) on both sides. All components are of through hole mounting type. The PCB features a small prototyping area in the center, allowing for hardware additions if new features are required.

In the zip file, I provide the KiCAD design files, the gerber and drill files to anyone who would like to order it. Such PCB can be ordered for around $20 per lot of 5 PCBs. One simply provides the gerber files and the drill files to the manufacturer. I normally order from JLCPCB, but other major manufacturers will produce the same quality. In your order, select 0.062" (1,6 mm) thickness FR-4 glass-epoxy material, the standard.


The following is a list of all required components and sub-modules to put together this project. Note that there are components whose quantity can vary based on
the number of remote antenna switch control lines required. These components are identified with a asterisk (*) in the Qnty column. See the ASSEMBLY section for more detail.

In general, component selection is not critical on this project. As a result, one can order all required components from known local suppliers (Digikey, Mouser, Element-14, etc.), or order from Asian online suppliers like AliExpress, Banggood, DealExtreme, etc. The latter approach will yield a much lower total cost.

On-Board Components
Reference Qnty Value Description
A1 1 Raspberry Pi Pico Arduino UNO Microcontroller Module, release 3
BZ1 1 KC-1206, CEM-1206 or similar
Magnetic Transducer, peak response at 2400 Hz
C1, C3, C4, C6, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 *14 1000p, 50V
Ceramic capacitor
C2 1 100nF, 50V
Ceramic capacitor
C5 1 100uF, 35V Polarized electrolytic capacitor
C7 1 1uF, 50V
Ceramic capacitor
D1, D2 2 1N5711 70V 33mA Schottky diode, DO-35 package
F1 1 Pico Fuse 0.5A Fuse
J1 1 PR20214 or equivalent
Male header connector, single row, straight, 14 pins, 0.100" (2.54mm) pitch
J2 1 PR20212 or equivalent Male header connector, single row, straight, 12 pins, 0.100"  (2.54mm) pitch
Q1 1 2N7000 0.2A Id, 200V Vds, N-Channel MOSFET, 2.6V Logic Level, TO-92 case
R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R13 *12 1K Ohms, 1/4W
Resistor, axial
R12 1 470 Ohms, 1/4W Resistor, axial
U1, U2, U3, U4, U5, U6, U7, U8, U10 *9 AQV217
Panasonic PhotoMOS relay, 200 V, 180 mA, DIP-6 package
U9 1 LM7805, uA7805
Positive 1.5A 35V Linear Regulator, Fixed Output 5V, TO-220 case

Additional Components and Hardware
Qnty Description
3.2 inch, TFT Color, 320x240 pixels, resistive touch display, uses the ILI9341 and XPT2046 chipsets. Available from AliExpress.com or similar site.
Enclosure - Bud Industries EX-4522, 176 x 155 x 80 mm, extruded aluminum box, or equivalent.
PCB Standoffs, associated nuts and screws.
Toggle switch, single pole, used for power and for CI-V bus interruption.
DC barrel (coaxial) power plug, 5.5x2.1mm, panel mounted. Used to power up the unit.
3.5mm Mono audio jack (Stereo version OK), panel mounted. Used for CI-V port.
Microphone connector, DB-9 or DB-15 female connector, panel mounted. select according to number of wires run to the remote antenna switch.
RCA Jack, panel mounted. Used for PTT input.
Dupont wires, female-female, 20 cm (8 inches) length, for interconnecting the display to the board.
Male, single row, 0.100" (2.54mm), 20 pins connector. Used on the Raspberry Pi Pico to mate to the board.
Female, single row, 0.100" (2.54mm), 20 pins connector. Complementary to connector above. Used on the board to receive the Raspberry Pi Pico.
Mounting scew and nut for U9, the voltage regulator.
TO-220 Thermal pad, or thermal grease, to be used on U9, the voltage regulator.
Micro USB, Male-Female extension cable, 20 cm (8") in length, brings the Raspberry Pi Pico USB connection to the rear panel. Male end is of panel-mounted type.
DIP-6 integrated circuit socket. Recommended for the SSRs.


The board is not particularly difficult to assemble by hand. The components are mounted and soldered onto the PCB in a through-hole fashion. A small tip soldering iron and some solder wire is appropriate for the job.

A decision on the number of output lines to populate must be made while assembling the board. The number of control lines on the target remote antenna switch will dictate how many, as a minimum, are required.
An analysis of the target remote antenna switch interface and circuit schematic may be required to figure out the number of control lines required.  Note that there are typically two remote control schemes used on the market:
  1. A binary encoding from "000" to "111" sets which antenna port is selected,
  2. Separate lines control individual relays, one per antenna port.
Jumper JP1 must also be configured during board assembly.  A short piece of wire (a jumper) must be soldered between JP1 pins 1 and 2 if the remote antenna switch is to receive ground active signals. In case of V+ active signals (typically 12-14 VDC), the short piece of wire should instead be soldered between pins 2 and 3 of JP1. Once again, an analysis of the target remote antenna switch interface and circuit schematic will reveal which option to select.

Connectors J1 and J2 are regular 0.1" spacing un-shrouded single row male headers. Longer pieces can be obtained, and easily cut to 14 and 12 pins in length to fit in J1 and J2 positions. Obviously, one can avoid using connectors on these locations by soldering wires directly into the holes.

It is suggested, though not mandatory, to use two sets of 20-pin 0.100" (2.54mm) mating connectors to connect the Raspberry Pi Pico to the board. This will allow removal and replacement of the processor board.

The 7805 voltage regulator (U9) is mounted horizontally (flat) against the PCB surface. A thermal pad or some thermal grease must to be used between the regulator body and the PCB pad. Note that the tab needs not to be electrically insulated from the PCB metal pad, as it is a desired ground connection.

It is recommended to mount BZ1, the magnetic transducer, on the bottom side of the PCB. This will allow to more easily direct the sound through a hole drilled on the enclosure bottom panel. To optimize the transfer of the sound, the PCB standoffs should be selected so that their length approaches or matches (without being shorter than) the magnetic transducer height. Note also that the transducer has a polarity to respect, and a (+) sign is shown on both the transducer and the PCB. Both should align.

The suggested enclosure

A metal enclosure should be used. This helps to contain EMI radiation from the micro-controller. A suggested enclosure is a Bud Industries EX-4522, 176 x 155 x 80 mm, extruded aluminum box. This is a rather expensive enclosure; it still shows the type of box one may want to use. The enclosure is much larger than the board, and this is suggested to allow easy routing of the internal cabling, and to provide enough front panel surface to accommodate the LCD display.

front panel

The rear panel

The Arduino firmware is written to be compiled in the Arduino IDE environment. The Arduino IDE software must thus be installed to a computer. The software is available for Windows, Linux and MacOS operating systems. Visit https://www.arduino.cc/en/software for more details on how to proceed.

Support for the Raspberry Pi Pico must also be added in Arduino IDE. Consult this Instructables link for more details on the prodedure.

The Arduino firmware (a.k.a. the sketch) uses the following non-standard libraries:
  • Adafruit_ILI9341
  • Adafruit_GFX
  • XPT2046_Touchscreen
These libraries must be installed in Arduino IDE via the Library Manager (Menu: Sketch -> Include Library -> Manage Libraries...) prior to compiling the sketch.

The Arduino sketch for this project can be downloaded from my GitHub page.


Once the compiled sketch is uploaded and running onto the Raspbarry Pi, system configuration can be performed. For that task to be completed, power must be applied to the controller board.

A command interface is available via the Raspberry PI Pico USB port to configure the controller. This must be perfomed before connecting the controller to a remote antenna switch. Any terminal program (Tera Term, HyperTerminal, Putty, or similar) run on a computer will allow interfacing with the controller. The USB-serial connection will show up as a "COMxx" port in Windows ("
xx" being the COM port number). A search in the Windows Device Manager will reveal which COM port number is assigned to the controller box. In Linux, the port will show up as "/dev/ttyACMxx". The /dev/ directory will reveal which serial port number is assigned to the controller box.

The interface uses plain
(ASCII) text and is command-driven. The various command fields are separated by commas "," and are terminated with a Line-Feed (New-Line) character, typically produced by the "Enter" key (may need to be configured in the terminal program), and illustrated here with "⤶". An example of command syntax is:
    A,2,40m Dipole,TX-RX,14,15⤶

Here is the list of available commands with some description of their syntax and usage.

A: Configures one antenna                                                  
    |Ant # |  Description   | Ant Type | Fmin  | Fmax |  
A,2,40m Dipole,TX-RX,14,15⤶         
  • Ant #: Antenna number, from 2 to 8
  • Description: A description of the antenna, to be be shown on the LCD display. Alpha-numeric, including symbols, space and lowercase, having a maximum 16 characters.
  • Antenna Type: Use RX for Receive-only, TX-RX for both Transmit  and Receive.
  • To disable antenna selection vs. frequency for that antenna: use Fmin = 0 and Fmax = 0.
D: Sets the delay on the Transmit Delay output, from 10 to 100 milliseconds.

  • This value sets the duration of the delay after which the Transmit Delay output SSD goes open. This is an optional feature used to inhibit a transceiver and power amplifier from sending RF into the remote antenna switch during relay action in the remote switch. This feature is applicable only when different antennas are selected between transmit and receive.
H: Shows some help information, a summary of what is explained here.

L: Lists antenna configuration and parameter settings.

  • Useful to verify current antenna and controller parameter settings.
N: Sets the number of antenna ports on the remote switch, from 2 to 8.

O: Sets the output type to BCD lines or to individual relay (bit) lines

  • This parameter must be set after analyzing the remote antenna switch interface and circuit schematic. 
    • BCD: A binary encoding from "000" to "111" sets which antenna port is selected,
    • BIT: Separate lines control individual relays, one per port.
P: Controls the protection switch to antenna Port 1 when transmitting into a receive-only antenna.
  • Y: Enables the protection transfer to port one on transmit.
  • N: Disables the feature.


Once configuration is completed, the controller can be connected to the remote antenna switch. We can also hook up the remaining signals, namely the radio PTT Male-Male RCA cable and 3.5mm Male-Male CI-V cable.

If not already done, the antennas can also be connected to the remote switch. It is recommended to connect a properly sized dummy load to antenna port 1. This offers two advantages. First, there is a protect-to-port-1 feature that, when enabled, transfers the radio to port 1 when a receive-only antenna is selected and the radio goes into transmit. The second reason is
that, for some remote switches like the RCS-10, port 1 is the default antenna selection when no control lines are energized. Having a dummy load on port 1 inherently protects the radio from transmitting into the wrong antenna when the controller is turned off.

Operation is straightforward. The display shows as many blue antenna banners as there are antenna ports defined. On the right hand side, there are two columns of buttons, the RX buttons (in green when in receive) and the TX buttons (in red when in transmit). Touching the display on an antenna banner or on its corresponding TX button will select the desired antenna (the RX button follows the TX button by default). In case a different receive antenna is desired, touching the RX button of the desired receive antenna will select it. When the PTT is keyed
(the radio going into transmit), the controller transfers the radio to the previously selected TX antenna. Releasing the PTT line restores the selected RX antenna.

Obviously, when a separate RX antenna is selected and the PTT is keyed
, the antenna relays must operate to select the TX antenna. Antenna relays should never switch when transmit-level RF power is carried. This would rapidly wear out the relay contacts. To avoid this situation, there are two possible solutions.
  1. Many ICOM radios have a Transmit Delay feature built-in. It can be enabled in the configuration menus. The IC-7300 can insert a delay as long as 30 milliseconds. This feature should be enabled, and the 30 ms delay should be selected. With this feature enabled, the radio will wait an extra 30 ms after the PTT is keyed before sending RF out, letting enough time for the relays to operate.
  2. This controller offers a Transmit Delay output through a SSR, U10. In receive state, the SSR is in conduction mode, allowing to send full negative voltage to the radio ALC line, or to trigger a TX-inhibit pin on the radio accessory connector (if available). When the PTT line is keyed (going to ground), the SSR stays in conduction for the set Tx delay, which can be between 10 and 100 ms. After that delay has expired, the SSR will go open, releasing the ALC or TX-inhibit line to restore full transmit power. When returning into receive, the SSR will immediately go back into conduction in preparation for the next transmit cycle. This controller merely provides a SSR contact. The user is responsible for wiring up the SSR to the radio to achieve the desired relay protection. The SSR contact can be seen as metallic-like, without any voltage polarity or current sense to meet. It can even carry AC current (line voltages are not recommended here). Also note that the delay is software dependent; there can be a few milliseconds of variation. Insure to give some extra delay to take that into account.
Antennas that are defined as receive-only will have their TX button showing "--" instead. Assuming that the
protect-to-port-1 feature is enabled, the controller will transfer the radio to port 1 when the PTT is keyed, the display will show flashing TX buttons and an alarm signal will sound. Releasing the PTT will restore the radio to the receive-only antenna. As suggested, connecting a dummy load to port 1 will protect the radio.


I have operated with this controller during a few contest. Its behavior was flawless. It is a joy to change bands and not have to worry about proper antenna selection. On the 75m band, my Loop-On-Ground antenna often receives better than my 40m sloper. Being able to use both antennas in split Rx-Tx is really a plus.

Some of the features do not quite suit you? Make changes to the firmware then! It is very easy in Arduino IDE. The code is fully commented, so you should  have no problems understanding what I have done. Supporting other CAT protocols (Yaesu, Kenwood, etc) could be nice! There is even a prototyping area on the board to add some additional hardware if needed. Enjoy!