Skip to content

Instantly share code, notes, and snippets.

@ast
Last active April 4, 2023 14:51
Show Gist options
  • Save ast/cc62dff65d35c857c3a2bd8dfb40051f to your computer and use it in GitHub Desktop.
Save ast/cc62dff65d35c857c3a2bd8dfb40051f to your computer and use it in GitHub Desktop.
Reverse engineering the Yaesu FC-30 antenna tuner protocol

Reverse engineering the Yaesu FC-30

Notes about the Yaesu FC-30 tuner connected to the FT-891 radio. I have not been able to find any information online at all about the propriatry protocol used, so I’m compiling this from my observations.

The ultimate goal of this project is to connect an Icom AH-4 tuner to Yaesu radios.

Data shown is hex. Data in [brackets] are from tuner. Data without brackets are from radio.

Seems tuning is done in three steps:

  1. First a command is sent to disengage the tuner, then a a high(er) power carrier is sent to detect SWR. If the SWR is too high the tuner won’t start tuning.
  2. Then the command to start tuning is sent and a lower power carrier is sent.
  3. A higher power carrier is sent

The TX INH line is used to supress RF while switching the tuning circuit in/out.

Connector

  • 8-pin mini DIN connector on radio.
  • 8-pin mini DIN connector on tuner.
  • Cable is straight through (meaning TX D/RX D are swapped in the tuner)
  1. +13V OUT (not fused I’ve heard, so be careful)
  2. TX GND (pulled low by radio on TX)
  3. GND
  4. TX D (5v logic)
  5. RX D (5v logic)
  6. Sense (this is connected to GND in the tuner, most likely for detection)
  7. Reset (this is held high by the radio when on)
  8. TX INH (Tx inhibit, pulled low by tuner to inhibit tx)

Before you connect the tuner you need to select menu 16-15 TUNER SELECT = EXTERNAL, then you need to switch of radio, connect tuner and switchb it on.

Radio detects presence of tuner based on Sense pulled to GND and also tuner sends serial data after being turned on.

Commands as observed

  • Serial is normal UART (idle high 5v) 4800bps 8N1.
  • All commands from radio are 4 bytes, with first byte beeing sent about 50ms before the last 3 (wake up?).
  • Command from radio always begins with 0xff.
  • Frequency is transmitted as 4 bit BCD. Example: 0x0722 = 7.22MHz.
  • Radio turn on tuner disabled:

(200ms) [a0] (800ms) [a1] ff e0 01 00 ff e0 00 01 ff f1 00 00 [a0] [a1]

  • Radio turn on tuner enabled:

(200ms) [a0] (800ms) [a1] ff e0 01 00 ff e0 00 01 ff f0 00 00 [a0] [a1] ff f0 07 16 [a0] [a1]

  • Tuner enable:
  • ff f0 07 06 [a0] [a1]
  • Tuner disable:
  • ff f1 00 00 [a0] [a1]
  • Tuning:

ff f1 00 00 [a0] [a1] ff f2 07 06 [a0] [a1]

  • Seems first tuner is disabled. A carrier is sent to check SWR. Then Tuning starts. Final a1 sent when tuner is finshed. After this a test carrier is sent.
  • Changing VFO frequency to 7.16MHz (example). This is sent for every 10KHz when tuner is engaged.
  • ff f0 07 16 [a0] [a1]
@Jaqueobauer
Copy link

I am wondering how this project is going I have an FC-40 that I plan to use on my Icom 718, and am in the beginning stages of understanding the tuner protocols used by Icom and Yaesu. Perhaps you are far ahead of me, and I can learn from your work.

Regards,,
Jaque

@ast
Copy link
Author

ast commented Apr 6, 2020 via email

@RogueGeek
Copy link

Can you provide any info on how you were able to get the AH4 to work with your Yaesu radio? I have a Yaesu FT450 that I would like to use with an AH-4 that I have.

thanks & 73

@WA2FZW
Copy link

WA2FZW commented Jul 15, 2020

Thanks for this! I'm trying to figure out the communications between a Yaesu FT-891 and the MFJ-939Y tuner which is supposed to emulate the Yaesu tuners, however it doesn't seem to use the "TX INH" lead. This certainly helps!

If anyone can shed more light on my particular configuration, it would me most appreciated!

@ast
Copy link
Author

ast commented Jul 15, 2020

@RogueGeek power to power, key to the 3.5mm LAMP socket and start line to a simple push button. Works well enough. Only problem is that tuner doesn't reset when you tune.

@WA2FZW sorry I have no idea how MFJ-939Y is implemented...

@WA2FZW
Copy link

WA2FZW commented Sep 1, 2020

Well, I got a bit carried away and actually built a little "test box" to monitor the messages going back and forth between the FT-891 and the MFJ-939Y tuner. The original poster stated that the "FF" message is part of the command; it sort of is and sort of isn't! Some other reading on the interweb indicates that it is actually a wake-up call to the tuner (which I can't for the life of me figure out why it's needed).

I can't seem to attach files other than pictures here, but the documentation and software I used are available in the "Files" section on the FT-891 group (you probably have to join to see them). I can also email them to anyone interested; I'm good on QRZ).

@ast
Copy link
Author

ast commented Sep 1, 2020

It's most likely a sync byte to synchronize the uart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment