The KA7OEI FT-817
pagesCAT (tm) Interface Programming
using the FT-817

Updated on 28 January, 2002

A Front-panel view of my FT-817.

Note:

For a program that utilizes the CAT commands (both documented
and
undocumented) to a very large extent, look at HB9DRV's FT-817 Commander
program - see the link below.

Note: The EEPROM memory map has been moved to a seperate
page - refer to the link near the bottom of the page.

Important notice: This document details
aspects of CAT interface commands that are specific to the FT-817.
Furthermore, some of these parameters (specifically memory locations) may
be pertinent only to the version of the software in my radio and
may not apply to other software versions! Finally, careless use of
these commands may result in an unusable radio, requiring complete
recalibration! You have been warned!

Comment: The Japanese domestic version of the FT-817
apparently has a different CPU which is "hardcoded" to limit its
frequency coverage. It would be interesting to know if the EEPROM
addresses below are the same for this (and other) versions.

Note:For reference, the first
four characters of the serial number on my '817 are: 1D21

Most modern HF transceivers are capable of remote control via the serial
interface (called the CAT interface by Yaesu) and the FT-817
is no exception. Ideally, it should be possible to glean enough information
to do everything remotely that it is possible to do from the radio's front
panel. Unfortunately, this isn't always the case: Almost inevitably,
some minor feature or piece of information is omitted and a "remote simulation"
just is not possible.

"Why is this page here?"

The simple answer: Because the '817 has a serial port.

It occurred to me that there must be a few undocumented
commands in the interface protocol to allow Yaesu to perform a semi-automated
calibration of the radio, so I began to poke around in the interface.
After a few minutes, I was able to discern the presence of several heretofore
undocumented commands. Soon after this (and after throwing together
some "sniffer" software) I was accumulating a large pile of notes as to
which address did what.

The real reason why I did this was to be able to interface
the '817 to a computer to do some field strength measurements (documented
here)
- and I needed the '817 to do more than it could "officially" do.

Since I was already documenting this information, I decided to make
this information available to others who might want to use it.

Such is the case of the FT-817: While it is possible to perform
most functions (such as setting frequency and mode) and display a few of
the displayed parameters (such as the S-meter,) while the status of a few
other items (such as attenuator, AGC, preamplifier, and transmitter power
settings, to name a few) does not seem to be available via the interface.

Not with documented commands, anyway...

As it turns out, there are a number of very powerful undocumented
commands specific to the FT-817 that allow access to most of this sort
of data - both to read and change this data - but more on this later. These
commands are no doubt what allows Yaesu to have an automated test
fixture for most calibration points in the radio.

The FT-817's command structure consists of a 5 byte command. It
is sent at the baud rate specified in menu item 14. The format is
8 data bits, no parity, 1 start bit, and 2 stop bits. The command
sent to the FT-817 is formatted as follows:

[Data 1][Data 2][Data 3][Data 4][Command]

Note: It is specified in the manual that these 5 bytes
are to be sent in quick succession - within 200 milliseconds of each other.
Experimentation reveals, however, that this would be too slow - it is more
likely that all 5 bytes must be sent within a 200 millisecond
period.

Not all commands "look" at all 4 data bytes, but in all cases, all 4
bytes must be sent. On those commands where not all
4 data bytes are required, those unused bytes may contain anything.

Note: The initial version of the FT-817 Operating
Manual has the labeling of the format of the TX and RX status swapped on
page 73.

The command set is as follows in (the commands are in numerical order.)
The bytes designated with X may contain any data:

CommandDescription

DataByte1

DataByte2

DataByte3

DataByte4

Command(in HEX)

Remarks

Lock On

X

X

X

X

00

This command is equivalent to turning the dial/panel lock on.
This precise effect of this setting depends on the state of submenu item
#32 (stored at memory location 5E HEX - see below.)

This command completely resets all configuration settings
and factory calibration parameters to their factory (pre-alignment)
values as well as erasing all channel memories. Be very careful -
be very very careful when using this command! (See below)

This command sets the magnitude of the repeater offset. It may
range from 0 to 99.99 MHz (see below)

Note: An asterisk (*) in the Notes column indicates
that further study of that particular command is warranted, as its specific
format may be unclear and/or it may do more than is immediately apparent.

"Below"

Command 01 - Set frequency: The current frequency is set using
4 BCD bytes. To set a frequency such as 435.12345 MHz, data bytes
1-4 would be [43][51][23][45] followed by the the set frequency command
[01]

Command 07 - Set operation mode:00 - LSB, 01
- USB, 02 - CW, 03 - CWR, 04 - AM, 08 - FM,
0A - DIG, 0C - PKT. Note: Setting other
than one of the listed modes can "crash" the FT-817, necessitating removal
of power. Note that the WFM mode (08) cannot be set using this
command, rather that the mode is implicit when selecting the frequency
in the range correlating with the FM broadcast band (i.e. 76-108 MHz.)

Command 0B - Set CTCSS Tone Frequency: Bytes 1 and 2 contain
the tone frequency in BCD format. For a frequency of 192.8, the two
bytes would be [19][28]. Note: This format needs to be verified.

Command 0C - Set DCS Code: Bytes 1 and 2 contain the DCS code
in BCD format. For a DCS code of 546, the two bytes would be [05][46].
Note:
This format needs to be verified.

Command 8F - Turn Off FT-817: Note that when this command
is used, the CPU remains active in order to be able to detect the "On"
command (0F) and a small amount of current is continuously drawn it should
be used with caution when operating the FT-817 from via the rear power
connector as noted several times below:

That the FT-817 will respond to some commands after the OFF command
is executed and the '817 is powered from the rear power connector.

Repeatedly sending the OFF command will cause the FT-817 to send
a string of unknown data - only if the '817 is powered from the rear power
connector.

When this command is executed using internal batteries the '817
will shut completely down and will not respond to an ON
command. If, after an OFF command was sent with the '817 operating
on internal batteries, the configuration is changed such that power is
supplied via the rear connector, the '817 will begin to consume 10 milliamps
when off (having been shut off with the OFF command) and it will
respond to the ON command.

Note that even if the OFF command was used, the '817 will not
consume 10 milliamps when off if running on internal batteries
only. (Remember, again, that the ON command won't work when
on internal batteries.)

When this command is executed using with power supplied at the rear power
connector the current consumption will be approximately 10 milliamps, depending
on battery voltage.

Command A7 - Radio Configuration: This command causes a 9
bytes to be sent by the FT-817. The purpose of some of these bytes
is unknown, but several of them appear to indicate the configuration of
J4001-J4009. The purposes of this data (starting with the first byte)
as far as known, is as follows:

Command BA - Unknown Status?: This command causes one byte
to be returned. Preliminary investigations have shown that this only
returns a 00. Further investigation should be carried out, possibly
with different data in bytes 1-4.

Command BB - Read EEPROM Data: The FT-817 uses an 64 kbit
(8 Kbyte) EEPROM to store internal configuration and memories and most
bytes in this EEPROM may be read with this command, 2 bytes at a time.
The address to be read is a 16 bit address with the upper 8 bits in the
first byte and the lower 8 bits in the second byte. The first of
the two bytes to be returned contains the data at the address in bytes
1 and 2 while the second of the two bytes returns the data at the next
address up from that specified. Addresses from 0 to 1925 (HEX) (just
over 6.25k bytes) are valid and attempts to retrieve addresses out of this
range appear to return one byte - a zero. Currently
known EEPROM data and addresses are detailed below. (Note:
I received information from someone who actually read the EEPROM with an
outboard programmer, and he reports that the EEPROM contained nothing in
the addresses above 1925 HEX.)

