Saturday, September 13, 2025

Automatic Antenna Selector Project

Auto Antenna Selector under test.
Some projects are years in the making. October 2020, I ordered the KK1L 2x6 Antenna Switch board. I assembled it and by December I rigged up a manual antenna selection switch. Two years later, I mounted the KK1L to an aluminum panel to create a Single Point Ground (SPG). While all that work was beneficial from a bonding and grounding standpoint, antennas were selected manually. If I changed bands and forgot to change the antenna selection, trouble could ensue.

The purpose in buying the KK1L 2x6 Antenna Switch was fully automatic antenna selection. I needed a controller that could communicate with the Elecraft K3 and select the right antenna. 

A PIC microcontroller seemed suitable. I'd had success using one of these chips to build a K9AY Controller. For that project I had used a PIC16F1503. After that, I picked up the PIC16F18426 and PIC16F18446 chips -- these offered more features than the '1503, including a serial port and way more program memory. The Microchip tools were free, and I had a PICkit3 programmer.

I sketched out three designs.

Design A - 1 radio, 1 set of relays

The most basic design - it does little more than replace the manual switch. A single DE-15 jack brings the BAND0-3 information from the K3 into the PIC. Three outputs drive a 74LS145 BCD decoder to select one of the six relays through a 2N3906 driver transistor. Two other outputs allow selection of the 160 or 80/75m shunt matching networks.

Total I/O required nine pins, which any of the three chips could provide.

Design B - 1 radio, 2 sets of relays

A limitation with Design A is that a K3 with the KAT3 has two antenna jacks, but the selector only chooses one antenna. Design B reads BAND0-3 from one radio, and selects the best antenna on port A of the switch, which is connected to ANT1, and the second best antenna on port B, which is connected to ANT2. The operator can then use the ANT button on the K3 to switch between the two antennas. 

This design retained the four inputs for the BAND0-3 information, plus six outputs feeding two separate 74LS145 BCD decoders, and two additional outputs for the 160 or 80/75m shunt matching network. 

That's exactly 12 pins -- still possible using any three of the chips.

Design C - 2 radios, 2 sets of relays

I liked Design B, but along the way I purchased a second Elecraft K3. If I were trying to use both radios, what would I need to switch the antennas?

Two DE-15 jacks facilitate the BAND0-3 data from each radio, requiring eight inputs. The selector could then choose the best antenna for both Radio A and Radio B, unless that choice caused a conflict, in which case Radio B would get the second-best choice.  Outputs were the same as in Design B. 

This required the 20-pin '18446, because the 14-pin controllers don't have enough I/O available. 

It occurred to me I might want to switch the antenna selection priority sometimes, so Radio B gets the best antenna in a conflict and Radio A gets second best. That required an input pin for a pushbutton and an output to light an LED. This used all the 18 pins available on the '18446. 

Design Choice - B/C - 1 or 2 radios, 2 sets of relays

First look with front panel assembled
The end design combines Design B and C features. Two DE-15 jacks are used, and the PIC software decides if a K3 is connected or not based on the pattern of BAND0-3. Unconnected pins are pulled up, so a value of all ones indicates no connection. If only one radio is connected, the software acts like Design B, if both radios are connected, it acts like Design C. 

The front panel has LEDs for the six relays on port A and B, so you can visually see which antenna is selected for each radio. An LED each for the 160 and 80/75m shunt selection, and a pushbutton and LED for the mode selection rounds out the front panel. A power switch and a switch to choose between the 80 and 75m shunt network round things out.

Power requirements are simple. A port relays take 88 mA, and B port relays require 44 mA. Selecting one relay for both ports is less than 140 mA. The 160m shunt relay requires 120 mA and 80m relay requires less. The power requirements of the PIC, 74LS145 and LEDs are negligible by comparison -- 300 mA covers everything. 

Construction

A look at the guts of the box. The relay
drive transistors dominate the board
I searched for a smart-looking cabinet for this project fitting the dimensions of the station. I found a reasonably priced enclosure on Amazon.com. I took lot of care drilling the front panel so that everything lined up correctly. I figured I might be staring at it for years. In retrospect, the rear panel doesn't look so pretty.

With the cabinet in hand, how to construct the hardware? I considered developing a PC board, but I was eager to build. I ended up using a bit of perfboard and some 3M Scotchflex prototyping sockets. The Scotchflex system is now obsolete, mainly because everything is surface mount, but I had most of this in the junk box. I had to engineer a 20-pin 0.3 inch socket -- which I accomplished with two 14-pin sockets back to back.

The downside to this approach is all the wiring required for the relay and LED driver transistors -- there are fourteen 2N3906s, three 2N3904s and a bunch of related resistors. A PC board would have taken more design work ahead of time, but the construction would have gone quickly and taken less space.

I worked on this project off and on in six different locations - Gwinnett county, Fulton county, Warren county, two locations in Gordon county and finally from Floyd county. For a while, I carried the whole project with me in a small cardboard box wherever I was.

Software

Like the K9AY controller, everything is interrupt-driven. The '18466 CPU is configured with a 500 kHz clock speed, and a timer interrupt occurring every 5 ms. 

During the interrupt, we sample the A and B ports from the radios, plus the mode button. All of these values go through debounce logic - the value must hold for 10 interrupts (50 ms) before taking action.

If either the A or B values change, or the mode selection changes, then the antenna selection logic is followed. If either port is all ones, it indicates a radio isn't connected, so the Design B rules are used to select the antenna. If neither port is all ones, we assume two radios are connected, and Design C rules are used to make the selection. 

Debugging

Unlike the K9AY controller, I had a bit of trouble getting the software working. Part of the struggle was knowing if a problem was a wiring problem or a software issue.

At first, nothing seemed to work. In the end, I wrote really simple firmware that just blinks the mode LED based on the timer. Nothing. Setting up the chip on a solderless protoboard, still nothing. After some experiments, I got the timer interrupt straightened out and had a blinking LED on the protoboard. 

Then came the wiring issues on mode LED. One issue was the transistor drivers for the LED didn't have proper pull-ups. Eventually, I settled on a one second startup routine that would blink the mode LED briefly once, then twice. After that, the chip would be looking at the input ports and selecting antennas.

In the next phase, I wrote an additional startup routine that selected the antenna for ports A and B. Every second or so, it selected a different relay, and hence light the LED. I coded it to go in a pattern so I could verify that each relay driver and LED worked correctly. Of course, it didn't work.

Several wiring problems became apparent. First, the 74LS145 chips weren't getting any +5 volt power, so they weren't doing anything. They had been wired, but one of the wires broke. Once fixed, the LEDs lit. Then it was apparent they were going in the wrong order. 

The wiring between the PIC16F18466 and the 74LS145 chips had two problems. First, the pins for the A port and B port had been reversed. Second, outputs from the 74LS145 were reversed. Putting out a value of 001 into the 74LS145 selected antenna 0, and a value of 110 selected antenna 5. Rather than doing a massive amount of re-wiring, it was easier to change the software and re-draw that part of the schematic. 

Then we finally come to the business end -- hooking up the K3 BAND0-3 inputs. That's when I found my last wiring error. Turns out, I had swapped the pins between rig A and rig B. Another problem solved with a software change.

It Works! Now What?

Even with the basic software running, I felt the need for change. I've disassembled my station in Gwinnett county, and the antenna configuration I programmed, even designed this Automatic Antenna Selector for no longer exists.

The antenna selection logic originally was a bunch of switch statements embedded inside if / else statements -- not very easy to change. I re-coded to use a short table of eleven rows and four columns. The rows represent each band, 160 through 10m, including 60m. The columns are the first, second, third and fourth choices of antennas. Much easier to understand and update.

I expanded on the idea about the Mode button. Originally, it was just primary / secondary. To allow for up to four antenna choices, perhaps there are more than two modes. How does one tell which mode you are in? The mode LED was programmed as just on or off. I could have it be off for primary, blink once for secondary, twice for tertiary, and three times for quaternary.

The last issue was how to test the relay action without having to program a new antenna configuration.  Currently, there's nothing programmed for relay position 4. If one wanted to hook an antenna there to test it, how do we do that without burning a new chip? 

Holding down the mode button could select a special mode that selects ports A0 ad B5. Then, each time you tap the mode button, it would switch: A1 and B4, A2 and B3, etc. In this way, each port can connect to each antenna. And the mode LED would indicate this with a solid on condition. Hiding the mode button again would switch back to the to the normal program.

How about using a radio other than the K3? Maybe I want to use the Novice Transmitter, or perhaps my trusty Elecraft K2/100. Perhaps we re-purpose the seven-position manual selection switch to encode K3 band values. A simple diode matrix would work, and I have a bunch of 1N270 diodes, 

This project is now working, but it is far from done.

Saturday, August 30, 2025

W5WVO 6m Beam Project

