FT3D Software

FT3D Whiz Software , cheap alternative for convenient programming of either transceiver, with the ability to produce, or edit a MEMORY.dat (channel data save file) that can be copied to the micro SD card used in the transceiver. No special serial data cable is needed, or supported. These programs are written from the ground up, with a custom 2D graphics library, and old-school user interface.

FT3D Software

This documentation covers two Windows programs that allow cable free memory channel programming of the Yaesu FT2D, and FT3D digital handheld transceivers, through the modification of the channel memory file on their micro SD cards.

This software comes with no warranty, and is neither associated with, nor endorsed by Yaesu. Use of this software is entirely at your own risk. The author is not responsible for any damages!

This is donation driven software for private use. It was originally intended to give FT2D Whiz away for free. If you make use of FT3D Whiz, please consider making a PayPal donation toward development. Donators can email for a key file that will unlock some features, and replace the donation text in the banner.

This download package is fine to distribute, so long as the original zip file package content remains unaltered.


The programs are tested with Windows 7 & 10, and run without installation, but will require installation of a Microsoft C++ redistributable runtime library package. One should be included with this download package, or you can download the latest from Microsoft yourself from here:


Your computer’s display resolution must be 1280×800 or better for the fixed size program window to fit the display. Both programs are written, and regularly tested with a decade old laptop to ensure they play well with older PCs.



Make backups of existing Micro SD Card MEMORY.dat, and BACKUP.dat files if they are of value to you. The program needs no installation. You can copy the program folder to somewhere like the Desktop, and copy a valid MEMORY.dat file to the program directory where the executable, and this readme file is found.

For either program, the user supplied MEMORY.dat file may come from an FT2D, or an FT3D transceiver. If a MEMORY.dat file belonging to an FT3D model transceiver is loaded with FT2D Whiz, it will still be saved as an FT2D file. The same applies to FT3D Whiz. You can clone between both models this way, but the FT3D stores a Little more information in it’s MEMORY.dat file than the FT2D does, so some information cab be lost when cross cloning.

The MEMORY.dat file is automatically loaded when the program is launched, and existing channel memories present in the file will be displayed in a table. The table of channel memories can be scrolled with the top two silver Up and Down buttons to the right of the program window. Holding either button down will scroll the table faster.

The scroll bar to the right of the table can also be used with a mouse to scroll the table very quickly. If no MEMORY.dat file is found in the program directory at launch time, the program will create a valid file in it’s buffer, with a single default channel record. Click any editable data field cell with the mouse, and use the keyboard to adjust the value in the selected cell. The user might not prevented from entering invalid values in all cases, so be mindful of what data is edited.

To enter a channel memory name, click on an existing name with the mouse, and the cell border flashes. Next, edit the existing name with your keyboard, and then press the Enter key to write the new name to the buffer. The new cannel name should now be displayed. Channel names can be up to sixteen characters long.

To enter a channel frequency, click a displayed frequency, and enter either seven digits including a decimal point “000.000”, or just six digits “000000”, and the decimal point is inserted automatically. Press the Enter key to set the new frequency, and if it is accepted, the channel record is updated, and the new frequency is displayed.

When a channel frequency is entered, the entire channel memory record in the buffer (except the name), is overwritten with default data for the frequency, including the step setting, and auto repeater offset. Entering a new frequency does not modify the channel record type (Normal, Deleted, Skip, and Select).

Whenever a frequency is entered, the program iterates available frequency step settings for the band, and sets the first step setting that is an even factor of the entered frequency. An entered frequency is rejected (and the current frequency unchanged), when a valid step setting cannot be found.

Frequencies that are rejected should also not be accepted when entered into the transceiver’s keypad. For early versions of this program, and potentially ever after, it won’t be possible to manually select a frequency

step setting for any channel memories, even though the step setting used to derive the frequency is displayed. Some frequency step settings support frequencies that require up to five decimal places to fully display.

In these cases, as with entering a frequency on the transceiver itself, only six digits of a frequency are entered in total, and any extra digits are implied. The extra last two digits will be displayed with a small font on the transceiver’s own display.

To set a repeater offset frequency, click on a cell in the relevant column, and enter a frequency in the format: “-000.00” or “+000.00”. Setting zero as the offset frequency sets the channel record as simplex.

You must still enter a “+” or “-” sign to set zero repeater offset for a simplex channel record this way, or you can use a shortcut, and just press “s”, followed by the Enter key, to set the channel as simplex.

You can set a split frequency with the repeater offset column by setting a frequency in the format: “000.000”.