Command BC - Write EEPROM Data: The first two bytes specify
the EEPROM address to be written (in the same format as the Read EEPROM
Data command above) while the third byte contains the data to be written
at that address, and the forth byte contains the data to be written at
the next address up from that specified. Because this
command writes two bytes to EEPROM, the user must know what
should be written to both addresses. Note that careless
use of this command can cause the FT-817's CPU to crash and/or cause a
complete wipe of all EEPROM data including configuration, software
calibration/alignment, and memories - the effect being similar to that
of the "Reset to Factory Defaults" command (below!) If you insist
on using this command without first recording the 76 "soft calibration"
settings and noting what is in your radio's memories, you are an idiot!
(Am I clear on this point?) A reset of this type can occur
if you carelessly write to adresses 0-3 of the EEPROM.

Command BD - Read TX Metering: This command returns one byte
(always 00) when the FT-817 is in receive mode (and should thus be ignored)
but it returns two bytes (each containing two BCD digits)
when it is transmitting. The first byte contains the current status
of the PWR and VSWR meters (upper and lower 4 bits respectively) while
the second byte contains the current status of the ALC and MOD meters (upper
and lower 4 bits respectively.)

Command BE - Reset to Factory Defaults:Note that this
command completely resets all configuration settings and
factory calibration parameters to their factory (pre-alignment)
values as well as erasing all channel memories. This may even
require that you send the radio back to Yaesu if you didn't note all calibration
settings! If you insist on using this command, it is strongly
recommended that you record each of the 76 factory calibration
settings in the alignment menu. You have been warned!!!
If you insist on using this command without first recording the
76 "soft calibration" values as well as recording what is in your radio's
memories, you get what you deserve (i.e. a poorly-calibrated radio with
empty memories...)

Command E7 - Read Receiver Status: This command returns one
byte. Its contents are valid only when the '817 is in receive
mode and it should be ignored when transmitting.

The lower 4 bits (0-3) of this byte indicate the current S-meter reading.
00 refers to an S-Zero reading, 04 = S4, 09 = S9, 0A = "10 over," 0B =
"20 over" and so on up to 0F.

Bit 4 contains no useful information.

Bit 5 is 0 in non-FM modes, and it is 0 if the discriminator is centered
(within 3.5 KHz for standard FM) when in the FM, FMN, or PKT modes, and
1 if the receiver is off-frequency.

Bit 6 is 0 if the CTCSS or DCS is turned off (or in a mode where it is
not available.) It is also 0 if there is a signal being receive and
the correct CTCSS tone or DCS code is being decoded. It is 1 if there
is a signal and the CTCSS/DCS decoding is enable, but the wrong CTCSS tone,
DCS code, or no CTCSS/DCS is present.

Bit 7 is 0 if there is a signal present, or 1 if the receiver is squelched.

Command F5 - Set Clarifier Frequency: This command sets the
clarifier (a.k.a. RIT) parameters (but it does not turn it on or off.)
The data to be sent is as follows:

Bytes 3 and 4: These are BCD bytes containing the 10 and 1 KHz digits
(in byte 3) and 100 and 10 Hz digits (in byte 4.) For setting a clarifier
offset frequency of 9.87 Khz (negative) these bytes would be [01][00][09][87],
with the last byte being [F5] of course.

Command F7 - Read Transmitter Status: This command returns
one byte containing the current transmitter status. This data
is invalid when the radio is in receive mode. This data is as
follows:

The lower 4 bits (0-3) of this byte contain the current "Power Output"
reading, regardless of the display meter setting.

Bit 4 contains no known useful information.

Bit 5 is 0 if the SPLIT mode is on, 1 if the SPLIT mode is off. This
appears to reflect the current status of the split mode only when in transmit.

Bit 6 is 0 if the SWR is acceptably low, and 1 if it is too high. Note:
Investigation is warranted to determine how this SWR status correlates
with the reading obtained using the Read TX Metering command (above.)

Bit 7 indicates the current PTT status: 0 = Unkeyed, 1 = Keyed

"Won't I wear out my EEPROM?"

The '817 uses an EEPROM to store nonvolatile data. This means that every
time you change a setting or a band, updated information is written to
the EEPROM.

As it turns out, EEPROMs have a limited number of "write" cycles before
they literally "wear out." Typically, the lifetime is 1 million writes.
Under "good" conditions, however (i.e. normal room temperature, normal
voltage conditions) typical EEPROMs will withstand 10 million or more writes
before they start to fail... According to the manufacturer, at least...