W5WVO clone construction so far.

I wrote earlier on my purchase at the Dalton, GA Hamfest of the 6m Mystery Beam. It clearly formed some kind of antenna, given the lengths of the elements. But I had no clue how those elements were intended to be positioned on the boom -- and even if I did, I had no idea what kind of performance to expect.

Course of Action

Unsure of what to do, I asked the folks on he SEDXC mail reflector. Joe Subich, W4TV suggested that I use the components to implement the W5WVO modification of the A50-5S, or perhaps re-create one of YU7EF's five element designs for a 4.5m boom or 4.15m boom

Choosing between these options was difficult. What I had wasn't a A50-5S, so the W5WVO medication wasn't straightforward. And the YU7EF designed were even further afield from my starting point.

I decided to adapt my tubing collection to W5WVO's design. 

My elements were too short, they'd need to be extended. But, it isn't as simple as just matching the length W5WVO specified -- the taper schedule is different. 

The A50-5S and the W5WVO designs use 48" of 3/4" tubing in the center extended with 5/8" tubing to the element length. My tubing is 3/4" the entire way. I'd need 5/8" extensions, but how long?

Answering that question required modeling.

Modeling a Solution

As a Mac user, I use CocoaNEC with the NEC 2 engine. It's pretty sophisticated, actually, but getting good results requires using the NC modeling language, which can be a bit tedious. 

My first model was W5WVO's design using the normal taper schedule - inner 24" of each half element are 3/4" with the rest being 5/8". Results were very similar to, but not exactly the same as W5WVO's article. (Part of the reason is W5WVO used NEC 4 engine) But what I had was close enough.

Second model used the 3/4" element lengths I had, spaced according to the W5WVO design. The results were akin to the W5WVO, but with significantly worse F/B.

Third model used the same 3/4" element lengths, with 5/8" extensions on the tips of each element. Because of the different taper schedule, I experimented using a different percentage of the W5WVO dimensions. Lo and behold, at 80% extension length, I modeled something very, very close to the W5WVO design. 

Reflector with
5/8" extension.
The extensions needed on each end are short:

  • Reflector - 2.5"
  • Driven Element - 0.75"
  • Director 1 - 1.75"
  • Director 2 - 1.375"
  • Director 3 - 0.25"
I added about 3/4" for overlap inside the 3/4" tubing. I secured the extensions using 1/8" Cherry pulled rivets. These aren't ordinary "pop" rivets. Ordinary pop rivets are just a hollow aluminum tube. These leave a steel mandrel filling the tube -- a solid, structural connection.

Building

Extensions on each element.
First step involved cutting the extensions and riveting to each element. I used two rivets on opposite sides. On the D3 element, with the very smallest of extensions, I ended up with one rivet because I broke my #30 drill bit. 

Second step would be to hang the elements on a boom. Oh, wait, I need a boom!

The parts I bought at the Hamfest had three segments of 1" Aluminum pipe which was reinforced by a 13 foot piece 3/4" pipe. None of this fit well together. And the diameter was somewhat small for a 20 foot boom.

I had a 7 foot piece of 1-1/2" tubing I replaced on a Cushcraft A3S. I also had a 12 foot piece of 1-1/2" tubing. Together, they would be 19 feet. The last 10" of the 7 foot tubing had a crack, so I cut that part off, and used a  1 foot 1-5/8" tubing section to join the two together. My only hesitation was that the 12 foot piece was only 0.035" wall (whereas the others are 0.058"). I was worried it might not be strong enough. I figured it was worth a try, perhaps aided by a supporting truss.

I also had to figure out a boom-to-mast plate. I was fortunate to have one in the junk box, along with U-bolts that would work.

Mapping the elements onto the boom was a little tricky. The U-bolts just barely fit over the 1-1/2" boom, but they could not go over the 1-5/8" joiner. I had to move the reflector 8" away from the end of the boom so that Director 2 did not fall on the joiner. 

I managed to get all the elements positioned on the boom. Definitely looks like an antenna now.

Next step will be to figure out how to feed this beast with a gamma match.





Saturday, August 23, 2025

Hamfest Special - Mystery 6m Beam

Back in July 2021, I asked members of the SEDXC reflector how best to work Europeans on 6m, one important bit of advice was to use an antenna with more gain than my Cushcraft A50-3S. Three elements just won't cut it on marginal paths. The suggestion was to use a beam with five or more elements. 