The selected transmit frequency for split frequency operation must already exist somewhere in your channel memory, and must be a simplex channel. Again, you can enter, or skip the decimal point, or use “P,M,p,m,N,n” (Positive, Negative, Minus) as substitutes for “+” and “-” signs in repeater offsets.

All other cells in a row, to the right of the repeater offset column are modified by selecting the cell with the mouse, and using the keyboard up and down arrow keys to cycle the options, which modifies the memory file buffer in real time. Deselect these cells by pressing enter, or clicking the same, or another cell with the mouse. The data in these cells is not sanity checked by the program, so be sure you are producing valid combinations of data pertaining to the particular frequency you have set for the channel.

Some channel memory data could appear deceptive. For example, a transmit power level value is displayed for every channel memory, even if the frequency is in a band where the transceiver can’t transmit. This is simply because the data field always contains a valid value as it is read from the user supplied channel memory file.

When any cell is selected, the Tab key will select the cell to the right of the currently selected cell, and wrap around to the beginning of the next row. Similarly, holding the Shift key while pressing Tab selects the cell left of the currently selected cell. Pressing the Esc key deselects any selected cell. The Home, End, Page Up, and Page Down keys are all supported, and work as expected in a typical table or spreadsheet view.

Selection of a far left cell, which has the channel record number printed in yellow, provides a method for editing the channel type. If the channel is of a known type, it can be cycled between four known types. These types are:

Skipped, Select, Normal, and Deleted. Use the up or down arrow keys on the keyboard to cycle through these values.

Because this value is not permanently labelled for display, a colour bar is displayed next to each channel number.

The colour of the bar indicates the channel type. These are defined as:

Blue (Skipped), Green (Select), Grey (Normal) , Red (Deleted), Violet (Unknown Type, and cannot be modified by the program). There may or not be any other unknown channel record types, but the binary values for the currently supported types are not consecutive. Clicking on the record number cell for an unknown channel type will cause the channel type value to be displayed, so a new type could be reported, and might be supported in a program update.

The silver buttons to the right labelled “ADD” and “DEL” can add a new record to the end of the list, and delete a record from the end of the list respectively. If a new record is created, it defaults to a valid entry for the AM Broadcast band, with a default channel name, and must be edited from there.

The ADD, DEL, and SAVE buttons are disabled while a cell is selected. UP and DOWN buttons cancel selection. As of V11 of both programs, an expanded table view has been introduced, and is accessed with a new on-screen button.

The “PAGE” button toggles between two horizontal pages. The new table page displays new columns for information that has previously only been accessible with keyboard commands. All data is now as easy to modify as the data in the original page. For FT3D Whiz, the new table page is only viewable for users with a donator’s key file.

The new table page displays, and provides a mechanism for easy modification of: DG-IDs for Rx and Tx (FT3D only), S-Meter Squelch setting, Clock Shift setting, Half Deviation (bandwidth) setting, and the channel membership of every channel bank from bank 1 to bank 24. These columns are all modified in a similar fashion as the original table page, using either keyboard entry, followed by the Enter key, or the keyboard up and down arrows to select a new value.

When entering new DG-IDs through the new table page, the input is five characters of the format: “00/00”, where the first value is DG-ID (Receive), and the second value is DG-ID (Transmit) for the channel. You can also skip the backslash character, and just enter four numbers in the format: “0000”, and the backslash will automatically be added.

When the new table page is unlocked, functionality of the keyboard Tab, and Shift+Tab key inputs are changed to treat both table pages as one continuous table. Table pages automatically toggle as needed to navigate horizontal rows.

The exclusion of the new table page will remain the primary way that FT3D whiz is crippled without a key file. Most of it’s functionality is still available through the use of keyboard commands, although not visibly.

When you are satisfied that channel memory data has been entered correctly, clicking the “SAVE” button at the bottom right of the program’s window will save the new MEMORY.dat file (overwriting the original), and then cause the program to automatically exit. The “ABORT” button at the bottom right of the program window will cause the program to exit without saving the file, and data entered for the session is lost.


Some supported channel memory attributes did not originally appear in a table view, so access to modify values for attributes such as: Half Deviation (bandwidth), Clock Shift, and S-Meter Squelch, was originally provided through the use of special keyboard command codes entered as a channel name. These command codes can be accessed by pressing the keyboard Up and Down arrows while a channel name is selected. This action will pre-fill a command into the edit buffer for the name cell, and cycle through the available command codes each time a keyboard Up/Down arrow is pressed.