What does this mean, then?

For 1 million writes to occur, you would have to do the same thing to
cause a write to the same address, once per second for 11 days: You
are likely to wear out the button before you wear out the EEPROM.
Since the lifetime of the EEPROM in the typical '817 is likely to be closer
to 10 million writes, the actual figure is likely to be more like 4 months
of constant rewriting.

A computer, however, won't get tired as easily. If your program
does 10 writes per second, you may want to reconsider how it operates if
you are concerned about the EEPROM's lifetime: Do the math!

Additional notes:

No checksum is used on any of the data, so it is impossible to be
absolutely certain that the data read back (or transmitted to the FT-817)
is absolutely correct. For certain potentially "dangerous" commands
(such as EEPROM Write) remember that two bytes must
be written: The byte at the address that you wish to change, and
the byte at that address plus one. Additionally, when modifying single
bits at an specific address, one must know what the data was prior to modification.
This
requires that both bytes be read prior to writing them.
It is strongly recommended that before writing any EEPROM
data, you read the two potentially affected bytes several times
to make absolutely certain that they are correct. Keep in mind that
it is possible to completely blow away the radio's memories and configuration
(including "software calibration" parameters) with the EEPROM write command!

When the radio is "busy" (i.e. changing modes, bands, writing memories,
someone is pushing buttons, etc.) it can occasionally "miss" a command
or corrupt the transmitted data. When querying the radio one should
be aware of this and be prepared to re-read the data. When sending
a command that involves the radio changing its configuration, it is a good
idea to wait a couple of hundred milliseconds before sending another command.
This is particularly true of commands that involve several bytes of data
- such as reading the receive frequency and mode. It is always a
good idea to read the status of the radio back (after having modified it)
to make certain that the changes "stick."

If your computer program is keeping the serial port very "busy" (i.e. requesting
a lot of data) the radio may respond to commands sluggishly, or it may
even miss certain button presses entirely. To be fair, you must really
keep the radio busy to cause this.

I have noticed that the FT-817 will occasionally stop responding to serial
port commands when the LOCK function has been enabled from the front
panel. Power-cycling the radio will restore communications.
I have not determined if this will also happen if the LOCK was software
commanded, or if pressing the LOCK button (to unlock the radio)
will restore communications.

Some commands (such as frequency entry) may take a few 10's of milliseconds
to take effect, so be prepared to simply wait for the radio to finish.

The EEPROM Memory Map:

All of the nonvolatile parameters in the FT-817 are stored in the EEPROM
(which is why there is no lithium battery in it). The content of
all of the memory locations is yet to be determined (and probably can never
be) but a few that are known for certain are listed below. For
a list of EEPROM memory locations listed in address order, go to the Memory
Map page.

The "factory calibration settings" (i.e. those obtained by pressing
the A, B, and C keys while powering up the radio - and these parameters
are variously referred to as "soft calibration settings" and the like)
are stored in EEPROM. Addresses 7 through 82 correlate with menu
items 1 through 76 (i.e. add 6 to the menu item to calculate the EEPROM
address.) Most of these parameters range from 0-255 - a parameter
which correlates directly with the value stored in memory. A few
known exceptions are as follows:

Menu item 17 (VCC calibration) contains a representation of the voltage
present at the moment that item was selected in the "Soft Calibration"
menu. The actual calibration value is stored in memory location
53 (HEX.)

Menu items 75 and 76 (LSB and USB CP) This is represented by a signed
digit, with the MSB (highest bit) representing a negative number when it
is set. In this way a 1 = 1, and FF (hex) = -1.

Writing new values immediately affects the specified parameter.
That is, they take effect immediately! In the case of VFOs and memories,
however, you won't see any effect until you select that VFO/Band/Memory
combination that you have written.

Note: It is imperative that you record the value of all
76 "factory calibration settings" prior to messing with them! Failure
to do so may result in a poorly-functioning radio that needs to be sent
back for recalibration!