Such antennas are several hundred dollars new. The A50-3S was used from a local club for $80. Yes, I'm cheap, but it has served me well. Since then, I've been looking for a reasonable, used antenna. I'm even willing to do some minor repairs.

As I was leaving the Dalton, GA hamfest at the end of February, I stopped by a tailgate area where a guy had a trailer load of stuff. I could see a Cushcraft tribander, a Hy-Gain tribander, house brackets, guy brackets, feed lines, a gin pole and other stuff. I wondered if he might have something for 6m. So I asked.

The owner wasn't present, so his kid called him on a digital walkie-talkie. He said he had a 5-element Cushcraft 6m beam. By the time he made it back to the trailer, we pulled it out, and he changed his tune, he said it was a 6-element Hy-Gain beam. You could see the gamma feed on the driven element. 

Sounded great to me. I negotiated him down to 63% of his asking price, and walked away with the antenna bundle for $125. Sweet.

Getting home, before  I took the antenna off the truck, I went looking for Hy-Gain six-element 6m antennas. I found manuals for models 66B and VB-66DX. They are very similar. The VB-66DX appears to be a hardware-update of the 66B design. These antennas are also fed with a beta-match, not a gamma-match. What I bought is not a Hy-Gain antenna.

Taking the antenna off the truck, cutting it apart and laying the pieces out on the deck.What I found was surprising:
  • The components I purchased
    REF - 3/4" Al - 9' 9" - 117"
  • DE - 3/4" Al - 9' 2" - 110" (Gamma match)
  • D1 - 3/4" Al - 8' 9" - 105"
  • D2 - 3/4" Al - 8' 8" - 104"
  • D3 - 3/4" Al - 8' 7" - 103"
  • Misc - 1/2" Al - 50" - Swaged to 5/8" last 6" (2) - Hy-Gain bracket adds 1 1/2" - 101 1/2" total
  • Boom - 1 1/4" Al totalling 24 feet in three sections with 1" thicker wall inner tubing
First five elements mount with a single 1 3/4" U-bolt and saddle in the center. The Misc segments could mount in a single Hy-Gain bracket, giving a total element length of 101 1/2" -- which might be a forth director.

Gamma match is a total of 16" 1/2", most of which is a 1/4" Aluminum rod. The shorting bar is at 14 1/2". The first 1 1/2" is a 1/2" Al tube flattened at one end for a screw. The open end hid a disc ceramic capacitor that sadly I broke in transit. Looks like a 3-6 kV capacitor, value unknown.

The boom is a piece of work. There are three 1" Al pipe sections: 75 3/4", 144", 68". The 68" section has a 156" piece of 3/4"Al pipe with a ticker wall as reinforcement. It is mounted asymmetrically, so more of the end extends into the 144" piece than the 75 3/4" piece. There is no boom to mast bracket.

I'll note that the boom is aluminum pipe. Not tubing. It's designed to carry liquids, not be structural.

Clearly, this is not the parts to a Hy-Gain nor a Cushcraft 6m beam. First off, no commercial 6m beam ships with single-tubing size elements. They all use a taper schedule. There are two good reasons for this. 1) It makes the antenna adjustable. 2) they can ship sections shorter than 7 feet, which allows the package to go UPS, 

These parts are a collection different ideas. The U-bolt mounting is Cushcraft-style, but the boom size is too small for a Cushcraft. The boom is 24 feet long, but it is clearly not a Hy-Gain. The boom is way too small, since Hy-Gain used a 2" boom. Plus, it apparently had a truss (now broken), probably because the    for the 24 foot length.

What I appear to have is a collection of parts used to cobble together a poor imitation of something like the Hy-Gain 66B / VB-66DX. Not at all what the guy at the hamfest told me.

There's plenty here to put together a solid five element beam on a 12 to 18 foot boom. The elements are already cut. The hard question is how far should they be spaced? Once I know what the right spacing is, I would then know how much boom I need. 

The broken gamma match is annoying, but fixable. Once I know where to place the elements....

This project is going to take some work.

Sunday, February 23, 2025

The Challenge of a New QTH

A decade ago, my wife and I spent four years in Floyd County in one of her church postings. We loved the area, and imagined we'd retire there.

In November we took the first step. Bought a house in Floyd County near Rome, GA. House is on the top of a small mountain - Ward Mountain, rising 300 feet above the valley floor below. From the front porch, there is a gorgeous view to the West. On a clear day we can see 35 miles to Lavender Mountain, which is practically in Alabama,

