Sunday, March 22, 2026

Polishing Up the Rx Antenna Controller

Many software projects are never fully complete, as there's always something to add with a small change to the software. The Rx Antenna Controller isn't any different. 

The initial version of this project was basically done. But pressing the antenna selection buttons resulted in a response on the serial port. This could cause problems with computer control if the response was not anticipated.

I added a new command: &AI; and &AIn;. This gets and sets the Auto-Info mode, respectively. With &AI1;, pressing an antenna button results in an &ARn; response on the serial port. &AI0; turns off Auto-Info mode -- button presses do not result in a serial port response. The default is &AI0;.

I"m very happy with the way this project has turned out. While I have ideas for a Version 2, it mostly involves hardware changes to the remote switching box to allow selection of the AUX antenna for diversity reception.



Saturday, February 21, 2026

Rx Antenna Controller

Rx Antenna Controller is QRV.
I started building this unit a couple of months ago. I called it the Beverage Controller, because my motivation was to select amoung the three Beverage antennas I had erected. Yes, I've managed to erect three 500 foot Beverages, one to the NE, SE and NW.

Performance of these antennas is convincing -- 1-2 S-units lower noise than the inverted-L or dipole antennas I use on 160 and 80m, respectively, plus a directional signal boost if the beverage is pointed in the right direction.

I discussed my design issues with this unit in the previous article. Debugging the serial port took another month.

Serial Port Debugging

The reason I had chosen the PIC16F18426 for this design was because of the built-in EUSART. Receiving worked just fine. I could send commands to the controller and it would act on the commands. But it sent no response. 

I had configured the PIC to use RC5 (pin 5) for the EUSART receive input, and RA5 (pin 2) for the EUSART transmit output. After a bit of troubleshooting, I found no action on RA5. It remained at 4.5 V the entire time. Was this a wiring problem, or a programming problem?

I ended up writing another PIC project and setting up a chip on a solder less breadboard to solve this. This project simply sent "Hello World!" at 300 baud every 5 seconds. It also drive two LEDS on the C port pins. The LEDs which alternate during a 1-second startup. When transmitting, the second LED would light up. 

My serial test project worked perfectly. LED 2 flashed for about 1/2 second every five seconds, just as expected. So, why didn't the beverage controller project work?

I modified the beverage controller project to also send "Hello World!" every 5 seconds. Except it didn't work. I traced the wiring in the controller head. RA5 was connected to the MAX232E pin 11. It was the MAX232E that was driving the pin to 4.5 V. With the MAX232E out of the circuit, RA5 stayed at 0 V all the time. It was like the software had configured RA5 as an input, not an output.

I got to the point that I could test both projects on the solder less breadboard. I even programmed the same chip with the serial test project -- and it worked. Programmed the same chip with the beverage controller project -- and it didn't. This was definitely a programming problem.

I tried several modifications of the configuration, eventually applying the serial test project configurations to the beverage controller project. At some point, it started working. I still don't understand what I changed to make it work.

Putting It Together
Remote relay box

After such a struggle, I was happy to finish. I re-programmed the chips to send and receive at 9600 baud. This is plenty fast enough for this purpose.

The controller supports one Kenwood/Elecraft-style command, which takes two forms - a Get and a Set operation:
  • Get - &AR; -- responds with &ARn; where n is 1 through 5
  • Set - &ARn; where n is 1 through 5 -- selects the antenna specified by n, responds with &ARn;
With the serial port transmit working, I could remotely interrogate the controller to determine which receiving antenna was currently selected. And selecting an antenna would respond to ensure that the controller had received my command.

The controller mounts nicely on the equipment shelf. I used some temporary stick-on labels until I find my computerized label-maker. 

What's Next

The current firmware sends an &ARn; response when a button is tapped. I probably need to make that configurable with a serial command.

I've also thought about adding a scanning feature. The controller could automatically switch antennas after a few seconds. Holding a button could add/remove that antenna from the scan.

However, after a couple of months of using the controller, I've found a glaring deficiency in my design. The Rx Antenna Controller only selects one antenna for the RX ANT port. I use a broadband splitter to also connect to the AUX port for diversity reception. But this only permits diversity reception of one receiving antenna against the transmit antenna. I can't do diversity reception between two receiving antennas. 

What would be nice is to have the remote relay box select the antenna for the RX ANT and AUX port. This would require twice as many relays and a way to control them individually. Doing this requires a re-design of both the remote relay box and the controller box. 

Wednesday, February 4, 2026

Beverage Controller

Remote and controller boxes laid 
out for wiring.
With these Beverage antennas, I needed a way to switch between them quickly and easily. 

Taking a cue from the K9AY Controller, I didn't want to just hook up a rotary switch. I wanted a push-button controller. Plus, a lot of the time I'm remotely operating my station on FT8 from the house, I wanted that capability as well. 

Design

I planned for at least three Beverages, maybe more. Plus I had the K9AY loops. That's at least four antennas, having a fifth would give me a spare.

The buttons and indicators needed to be convenient to operate, up front in the station without being intrusive. 

The receiving antenna feed lines also needed to terminate at the Single Point Ground (SPG). Best option was a remote relay box to do the switching, and a small controller box containing the buttons and indicators.

Test positioning the Controller
Adding a serial port to the controller allowed the antenna selection to be interrogated and selected. I already the PIC16F18426 chips on hand. This 14-pin device has a built-in EUSART. A MAX232 would handle the RS-232 level conversion.

Construction

I found a small Bud box in my junk box for the remote. I ordered a die-cast aluminum box for the controller. It was small, but it fit very nicely up under the shelf supporting the P3. Convenient and unobtrusive.

Remote mounted on SPG
The remote has six RF connectors - four F-connectors for the Beverages, one BNC for the K9AY, and another BNC to connect to the K3. SPDT relays are used. When selected, the relay connects the antenna port to the K3 port. When unselected, an appropriate resistor connects across the antenna port. ( I used 82-ohm resistors for the F-connectors, 51-ohm for the BNC -- closest I had to 75 and 50 ohms, respectively )

I used 12 V relays. Unlike the KK1L 2x6 Antenna Switch, I didn't want to activate each relay with a separate line for +12 V. Instead, I sent +12 V to the remote box on a common conductor and then returned a signal for each relay to be grounded by the open drain pins on the PIC. 

This lead to a design problem. The PIC doesn't support true open drain outputs. Each pin is clamped to Vdd, which in this case is +5 V. That left about 6 or so volts across each relay, pulling them all in. 

To solve this, I added 2N3904 NPN transistors to the relay box as open collector drivers for each relay. A 3 K resistor connects the base of each transistor back to the PIC. Instead of a logic 0 activating the relay, a logic 1 does the same job.

The controller box is really tight. I borrowed five switches from the K1EL Keyer. The LEDs and switches barely fit. The controller itself is simple. Five RA port pins connect to the pushbuttons. Five RC port pins drive the LED indicators and NPN relay driver. One RA pin and one RC pin communicate with the serial port. 

Changing the sense of the relay switching required re-wiring of the LEDs. Before, they were tied to +12 with the cathode of each LED brought to ground by the PIC. Except that didn't work due to the design problem. Instead the cathodes went through a common 330 ohm resistor to ground, and the anodes were connected across the activation lines for each relay.

Debugging

I debugged this design in parts, starting with the controller box, then the relay box separately. Once I connected them together, I found the design problem that required much re-wiring. 

The button selection worked great. The serial port has been more of a problem. While the PIC receives commands correctly, it doesn't appear to transmit anything at all. It is a puzzlement. 

Tuesday, December 30, 2025

Beverage(s)

