Using the KENWOOD Auto Antenna Tuner AT-300 with a YAESU Radio (2026/03/07)
The only item that survived the 2016 lightning strike that destroyed all
of my radio equipment was the KENWOOD Auto Antenna Tuner AT-300.
It was installed on an exterior wall without any antenna or coaxial cable connected, so it was spared from lightning damage.
It was an old AT-300, but when I looked inside it was clean and when
I turned it on the relay worked, showing that it hadn't been damaged by
lightning.
However, my KENWOOD TS-480SAT was damaged by lightning and I don't have a radio to connect it to.
So I decided to make an interface using ATMEGA32U4 to connect to the YAESU radio.
specification.
Press the tuning switch to start tuning.
Send the CAT command MD and PC to the YAESU radio to get the current mode and output.
Use the CAT command MD and PC to set the mode to CW and the output to 10W.
Verify that the output is 10W.
Send the CAT command TX1, set the signal line TS to low, and start tuning.
The signal line TT is monitored to detect the end of tuning.
Once tuning is complete, there is a 15-second timeout and the CAT command TX0 is sent, switching the radio to receive mode.
Send the CAT commands MD and PC to return the output mode to its original state.
The AT-300 has two control lines, TS and TT.
However, this kind of manual is only available in English on the Internet.
Although it is a Japanese manufacturer, there is no documentation in Japanese.
Write a program on Arduino and check its operation on a breadboard.
I have not yet tested the CAT commands on the actual device because
I am currently ordering a TYPE-C to TYPE-B cable to connect to the radio.
I also ordered a 16x2 LCD (LCD1602) and an I2C interface to support all YAESU radio models.
However, it turns out that most YAESU models use the same commands, so this LCD is unnecessary.
Will it be compatible with other radio manufacturers?
Writing part of the program.
//------------------------------------------------------------
// AT-300 Tuner Control Test Program
// ATmega32U4
//
// Press SW → TS ON → AT-300 sets TT to LOW
// → Tuning → TT returns to HIGH → Wait 2 seconds and finish
//
// In case of abnormality
// ・TT does not become LOW within 30 seconds → ERROR
// ・TT remains LOW for more than 15 seconds → ERROR
//
// LED blinks when an error occurs
//------------------------------------------------------------
#include "cat.h"
#include "lcd.h"
#include "rig.h"
#include<EEPROM.h>
#define LONG_PRESS 1500 // 1.5 seconds
#define EEPROM_RIG_ADDR 0
int currentRig = 0;
//------------------------------
// Pin definition
//------------------------------
const int pinDISP = 8; // For LED display
const int pinTS = 9; // AT-300 TS signal (start tuning)
const int pinRIG = 4; // RIG selection SW ← Add
const int pinTT = 3; // AT-300 TT signal (tuning status)
const int pinSW = 2; // Tuning start switch
//------------------------------
// State machine state
//------------------------------
enum STATE {
IDLE, // Waiting state
REQUEST, // Wait for tuning to start
TUNING, // Tuning
HOLD, // Wait after tuning is complete
ERROR // Error condition
};
STATE state = IDLE; // Initial state is waiting
I think it will probably work with the ICOM AH-750 and AH-4 as well.
If you want to try it, I'll send you the source code.