Automating the Expert Linear ATU tuning process

Most people will recognize CHIRP as a desktop application, which it is. However, one of the early design points for the architecture was a clear separation between the UI and the driver model. That provides a mostly clean abstraction between the task of communicating and interpreting the memory of the radio and the presentation or user interaction. While the chirp python module is not a stable library, it’s pretty internally-consistent and doesn’t change much over time. What that means is that it’s also possible to re-use the driver code in other tooling for specific purposes.

I recently got an SPE Expert 1.3K-FA linear amplifier with the integrated antenna tuner. It’s a really nice piece of gear, and it’s very well thought-out. The ATU works differently than I was expecting though, in that you pre-tune it for basically everywhere you want to operate and it automatically tracks as the frequency changes via CAT. That means it’s constantly adjusting the ATU as you dial around, which is great, but it means that you need to have done that pre-tuning ahead of time.

In order to do that, the manual gives you a large table of “sub-band center frequencies” across all the supported bands. If you make changes to your antenna, or operate on a temporary antenna, you need to re-tune every single one of them. The OEM process consists of these steps:

  1. Look up the next frequency in the list
  2. Dial the radio to that frequency
  3. Set the radio to CW or RTTY (which my radio is never in)
  4. Press the tune button on the amp
  5. Key the radio until the tuner finishes
  6. Goto step 1 (until you’ve done them all)

For me, step 2 takes the most time, either typing each frequency in on the direct-entry keypad or using the dial. Multiply that procedure by the 153 center frequencies (if you do all the bands) and you can see why it takes some time.

My thought was that I can/should automate that using the infrastructure in CHIRP. So I did, and what I came up with works really nice with my setup to make a full re-tune much quicker. The tool’s fully-automated workflow looks like this:

  1. Command the radio to the next frequency in the list, RTTY mode
  2. Monitor the output to see that you key the radio, and when you un-key:
  3. Switches to CW mode and sends your callsign for ID (if supported), then loops back to #1

The only the thing user has to do is hit the tune button on the amp and transmit when prompted, over and over again. It’s much faster and less work. Here’s a sample interaction:

It’s tempting to use the USB interface on the amplifier itself to fully automate this process, which is very doable. However, it’s probably most prudent to require some user interaction in order to listen for a clear frequency before tuning and, of course, monitor for problems (like a failure to achieve a suitable match, etc).

I tested this on an IC-7610, IC-7300, and IC-7200. It’s certainly possible it will run with ease on other such models, but I don’t have them handy to test with. Since this uses a bunch of control frames that are not normally used (and tested) as part of CHIRP, it’s hard to say if they will all work with other models.

If you want to check it out you can see it here. It requires the chirp python module to be installed (or be locally resident). An all-in-one binary could be made.

Category(s): Radio
Tags: , ,

Comments are closed.