View 175 feet down NW Beverage.
My initial experience with the 2024 ARRL 160m contest demonstrated a serious noise issue on Ward Mountain. The Inverted-L showed an S4 noise level. I needed low-noise receiving antennas.

I'd had some success with the half-size K9AY loops at the Gwinnett station. But I could use something better.

At contest stations such as NQ4I or WW4LL, I've had the opportunity to use Beverage antennas. But  never at my home station.  I planned to change that. 

The Plan

Having a bit of acreage, there's room for several beverages.The key directions were to the NorthEast (NE), SouthEast (SE) and NorthWest (NW). 

For 160m Beverages, many recommend at least 550 feet of wire, minimum. This is just a bit over one wavelength long. ( Technically, using a velocity factor of 95%, one wavelength of wire should be 520 feet at 1.8 MHz ) Since they don't make spools of 550 or 520 feet of wire, a 500 foot spool should be sufficient. 

Wire is expensive. A 500 foot spool of stranded 14 gauge THHN wire is $78 at Home Depot. 

Beverage antennas are pretty simple. The long piece of wire is fed against ground at both ends. The near end uses a matching transformer to adapt the nominal 500 ohm impedance of the Beverage to a feedline. The far end contains a terminating resistor. 

Beverage terminators (above) and
transformers with F-connectors (below)
Terminator Boxes

I built five Beverage terminator boxes using a 470 ohm 2W resistor (OY474KE Ceramic composition resistor) and a 75v gas discharge tube.

These parts fit snugly in a small plastic box. Thumbscrews make for easy connection to the antenna and ground rod.

Transformer Boxes

500:75 ohm transformer
Beverage transformers are wound on BN-73-202 cores. Primary is 3 turns using red wire-wrap wire. Secondary is 8 turns yellow wire-wrap wire. The primary and secondary are separated using cut off bits of plastic stirring straws. The 3:8 turns ratio is a good match for 75 ohm coaxial cable used to feed the antenna. 

Transformer assembly progression
Transformers are housed in the same small plastic boxes. An F connector jack supplies the transformer primary. Transformer secondary connects to thumbscrew posts with another 75 V gas discharge tube across them. There is no common ground connection between the primary and secondary -- this avoids noise pickup from the feedline. 

Thumbscrews connect to the antenna and ground rod at the feed point.

I built four transformers initially. The small plastic boxes work necessitated a bit of ingenuity to get everything in place. 

Erecting

Single wrap traps wire
Installed insulator
Being surrounded by forest, the Beverages are suspended from trees aligned with the reception path. Screw-in electric fence insulators are used to support the antenna about 8 feet off the ground. 

A rope around a tree supplies modest tension for the wire at each end. This leaves the ends relaxed to connect to the transformer or terminator boxes and ground rods. 

The technique for installing the beverages is straightforward, I start by locating the feed point transformer near a supporting tree and mounting an insulator there. Once the ground rod and tension rope are installed, it's a matter of going from tree to tree installing insulators and hooking the wire. This continues until you reach the end of the wire, where the ground rod, terminator box and tension rope are located. 

Terminator installed
Tension connection
At the transformer and terminator, the wire to the ground rod zig-zags a bit to take up the slack from the insulator. This keeps the plastic box from flapping around in the wind.

Every attempt is made to keep the Beverage straight toward the target heading. A bit of direction change to make supporting trees is tolerable. I used the iPhone Compass app to keep me on heading. 

At my location, the terrain slopes a bit. For the NW beverage, after the first 175 feet, the drop-off is quite gradual. 

The NE beverage is another story. Terrain drops about 10 feet in the first 200 feet, but the last 300 feet drops about 80 feet. The beverage terminator ended up in the bottom of a deep ravine. Navigating the slope was quite difficult. Rocks, branches and other debris on the forest floor made for tricky footing. Be careful out there.

Feed Line

