Automated Antenna Selection with N1MM+

This Page covers development of the KG3V Antenna Decoder (AntDecoder). This project is for controlling antenna switching equipment, sucha as a “Six Pack” 2X6 switch, in a Contest Station using a PC with N1MM+ Contest Logging Software. Two 4-bit BCD output ports are provided for driving a 2-Radio X 6-Antenna switch. Status Updates will be made to the Main section of this Blog and this Page will provide an ongoing summary of the Project (updates at the end).


The N1MM+ Contest Logger (and some similar Applications) provide Antenna Selection Data (ASD) in a serial data stream using the Open Two Radio Switching Protocol (OTRSP). The AntDecoder captures and decodes this data, providing software-driven selection of any of 6 antennas for each of two Radios. The two BCD ports will drive inputs to Antenna Switches that require BCD and/or are compatible with K3 Antenna/Band Data outputs.

The AntDecoder is an external hardware component that connects to the PC using a USB Port, and to the Antenna Switch through two 15-pin D-Sub connectors. The heart of the AntDecoder is an Arduino Pro Mini microcomputer and the software that it hosts. You can see how the AntDecoder fits into my station in this diagram

First prototype Testing

I modified the PC Board layout from the DXDUSB, which decodes the N1MM+ Serial bit stream. New software was written to access the Antenna codes (AUX1 and AUX2). I also wrote a test program that just lets me directly activate the 2 Antenna Select ports. These were connected to the 2X6 Antenna Switch, to see if I could drive the ports correctly. Here is a photo of the basic AntDecoder Prototype PC board:

AntDecoder Prototype
AntDecoder Prototype #1

The software worked and the Logic Analyzer showed that the Antenna Select lines were being driven from the N1MM+ code. I  was unable to drive the 2X6 switch due to the mismatch in Logic levels. The AntDecoder uses 5-volt logic but the 2X6 switch must be pulled-up to 12-volts. The next photo shows the prototype with a transistor switch on one set of four Antenna Selector lines. This provides an Open-Collector output. That was connected to the 2X6 switch and was able to drive the input.

AndDecoder successfully driving 2X6 switch inputs
AntDecoder Prototype with 12-v logic conversion

In order to complete this project, transistor switches and interface resistors will be required. A new schematic has been started, to add them. The end result will be a Decoder that can drive any common logic levels. This will also be compatible with any Switch that can interface to an Elecraft K3, which has open-drain outputs.

Unfortunately, the new PC Board will be much larger than the DXDUSB board, so there is additional work to do to find a good enclosure. Something like the size of a Raspberry PI board is the goal. On the DXDUSB design, the hardest part of the design was fitting it into a standard enclosure.

Latest Status 1/30/2018

The initial hardware prototype has been built and integrated with Arduino software. To support the 12-volt logic of the 2X6 Antenna Switch, external transistor drivers were added. Complete functionality was successfully demonstrated using the N1MM+ Antenna Table (in the Config dialog) to drive the two switches via the serial data stream’s AUX1 and AUX2 commands.

A new schematic and Circuit Board layout has been started, adding the transistors, series resistors, and optional pull-up resistors. This required a larger PC Board footprint, so the layout had to be started from scratch. The size of the new PC Board will be approximately the size of a Raspberry PI board.