Additionally, many of the selectable menu items are stored in EEPROM
as well. When these values are written/updated, the change is immediate.
These are stored as follows. Note - These locations are
believed to be correct, but since there are so many, I may have made a
mistake. Let me know if you find some errors:

0 = Off, 1 = On
Note: The "Phantom" band is that "extra" HF band that exists
to allow tuning outside of amateur bands.
Note that bits are allocated for this function even on bands where
they are not used.

NAR On/Off
(FM, FMN Mode)

Same addresses as NAR On/Off - CW Mode (above)

3

0 = Off, 1 = On

SPL On/Off

7A

7

0 = Off, 1 = On

RPT Offset

Same addresses as NAR On/Off - CW Mode (above)

7-6

0 = Simplex, 01 = Minus, 10 = Plus, 11 = Nonstandard Split

Submenu Memory Locations:

Menu #(Description)

ByteAddress(HEX)

Bit(s)used(7-0)

Remarks (bit status)

1 - 144 ARS

5F

6

0 = ARS off, 1 = on

2 - 430 ARS

5F

5

0 = ARS off, 1 = on

3 - 9600 Mic (0-100)

6C

6-0

Contains 0-100 (decimal) as displayed

4 - Disable AM/FM Dial

63

7

0 = enable, 1 = disable

5 - AM Mic (0-100)

68

6-0

Contains 0-100 (decimal) as displayed

6 - AM Step

Base address + 3

Refer to VFO Memory record format (farther down the page)

5-3

000 = 2.5 KHz, 001 = 5 KHz, 010 = 9 KHz, 011 = 10 KHz, 100 = 12.5 KHz,
101 = 25 KHz
Note: The "Phantom" band is that "extra" HF band that exists
to allow tuning outside of amateur bands.
Note that bits are allocated for this function even on bands where
they are not used.

7 - Front/Rear Antenna

7A

0 - HF
1 - 6m
2 - FM
3 - Air
4 - 2m
5 - UHF

0 = Front, 1 = Rear antenna

(Note: Different "bands" are stored in different bit
locations as noted.)

From 0 to 67 (hex) with 0 = DCS code 023 and 67 (hex) = DCS code 754
Note: The "Phantom" band is that "extra" HF band that exists
to allow tuning outside of amateur bands.
Note that bits are allocated for this function even on bands where
they are not used.

A 24 bit number from with each count respresenting a 10 Hz step
(i.e. 10 Hz = 1, 10 KHz = 1000) representing up to a 99.99 MHz shift.
Note: The "Phantom" band is that "extra" HF band that exists
to allow tuning outside of amateur bands.
Note that bits are allocated for this function even on bands where
they are not used.

43 - Scope

5D

3

0 = Cont, 1 = Chk

44 - Sidetone

61

6-0

Contains 0-100 (decimal) as displayed

45 - Sql/RF-G

5F

7

0 = RF-Gain, 1 = Squelch

46 - SSB Mic

67

6-0

Contains 0-100 (decimal) as displayed

47 - SSB Step

Base address + 3

Refer to VFO Memory record format (farther down the page)

7-6

00 = 1 KHz, 01 = 2.5 KHz, 10 = 5 KHz
Note that bits are allocated for this function even on bands where
they are not used.

48 - Tone Freq

Base address + 6

Refer to VFO Memory record format (farther down the page)

4-0

Contains 0-31 with 0 = 67.0 Hz and 31 = 254.1 Hz representing each
of the standard 32 CTCSS tones.
Note: The "Phantom" band is that "extra" HF band that exists
to allow tuning outside of amateur bands.
Note that bits are allocated for this function even on bands where
they are not used.

"Current" Memory Channel saved in EEPROM. This is the memory
channel that will be "remembered" when the radio is powered-up next time
- This is not necessarily the current memory.

44F

(all)

0 = Memory 1, C7 (HEX) = Memory 200, M-PL = C8, M-PU = C9

Radio "version" configuration

4-5

(all)