I caught a deal on some RG-6. I found 700 feet on a spool for less than $20 at the Dalton, GA hamfest. RG-6 is cheaper than stranded wire. A 500 foot spool is $50 at Home Depot. This 75-ohm coax makes for a good receive antenna feedline. It's cheap, low-loss and easy to match.

Performance

Only have a little experience with these antennas. NE Beverage has been up a month, and the NW Beverage a week. 

Performance is amazing. 

On the 160m Inverted-L, there's typically S4-5 noise. Noise level on the Beverage antennas varies depending on the time of night, but is typically 1-2 S-units lower. 

More importantly, signal levels are stronger. If I watch the Elecraft P3 panadapter, switching from the Inverted-L to one of the Beverages, the noise level drops somewhat, but the signals rise above even more. Sometimes, when there are no visible signals on the Inverted-L, many are Q5 copy on a Beverage.

Further, switching from one Beverage to the other can have a dramatic effect on signals. Sometimes, signals that are strong on one are inaudible on another. Other times, signals are about the same.

In short, the Beverage receive much better than the Inverted-L. During the recent Stew Perry TBDC, I listened on the Beverages almost exclusively. 

They work.

Saturday, December 27, 2025

New Modes for the Auto Antenna Selector

Automatic Antenna Selector in use
I wrote previously about debugging selection modes for the Auto Antenna Selector. With that working, I wondered if I could do more. 

Originally, I thought that modes should swap the selections on the A and B ports. With Standard Mode, I was missing that. But how to allow more modes?

Flip-Flop Mode

I don't need Test Mode that often. Holding down the mode button could be divided into a short and long hold. A long hold -- 1 second or more -- would invoke Test Mode. A short hold -- 1/4 of a second, could invoke something else. 

Flip-Flop mode was born. With a short hold, the selections for Port A and B are swapped. This works both in single-radio and two-radio configurations.

The selector signals Flip-Flop mode by blinking the mode LED on and off over 1/2 second. As coded, it actually pulses for 1/2 second, then is off for 1/2 second. Not what I intended, but distinctive. I decided I didn't need to "fix" it.

Testing

Unlike the last code changes, these worked the first time. I found Flip-Flop mode helpful with the single radio when trying to use a different antenna with the AL-80A amplifier. Since it is only connected to the antenna on Port A, this mode makes this possible.

At the moment, tapping the mode button in Flip-Flop Mode doesn't do anything, still thinking about that.

Sunday, October 26, 2025

Debugging the Automatic Antenna Selector

When I last wrote about the Automatic Antenna Selector, I mentioned adding modes to select more antenna options. Getting that to work took some doing.

Test Mode

Holding down the mode button invokes test mode. When entered, it selects port A0. Tapping the mode button advances to port A1, A2, to A5, then it goes to B0, B1, to B5, then back to A0. In this way, all antenna / port combinations can be selected. This allows new antennas or conducting tests or experiments before a new configuration can be programmed. 

The unit signals Test Mode with the mode LED being on continuously. Holding down the mode button again goes back to Standard Mode. 

Standard Mode

Standard mode determines antenna selections according to the connected K3 BAND0-3 signals. When only one radio is connected, both ports are based on the current band for that radio. The first port is the primary, the second part gets the secondary selection. Tapping the mode button cycles through the secondary port selections, the primary port being unchanged. 

When two radios are connected, port selections are based on the K3 BAND0-3 signal for both radios. Radio A gets the primary selection. Radio B gets its primary selection, unless that port conflicts with Radio A. It then gets the secondary selection (unless that also conflicts). Tapping the mode button cycles through the Radio B selections. 

The unit signal Standard Mode with a mostly dark LED. Off completely for the primary selection, pulsing twice for secondary, three times for tertiary. At the moment, there are only three stages. Adding a fourth would be easy.

Easy in concept, but after the code changes, it didn't all work.

Test mode worked great. Entering and exiting were reliable, and each tap selected the correct port.

Standard mode, however, didn't seem to do anything. The LED indication showed the mode selected, but the port selection did not change. I had only implemented the single radio logic, since I couldn't find a second cable to connect a K3.