The house is a little smaller than we'd like at 2100 square feet, but there's over 11 acres of land. A small office outbuilding with one room and a tiny bathroom has become the ham shack.

We've owned the house in Gwinnett county for 30 years. Now we are transferring things to the new house. There's a lot to do. We'll sell the Gwinnett house in the next months. In the meantime, I'm focused on building up the Floyd QTH when I have the energy.

Antennas are the first order of business. I first put up an 80/40/20m Trap Dipole. It's up about 12m in the trees. I erected a 160m Inverted-L with two elevated radials. It's a bit noisy, so receiving antennas are likely needed to make the most of that. I plan for three beverage antennas. A 6m dipole barely 4m up in the trees offers me an option on that band.

I've also put together the HF4B. I've mounted it on a 19 foot pole lashed to a deck post. It needs adjustment to work well. It's OK on 10m, but 15 and 20m aren't quite right.

I'm planning to put up a tower. I'll need to take down the tower in Gwinnett first. My plan is 70 feet of Rohn 25, with the A3S/A743 on top. 35 feet below that will be an A3S, pointed at Europe. This would give me a stack toward Europe, plus coverage in other directions with the top antenna. Horizon is unobstructed in every direction except to the NorthEast, where the two additional summits of the Ward Mountain chain are. Those peaks are just 100 feet and 140 feet higher, but they are 1 km and 2 km away, respectively.

I'm already seeing good results with the 80/40/20m trap dipole. There are benefits to being on the top of a mountain. Even a simple tower should be awesome.

For 6m, I'm on the lookout for a 5-6 element beam. The Cushcraft A50-3S i've been using in Gwinnett just doesn't have enough gain to work the intercontinental paths. 

On the office building, I've already moved in an operating desk with desktop shelves, and another luncheon table that serves as a workbench. The main part of the floor is a little more than nine feet square, And almost six feet of the rest of the building is split between the tiny bathroom and the rest of the floor. The desk and workbench are a bit of a squeeze.

A wire shelving rack takes up some of the space opposite the tiny bathroom, and gives me room to store things. I don't know how I'm going to get a whole basement of ham gear into this little building.

Such is the challenge of a new QTH.

Tuesday, October 15, 2024

Forty Years of Personal Computing - 16/32-bit Dreams

Back in the days when we were fooling with 8-bit computers, we dreamed about 16 or 32-bit processors. Digging through my notes and records, I found a couple of items. These projects were contemplated, but never built. 

MC68008

When Motorola introduced the MC68008 in 1982, I toyed with the idea of putting one on the SS-50 bus. In my notes, I mapped out the signals required. It might have worked, but it was an awkward fit. The MC6800/MC8609 had synchronous memory access, but the MC68008 was asynchronous. Plus, the MC68000 family really wanted a 16-bit bus.

While I never built anything -- it was more of a thought experiment -- it might have been one of the first applications of a 32-bit processor running on a bus designed solely for an 8-bit processor.

A couple of years later, I spent a lot of time programming the 68000 processor when I started doing Mac development in August of 1984.

NS16032 / NS32016

NS32016 chip set samples, plus a couple
of Dynamic RAM and Refresh Controllers
National Semiconductor (NS) got left behind in the microprocessor chip races even though they were an early entrant. In 1974, they produced a single-chip processor known as the PACE -- a 16-bit design inspired by the DataGeneral Nova. This early pMOS implementation required three power supply voltages, and the bus requirements made designs complex.

By 1976, NS introduced an 8-bit processor, the SC/MP. Compared to the Intel 8080 or the Motorola 6800, it was underpowered. While it may have been a good choice as a micro-controller, the second-generation designs such as the MC6811, MC6805, Intel 8051 and Z-8 choked the SC/MP out of that space.

In 1982, National Semiconductor introduced the NS16032 -- later re-branded as the NS32016. NS32xxx refers to the 32-bit nature of the processor, and the trailing 16 refers to the bus width. It was clearly a competitor to the Motorola 68000, which was introduced in 1979. The NS32016 family was actually a collection of five devices:

  • NS32016 CPU - Central Processing Unit
  • NS32081 FPU - Floating Point Unit
  • NS32082 MMU - Memory Management Unit
  • NS32202 ICU - Interrupt Control Unit
  • NS32201 TCU - Timing Control Unit

Together, they form the processing core. Depending on the type of system, you might not need much more than the CPU and TCU, provided you didn't need floating point, memory management, or prioritized interrupts. This made for an extensible system based on a common processor core

National Semiconductor also offered a Direct Memory Access Controller -- the NS32203.