These two bytes contain the configuration of jumpers J4001-J4009.
These bytes do not contain the bits relating to these jumpers directly,
but some sort of calculated number indicating jumper configuration.
Known configurations are as follows:
J4005-J4009 jumpered: 0xD8, 0xBF

EEPROM integrity "checksums"

0-3

(all)

When a "hard reset" is done, these addresses contain something akin
to a checksum. If the contents of these addresses is disturbed,
the CPU will do a complete initialization of the EEPROM, erasing all configuration,
"soft calibration" values, and memories. You have been warned!

VFO Memory Record Format (Preliminary):

VFO Memory records:

For a list of EEPROM memory locations listed in address order, go to
the Memory Map
page.

The first "VFO" memory record is at 7D (HEX) with the first 15 VFO A memories
followed by the 15 VFO B memories, seperated by 26 bytes.

Each record is 26 bytes long. There are 15 "bands" for each VFO (A
and B) as follows:

Phantom (This is an extra "HF" band to allow tuning outside an HF amateur
band)

Again, the "base addresses" of the VFO memory records may be found on theMemory
Map page.

"MTQMB" "VFO memory" may be found at 40B (HEX)

MTUNE "VFO memory" may be found at 425 (HEX). This memory seems to
be "transient" - usually the "working" value is that of the associated
VFOA/B and band combination.

Note that the "tuning memories" (i.e. MTUNE, MTQMB) seem to follow the
VFO Memory Record Format (see tabe below) rather than the Memory Record
format above.

Important: Do not write frequency information to the currently-selected
VFO. Because changes take effect immediately, whilst
you are writing the new frequency - one or two bytes at a time, it may
- for an instant - be an invalid frequency for that VFO/band combination.
At this instant, the '817 may see it as invalid and overwrite it with a
default frequency. To update a VFO memory record with any
information, it is suggested that you switch to a different VFO while you
do it. Use bit 0 at 0x55 to determine/change which VFO you are using
before writing to it.

The RIT offset is stored as a signed number in two bytes ranging from
-999 to 999 representing -9.99 to +9.99 KHz offset. The MSB (with
the sign) is stored in the lower byte (8) and the LSB is in the upper byte
(9.)

RX Frequency

A-D

(all)

Frequency is stored in a binary format with the MSB in the lower byte
(A) and the LSB in the upper byte (D)
Example: A value of 02 97 F2 19 (HEX) translates to 43512345
(decimal) and thus a display frequency of 435.12345 MHz.

For a list of EEPROM memory locations listed in address order, go to
the Memory Map
page.

Memory 1 begins at 484 (HEX) and each memory contains 26 bytes. There
are 202 memories - 200 memories plus "M-PL" and "M-PU". To find the
address of a memory, us the following procedure:

The base address of the desired memory may be calculated by taking the
memory number, subtracting one, multiplying by 1A (HEX) and then adding
484 (HEX.) Refer to the chart below for the offset to the desired
information.

There are 4 "HOME" memories:

HF: 389 (HEX)

6 M: 3A3

2 M: 3BD

UHF: 3D7

"QMB" Memory may be found at 3F1 (HEX)

Important: Do not write information to the currently-selected
Memory. Because changes take effect immediately,
whilst you are writing the new frequency - one or two bytes at a time,
it may - for an instant - be an invalid frequency
for that VFO/band combination. At this instant, the '817 may see
it as invalid and overwrite it with a default frequency. When modifying
a memory, it is best two switch to VFO mode, as there is no known way
to accurately determine which memory us currently in use.

Note that the "tuning memories" (i.e. MTUNE, MTQMB) seem to follow the
VFO Memory Record Format (see below) rather than the Memory Record format.

The RIT offset is stored as a signed number in two bytes ranging from
-999 to 999 representing -9.99 to +9.99 KHz offset. The MSB (with
the sign) is stored in the lower byte (8) and the LSB is in the upper byte
(9.)

RX Frequency

A-D

(all)

Frequency is stored in a binary format with the MSB in the lower byte
(A) and the LSB in the upper byte (D)
Example: A value of 02 97 F2 19 (HEX) translates to 43512345
(decimal) and thus a display frequency of 435.12345 MHz.