Debugging

Debugging this over the last couple of weeks was driving me mad. No matter what changes I made to the code, the behavior did not change. Further, I noticed that when the K3 was on 6m, port B was also selecting a dipole antenna. That was unexpected, as it wasn't a valid antenna for 6m.

Eventually, it dawned on me that this was not single-radio mode. For some reason, the selector believed there were two radios connected.

That was a revelation. I knew there was a problem when the K3 powered down. When no K3s are connected, the selector was supposed to deselect all relays. Instead, it had two dipoles selected. 

This was connected with how Elecraft encoded the bands on the BAND0-3 pins. 60m is represented as all zeros. Even with the weak pull-ups enabled on the PIC, it wasn't enough to overcome the loading of the connected but powered-down K3.

The same problem was evident on the disconnected port -- it was registering 60m, which selected the dipole. 

Fixing

The first fix was hardware. I added 2.2k pull-up resistors to the BAND0-3 pins on both ports. After that, the relays deactivated when the K3 was powered down. But, I still saw the dipole selecting coming up on 6m when switching models. 

This was a software problem. One of the internal variables was initialized incorrect, which was the source of the 60m selection. When initialized correctly, single-radio Standard Mode selections worked as they should. 

With that working, I'm full of new ideas for improving mode selections. Once I figure out which ideas are best, hopefully it will be a small matter of code changes....

Sunday, October 19, 2025

Bell & Howell IMD-202-2 (Heathkit IM-1212 In Disguise)

When my Systron-Donner digital multimeter was damaged by lightning in June of 1992, I looked for a replacement. Somewhere along the line, I found a Bell & Howell IMD-202-2 at a hamfest. This was at least twenty years ago -- I have a email message from January 2005 asking about it.

Somewhere along the line, this meter refused to measure anything. When I moved it to Ward Mountain, it was time to fix it. 

The sticker of the multimeter says "Heathkit IMD-202-2", but it's not a Heathkit number. In twenty years, there's apparently more information available. I found that it's a Heathkit IM-1212 with a Bell & Howell label. They sold this unit in the late 1970s as part of an electronics instruction course.

While I couldn't find an assembly manual, I did find a schematic and a calibration procedure. The unit is a simple and straightforward design. Opening it up, there's a single circuit board, plus a bit of wiring around the function and range switches. 

Stepping through the calibration procedure, I couldn't find anything amiss. I had difficulty using a frequency counter to set the counter oscillator. Even with an oscilloscope, I couldn't find a clear signal to measure -- yet the unit was working. I decided to use the calibration without a frequency counter.

When performing the DC and AC voltage calibration, I backed up these measurements using a modern portable digital multimeter. In the twenty years or so since I obtained the Bell & Howell, I've purchased four of these gems. 

The calibration went smoothly, and the Bell & Howell now has an honored place on my workbench. 

Measuring 1k resistor.
Compared to modern instruments, it's not impressive. It sports 2 1/2 digits -- the first digit is just a neon lamp that signals a leading "1". A second neon lamp lights a "OVER" indicator. By comparison, my modern portable digital multimeters have 3 1/2 digits, and at least one of them is auto-ranging. Accuracy isn't great -- perhaps 2% when freshly calibrated.

Still, it's sufficient to be tied to the workbench. The problem with the modern portable digital multimeters is the "portable" part. I leave them all over, and can't find one when I need it. Plus, the nixie tubes are cool.

At least until I can fix the Systron-Donner, which is a much nicer instrument. I have full manuals for the Systron-Donner. Last I looked, it had a problem with fried comparator using a LM301AH with matched FET input amplifiers. Yes, that's a TO-8 style integrated circuit, something you haven't really seen since the early 1970s. And the matched FETs are in a common plastic case with six leads -- a rather uncommon part. I intend to remove the damaged parts and install new parts with socket pins.