Clock speeds of 6, 8 and 10 MHz don't seem fast by today's standards, but where competitive back in 1982. This chip needed a minimum of four clock cycles to access memory -- the same as the Motorola 68000.

Architecture

National Semiconductor devoted a lot of their design work to producing a Complex Instruction Set Computer (CISC) specifically to support high-level languages. The NS32016 has a rich set of addressing modes including direct register, register relative (including the Frame Pointer, Stack Pointer or Static Base registers to which an additional displacement may be added), immediate, absolute, external (using a link table entry). Indexing by a register allowed easy access to local and global variables of high level languages. 

The NS32xxx architecture sported eight registers, a program counter, two stack registers (user and supervisor), a frame pointer and a static base register. The design specified module and interrupt tables in memory. 

Design Ideas

In late 1983, The NS32016 process inspired me to write a 20-odd page article about a "personal minicomputer" -- since I considered this design to be more of minicomputer power level that a microcomputer. It certainly was a lot more powerful than the 8-bit microcomputers of the day.

Sometime in 1984, I obtained a couple of engineering samples of this chip set. From this, I started creating hardware designs. Drawing out the basic core from the five chip set was easy. But a real computer needs memory and peripherals.

At some point, I obtained a second-hand S-100 chassis -- a BYT-8 system. Just a motherboard, power supply and front panel. The S-100 bus had a lot of interconnections and could serve as the backbone of an NS32xxx system, but it wouldn't use the same signals. I ended up scrapping the front panel and painting the cabinet flat black.

For memory, I decided to make use of other members of National's line up:

  • DP8419 - Dynamic RAM Controller
  • DP84300 - Programmable Refresh timer
  • DP84412 - Dynamic RAM Interface

These chips made it very easy to construct a memory array with dynamic memory chips. The designs involved 64K bit dynamic memory totaling 256 to 512 KB. It all depended what I could fit on an S-100 board.

The presence of a memory management controller made virtual memory a possibility. The rest was a small matter of software. In my initial designs, I planned to use the Pertec 8" floppies for virtual memory. Perhaps slow, but possible. In mid-1985, I mapped out the Pertec FD400 internal interface boards as part of this effort.

Other than a bunch of schematics and a painted chassis, I never built anything. A good thought experiment, perhaps. Even with working hardware, the operating system software would have taken years to get going.

And the NS32xxx series wasn't without problems. Part of the reason this chip set never caught up is it was full of defects. National went through several iterations over years to resolve the defects, missing their window to catch the MC68000 family or the Intel 8086 family.


Monday, September 30, 2024

Cycle 25 is Kicking Butt

Don't know why I didn't write about this when it happened.

August 9th, the daily Sunspot Number (SSN) was 382. That seemed enormously high. I couldn't remember a single time when the SSN was that high. So, I did some digging.

I downloaded all the SSN data, converted into an Excel spreadsheet and did some analysis. The SSN hasn't been that high since 1991. That's 33 years ago!

The SSN has only been this high a total of ten times in my lifetime (since February 1961) -- Five in 1979, Twice in 1989, and Three times in 1991. 

Of course, none of this compares with Cycle 19, where daily SSN values were well over 500 for many days. But those values all happened 1956-1959, well before I was born.

Cycle 25 is shaping up to be much better than Cycle 24, which was really lousy, and possibly better than Cycle 23.  The smoothed SSN has already exceeded the maximum value for Cycle 24, and it is far from over. 

We've already seen a huge change in the bands in the last couple of years. 20m is open 24 hours, and 15m much of that time. 12 and 10m is open every day. I'm hoping we might see some 6m F2 openings. Enjoy it while you can. We should have two more years of these conditions before the cycle starts back down.

Wednesday, September 11, 2024

RTTY Contest Operation and Messages

In 1985, I built a home-brew decoder and experimented with RTTY, but I never got it to work. I've since decided that I didn't know how to tune RTTY properly. Things changed in 2005 when I downloaded CocoaModem made my first RTTY contacts. 

Since I was involved in contesting, I naturally turned to RTTY contesting. Today, it is unusual to hear RTTY signals on the bands except during contests. Thirty or more years ago, RTTY was commonly heard on 80 and 20m. 

Characteristics