TX Frequency OR Repeater offset

E-11

(all)

When a nonstandard split is used, these bytes contain the transmit
frequency in the same format as above.
When a standard (or no) offset is used, these bytes contain the offset
specified in menu item #42 in that same format in bytes F-11 (HEX).
(Refer to RPT Offset - bits 7-6 in byte 1 of the memory record)

Label

12-19

(all)

8 ASCII Character label. Unused memories contain 0xff.

Notes:

There are a few parameters that aren't used in all instances. Case
in point: Memory locations are reserved for AM step size even in
the FM BCB, even though AM mode is not possible. Other instances
are bits for the setting of IPO and ATT status on bands above 6 meters.
These bits have no effect.

Various parameters may be stored in several places for different bands
and it is believed that most of these parameters are represented.

Setting values outside the specified ranges may have unpredictable results.

If you determined that any of the above data is incorrect or incomplete
(very likely...) please let me know.

Those entries marked with an asterisk (*) are suspect in their function
- further investigation is warranted.

Attempts to write frequencies into memory that are invalid will result
in that memory's content being set to a default value (e.g. 7.00000 MHz,
LSB for HF, etc.)

All entries in an unused (blank) memory contain FF (HEX)

Attempts to change to a memory containing no information will result in
memory 1 being selected instead.

Frequency ranges are as follows:

HF: 33 MHz and below

6 M: From 33 MHz to 56 MHz

FM-BCB: 76-108 MHz

Air: 108-137 MHz

2 M: 137-154 MHz

UHF: 420-470 MHz

For an EEPROM Memory Map of the FT-817, go to the EEPROM
Memory Map page. This list shows known
EEPROM addresses in ascending order.

To be included in the future:

How the CLONE mode works? It should be pointed out that with the
above information, using the CLONE mode with a computer is really pointless!
Nevertheless, maybe I'll figure out the format some day...

Wish list:

I'm looking for a command that can "peek" at various internal CPU parameters,
such as RAM locations, etc. I have yet to find a way to do this.

It would be nice to be able to directly read the "raw" A/D converter values
for things like RF power (forward and reverse) as well as voltage, PA current,
and the S-meter with better than 4 bit resolution. Again, I have
yet to find a way to do this.

Miscellany:

The CLONE mode always operates at 9600 baud, no matter what the interface
baud rate is set to.

Note: The PBT (IF Shift) does NOT appear to be stored in EEPROM memory
and there does not appear to be any sort of command available to change/read
it.

It does not appear to be possible to read the voltmeter via the serial
port.

Known Issues (as of 28 January, 2002):

Bits that control/switch various VFO and Memory modes are not well documented.
The truth table/logic of their operation needs to be further examined.

The memory location containing the bits showing which memories are used/erased
is known, but yet to be documented here.

There is no known way to tell which memory is currently selected.
Memory 0x44F only tells which memory will be selected when the radio powers
up next time (i.e. it is updated when the radio is powered down.)

The setting of menu item #31 (The CW ID) doesn't seem to be stored anywhere
in the EEPROM - it was not to be found even in an EEPROM read via an outboard
programmer. It is possible that this is stored in an available on-CPU
EEPROM.

Work continues on this page - please
revisit soon!

Note: CAT (in this context) is a trademark
of Yaesu/Vertex Standard Co. Ltd.

Notice: The information contained on this and related
pages is believed to be accurate, but no guarantees are expressed or implied.
The information on this and related pages should be considered to be "as-is"
and the user is completely responsible for the way this information is
used. If you find information that you believe to be incorrect,
or if you discover something new, please report it via
email.

The
Yahoo FT-817 Commander E-group - Simon Brown, HB9DRV, has written
an excellent program that allows you to remotely-control your FT-817,
manage memories, modify and save radio configuration, provide access to
the DX cluster network, do some fancy scanning, and much more! You
must be a member of this group to read the messages and/or download files,
but membership is free. Simon is still working on his web page.
A recent version (Build 128) may be downloaded by clicking on this
link. This program is freeware!