Pressing Enter on the keyboard will apply the currently displayed command for the selected channel memory, without modifying the original channel memory name. You can also edit the pre-filled numeric values in most commands before entering them. Commands to write new values for DG-IDs are supported only for FT3D Whiz, and only for donators with a key file. Remember that entering a frequency for a channel memory overwrites these settings with defaults, so it is important to use most keyboard commands only after a frequency has been entered for a new channel memory.

Even if you have a donator’s key file for FT3D Whiz, there are some keyboard command codes that add functionality.

The following commands modify channel memory data, or channel bank data:


&squelch-0          (sets S-Meter squelch for the currently selected channel to input value 0, which is off, to 10)

&squelch-0-all      (sets S-Meter squelch for every channel in the memory file to input value 0, which is off, or 1)

&clockshift-a       (sets clockshift option A for the currently selected channel)

&clockshift-b       (sets clockshift option B for the currently selected channel)

&hdeviation-0       (sets half deviation off for the currently selected channel)

&hdeviation-1       (sets half deviation on for the currently selected channel)

&txpwr-hi-all       (sets transmit RF power to maximum for every channel in the memory file)

&name-0-all         (erases the channel name for every channel in the memory file)

&erasebank-all      (erases channel bank data for all 24 channel banks in the memory file)

&erasebank-1        (erases all data in any single channel bank 1-24)

&erasebanks-chan    (erases every instance of the currently selected channel from all channel banks)

&addchanbank-1      (adds the currently selected channel to input memory bank 1-24 if there is space)

&swapchan-2         (swaps the currently selected channel with an input channel, including bank membership)

&swapcheb-2         (swaps the currently selected channel with an input channel, and erases bank membership)

The following commands are supported for the FT3D model only, and only available with a donator’s key file:

&dgidrxtx-00-00     (set the DG-ID Rx and DG-ID Tx values 00-99, 00-99 for the currently selected channel)

&dgidrx-00          (set the DG-ID Rx value 00-99 for the currently selected channel)

&dgidtx-00          (set the DG-ID Tx value 00-99 for the currently selected channel)


* The two global squelch keyboard commands support zero and one input only, and apply a setting to all channels.

* The swap channel command swaps the currently selected channel with another channel entered in with the command.

This command is automatically aborted if either channel memory location being swapped is the first channel, or if the channel input with the command is higher than the total number of channels in the table, or if the selected channel and the input channel are both the same. A future program update could potentially ensure both channels are swapped into their counterpart’s original positions within channel banks.


The appearance or functionality of the user interface can be changed by entering some special keyboard command codes. These codes are also entered as a channel name, just like the functional command codes that modify channel data.

User interface command codes don’t disappear once they are entered, and the channel is actually renamed as the command. This is to make it easy to click enter on the command again to reverse, or repeat the command. Once changes have been made, the channel must be manually renamed back to your desired channel memory name.

The following commands make changes that are saved to the configuration file if data is saved for the session:

!ftstyle             (toggles a theme based on FT3D display colours)

!truecga             (toggles a vintage true CGA colour theme)

!sinfrequency        (toggles the frequency of the title banner sine wave)

!setfire             (toggles the title banner between plasma and fire)

!crossbar            (toggles the table view cross bar for visibility of selected cells)

!nameedit            (toggles between editing existing channel names, or selection clears a name)

!framerate           (toggles between 100/60 FPS frame rate limiter for older computers)

!debug               (toggles display of frame counter, and disables some graphic effects)


The following commands make interface changes that are not reversible, and are lost whenever the program exits:

!rainbow             (generates a new colour palette for the original colour theme)

!monochromatic       (averages generated colours to display in grey scale)



Please contact me if you have made a donation, but have not received a key file for unlocking extra functionality!

These programs do not yet access the last 99 skip memory locations for either model transceiver it supports. Testing for these programs was done with Yaesu FT2DR, and FT3DR transceivers, both sold in Australia.

Regional firmware may have some variations in their automatic repeater shift, band edges, or default modes. It’s up to you to sanity check your own data.


PayPal donation to support development may be made using the address displayed in the program banner: bmar8190_bigpond.net.au. I cannot be contacted with the above email address. It’s no longer used for anything other than PayPal.

For contact email use: bushprogrammer_gmail.com. I may answer appropriate email sent to this address.



Download the latest versions of FT2D Whiz & FT3D Whiz programs here: art.hunteranalytics.com

It's only fair to share...Tweet about this on Twitter
Share on Facebook
Share on Reddit
Share on LinkedIn