Several characteristics of RTTY must be understood in order to communicate effectively: 
  • RTTY has no error correction or detection -- unlike AMTOR, Packet, FT4 or FT8. This means whatever that prints might be wrong. And if it is wrong, you will not know. 
  • RTTY prints garbage. Without a signal, random characters print. This further complicates determining what is correct and what is not. 
  • RTTY does not handle multiple signals well. When two or more stations call at the same time, RTTY will not print reliably. Certain decoders may print the strongest signal, if you are lucky.
  • RTTY text comes in a continuous stream. Long lines wrap to the next, or one can force a new line by sending a carriage return / line feed combination. Wrapped lines are often difficult to read.
  • RTTY has two shift states, LETTERS and FIGURES in the Baudot encoding. RTTY rests in the LETTERS state. An unprinted FIGURES character is transmitted to shift to the FIGURES state. A similar LETTERS unprinted character can be sent to shift back, or one can automatically unshift on a space character. 

Principles

For effective RTTY contest communication, several principles apply. 

  • Brevity - every character sent must have a purpose. There should be no wasted characters.
  • Duplication - every important element should be sent twice. This contradicts the brevity principle. Because RTTY prints incorrect characters, sending important elements twice helps ensure correct reception.
  • Scrolling - each message starts a new line, but ends with a space. This technique keeps lines from wrapping, and avoids the end of message being confused by garbage characters when the signal drops. 
  • Shifts - avoid needless shifts. Any sequence involving the unprinted FIGURES or LETTERS characters takes longer to send. 

Messages

(I'm using N1MM messages for my examples. Other software may have different macro names and techniques, but the same principles apply)

Every message starts with a {TX} and ends with {RX}. This transitions the software to transmit and back to receive. 

S & P

Let's say you want to answer someone's CQ. This means you need to send your call. For that, you'd use a macro like this:

{TX}{ENTERLF}{MYCALL} {MYCALL} {RX}

or

{TX}{ENTERLF}* * {RX}

(For N1MM, the asterisk and {MYCALL} macros are the same)

Notice the message starts with {TX}, performs a carriage return / line feed with {ENTERLF}, sends the call twice, ends with a space and then {RX} to go back to receive. Sending the call twice helps to ensure the recipient receives it correctly.

If you are lucky enough to get a response, you'll have to send the exchange. The exchange will vary by contest, but it could be a message like this:

{TX}{ENTERLF}! 599 GA GA DE {MYCALL} {RX}

This is what I send in the RTTY Roundup. First is the recipient's call (!). Then 599 -- don't use 5NN, because that actually takes longer to send in RTTY -- and send it only once, because it isn't important. Then the exchange is sent twice, followed by the prosign DE and my call, followed by a space. 

N1MM's authors recommend you use the ! character rather than the {CALL} macro. The reason is that {CALL} isn't subject to correction -- it sends the contents of the Call field at the start of the message. The ! character will send the Call field as it is being corrected in real time. As a practical matter, most RTTY contest contacts involve pointing and clicking on callsigns, so there's less typing, and therefore fewer corrections involved.

A couple of things here. Notice I did not use the {EXCH} macro above. When there are multiple elements to the exchange, I put the repetitions together. So, I tend put the exchange information into the macro directly. For example, here's an S & P exchange for CQWW RTTY:

{TX}{ENTERLF}! 599 GA GA 5 5 DE {MYCALL} {RX}

GA for Georgia, and 5 for zone 5. For NAQP RTTY, it would be:

{TX}{ENTERLF}! 599 BILL BILL GA GA DE {MYCALL} {RX}

Some might balk at the use of the DE prosign, particularly for exchanges that involve a state or section, since DE might be confused with Delaware. However, I think this prosign is useful, as it establishes the callsign is of the answering station, and not the CQing station.

CQing

Calling CQ in a contest is the most-used message:

{TX}{ENTERLF}CQ RU {MYCALL} {MYCALL} CQ {RX}

Note that the important information -- the callsign -- is repeated. The other curious thing is the "CQ" at the end. This indicates I finished a CQ message. This is important because one cannot tell when potential callers tune in to your signal. If they do so during the first callsign, the can't tell if you are calling or answering a CQ. Putting "CQ" at the end establishes you are calling CQ. And it is shorter than "QRZ?".

Naturally, one indicates the contest in the CQ message. Here it is "RU" for Round Up. Use whatever is appropriate for the contest, or simply "TEST".

When someone answers your call, you send an exchange message:

{TX}{ENTERLF}! 599 GA GA ! {RX}

Note that the exchange is sent twice, and if there were more than one element to the exchange, I'd send those twice as well:

{TX}{ENTERLF}! 599 BILL BILL GA GA ! {RX}

Another item to notice is there is no {MYCALL} macro in this message. Instead, the caller's callsign (!) is sent twice, once at the beginning and once at the end. There are two reasons for this. First, it follows the principle of sending important information twice. It could be the caller's callsign printed incorrectly to me, or perhaps it will print incorrectly when I send the message back. If I only send the callsign once, the caller might or might not correct it if is wrong, or they may correct it if it printed incorrectly to them. 

Unnecessary corrections are a waste of time, but necessary corrections are desired. 

Second, it may be that during the response with the exchange, other stations may also be calling. This, creates a good chance that the initial callsign in the response will print incorrectly. If you don't send the callsign again at the end, it could be unclear who you responded to. 

Once you've received the exchange from the caller, one sends an acknowledgement:

{TX}{ENTERLF}! TU DE {MYCALL} CQ {RX}

Short and simple. Two features here. One is the DE prosign, to indicate this is the transmitting station's call, and ending with "CQ" to invite new callers.

Turnaround

Occasionally, multiple callsigns will print in response to a CQ. You can only respond to one at time.  Since you can only respond to one at a time, this leaves someone waiting. Rather than have them call again, you can use a turnaround message which acknowledges a completed contact and starts a new one:

{TX}{ENTERLF}! TU {LOGTHENGRAB}NOW..{ENTERLF}{F5} 599 GA GA {F5} {RX}

This message omits {MYCALL}, and uses the {LOGTHENGRAB} macro to first log, then grab the callsign off the automatic decode stack, then it follows with the normal exchange. If you use Single Operator Call Stacking, you can use {LOGTHENPOP} instead. See the N1MM manual.

Note that instead of using the exclamation point (!), we use the {F5} macro. Both the exclamation point and the {CALL} macro won't be updated by the {LOGTHENGRAB} macro, but {F5} will.

Short

When signals are strong, and the bands are quiet, perhaps the principle of sending information twice doesn't apply. Most RTTY contests allows contacts on multiple bands, and the exchange doesn't change. In these cases, you may want to have short messages handy. Here are some examples:

{TX}{ENTERLF}! 599 BILL GA DE {MYCALL} {RX} -- short S & P exchange

{TX}{ENTERLF}! 599 BILL GA {RX} -- short exchange for S & P or CQing

{TX}{ENTERLF}599 BILL BILL GA GA {RX} -- repeat of just the exchange 

{TX}{ENTERLF}CQ RU {MYCALL} CQ {RX} -- short CQ

{TX}{ENTERLF}TU DE {MYCALL} CQ {RX} -- short acknowledgement

All these should be used when you have solid copy, want to get back to other callers quickly, or you are fairly certain the other operator already has your exchange information from a previous contact.

Tips

Some tips I've picked up over the last decade that are helpful.
  • Use Slow AGC - Fast AGC can confuse decoders and introduce print errors
  • Use TX Filtering on AFSK - If you are using MMTTY or similar software, use the 512 tap TX Filter. It helps transmit a cleaner signal.
  • Listen with Headphones - sometimes you can hear signals that don't always print, if you listen with headphones, you can hear the stations calling you. It also helps you improve your timing in a pile.
On that last tip, turn the volume on the headphones way down. You just have to sense when signals are there, you aren't decoding them. (I believe it was the late Irv Hoff, W6FFC (SK) -- a RTTY pioneer -- who suffered hearing loss at 2125 and 2295 Hz from listening to RTTY signals)

Practical Messages 

There are a handful of other messages you may wish to have handy. Here's one I use often, when you didn't copy anything sent:

{TX}{ENTERLF}AGN AGN {RX}

Or perhaps you need a fill of one element:

{TX}{ENTERLF}STATE? STATE? {RX}

{TX}{ENTERLF}NR? NR? {RX}

{TX}{ENTERLF}NAME? NAME? {RX} 

 Before you open up with a CQ on a frequency,  this is good one:

{TX}{ENTERLF}QRL? DE {MYCALL} {RX}

 Maybe if you are not sure someone is calling you:

{TX}{ENTERLF}QRZ DE {MYCALL} {MYCALL} {RX}

Or the short version:

{TX}{ENTERLF}QRZ DE {MYCALL} {RX}

Every once and a while, directed call is useful, especially when two stations are calling CQ on top of each other:

{TX}{ENTERLF}! DE {MYCALL} {MYCALL} {RX} 

Conclusion

RTTY contests are a ton of fun. Program a set of messages and try it. You'll like it.