Skip to content
N4LLZ

FT8, End to End

A complete FT8 setup: cabling, rig settings, WSJT-X configuration, the time-sync problem nobody warns you about, and how to not be the station everyone mutes.

DigitalBeginner12 minUpdated

FT8 is the most-used mode on HF, and the reason is straightforward: it completes a contact in about ninety seconds, decodes signals roughly 20 dB below what your ear can pull out of the noise, and works reliably on 25 watts into a wire on a band that sounds empty.

It is also the mode with the most setup friction. Nearly all of that friction is in three places — audio routing, CAT control, and your computer’s clock. Get those right and everything else is a checkbox.

How a contact works

FT8 runs on a strict 15-second clock. Transmissions begin exactly at :00, :15, :30 and :45 past each minute, last about 12.6 seconds, and carry 75 bits of payload in roughly 50 Hz of bandwidth. Everyone on the band is synchronised to the same grid, which is why the timing requirement is absolute.

A complete exchange is six transmissions, alternating between you and the other station:

CQ N4LLZ EM66          ← you call, with your 4-character grid
N4LLZ W1ABC FN42       ← they answer, with theirs
W1ABC N4LLZ -09        ← you send a signal report, in dB
N4LLZ W1ABC R-14       ← they confirm and send theirs
W1ABC N4LLZ RR73       ← you acknowledge and sign
N4LLZ W1ABC 73         ← they sign

Ninety seconds, both call signs confirmed both ways, both grids exchanged, both signal reports exchanged. The report is signal-to-noise ratio in dB referenced to a 2500 Hz bandwidth — negative numbers are normal and expected. Anything from −24 to +10 is a real decode, and −15 is a perfectly ordinary contact.

Connect the radio

Modern radios with a built-in USB sound card — the IC-7300, IC-705, FT-891, FT-710, G90 and many others — need one USB cable, carrying audio and CAT control together. Older radios need a separate interface, historically a SignaLink or a homebrew isolated interface.

For a single-cable rig:

  1. Install the USB serial driver if your operating system needs one. Silicon Labs CP210x drivers cover most Icom radios; FTDI covers most Yaesu. Current Linux and macOS generally need nothing.
  2. Plug the radio in and confirm two things appeared: a serial port (COM3, /dev/ttyUSB0, /dev/tty.SLAB_USBtoUART) and a sound device named after the radio.
  3. Note both. You will need them in a moment.

Rig settings that matter

  • Use the data mode, not plain USB. USB-D on Icom, DATA-U on Yaesu. This routes audio from USB instead of the microphone and bypasses the speech compressor and mic equalisation, which would otherwise mangle the waveform.
  • Turn off speech processing and compression. FT8 is a constant-envelope tone; compression only creates splatter.
  • Set CI-V / CAT baud explicitly rather than leaving it on auto, and match it in WSJT-X. This is the single most common cause of “the radio won’t key”.
  • Turn off VOX. CAT or a dedicated PTT line handles keying.
  • Turn the noise blanker off. It degrades weak-signal decoding noticeably.

Set the clock — properly

This is where most failed installs actually fail, and the symptom is misleading: you see a waterfall full of signals and decode nothing, or you decode fine but nobody ever answers you.

FT8 needs your clock within about a second of true time, and comfortably inside half a second in practice. Default operating-system time sync is frequently not good enough — Windows in particular may sync only every few days and drift seconds between updates.

Fix it deliberately:

  • Windows — install a real NTP client. Meinberg NTP or Dimension 4 are the standard choices. Do not rely on w32time defaults.
  • macOS / Linuxchrony or the built-in NTP is generally fine; verify with chronyc tracking or timedatectl.
  • No internet at the operating position — use a GPS time source, or a phone app that shows the offset and correct manually.
Your clock check is on screen already

WSJT-X shows a DT column for every decode: the time offset of that station relative to your clock. If most stations show a DT near 0.0, you are correct. If everyone shows around +1.4, they are not all wrong — you are off by 1.4 seconds. The crowd is your reference clock.

Configure WSJT-X

Download from the official WSJT project site. Then, in File → Settings:

General tab. Your call sign and 4-character grid square (EM66, not EM66pq). Under Display, turn on Show DXCC entity and worked-before status — it makes the decode list far more useful.

Radio tab. Choose your rig model. Set the serial port and the baud rate you configured on the radio. Set PTT Method to CAT for single-cable rigs. Set Mode to Data/Pkt and Split Operation to Fake It.

That last setting is worth explaining, because it looks arbitrary. Fake It makes WSJT-X shift the dial frequency automatically so your transmit audio always lands in the 1500–2000 Hz region, where the radio’s transmit chain is most linear. Without it, transmitting at a 300 Hz or 2800 Hz audio offset pushes you into the skirts of the transmit filter and generates harmonics that appear as spurious signals elsewhere on the waterfall. Set it and forget it.

Press Test CAT. It should turn green. Press Test PTT; the radio should key. If CAT fails, it is almost always the wrong port, the wrong baud rate, or another program already holding the port.

Audio tab. Input and output both set to the radio’s sound device. Not your laptop speakers — a surprising number of first attempts transmit the FT8 tones out loud into the room.

Reporting tab. Enable Prompt me to log QSO and turn on PSK Reporter spotting. The second one costs you nothing and contributes your decodes to the global reception map that everyone benefits from.

Set your levels

Two separate adjustments, in this order.

Receive. Use your operating system’s recording level for the radio’s sound device so the WSJT-X level meter sits around 30–50 dB with the antenna connected and no strong signals. Too low and weak signals vanish; too high and the decoder is overloaded by the strongest station on the band.

Transmit. Use the Pwr slider in WSJT-X, not the radio’s mic gain. Bring it up until the radio reaches your target power, then back it off until ALC reads zero or barely moves. Any ALC action on a digital mode means distortion, and distortion means you appear as several signals across the waterfall instead of one.

Run less power than you think

FT8 is effectively 100% duty cycle for 12.6 seconds of every 15. That is far harder on a transmitter than SSB, where average power is a fraction of peak. Run 25–30% of your radio’s rated output — 25 to 30 W from a 100 W rig — unless you have deliberately arranged cooling for more. Finals are expensive.

It is also rarely necessary. FT8 decodes at −21 dB. If you are not being heard at 25 W, another 6 dB of power is unlikely to be the answer; your antenna or your audio quality is.

Making the first contact

  1. Set the band. Use the WSJT-X band selector, which knows the standard dial frequencies (14.074 for 20 m, 7.074 for 40 m, and so on — the reference tables list them all).
  2. Watch the decode window fill for a minute or two. Confirm DT values look sane.
  3. Find a station calling CQ and double-click their decode line. WSJT-X fills in the exchange, picks the correct alternating time slot, and enables transmit.
  4. With Auto Seq on, the rest of the sequence runs itself. Watch it, but do not interfere.
  5. Log the contact when prompted.

To call CQ yourself: pick a clear vertical stripe on the waterfall, click it to set your transmit frequency, check Hold Tx Freq, select the Tx6 CQ message and enable Enable Tx.

Being a good FT8 operator

The mode’s automation makes it easy to be inconsiderate without noticing.

  • Do not transmit on top of an ongoing exchange. Look at the waterfall before choosing your slot. Empty vertical space exists; use it.
  • Use the correct alternating slot. If a station calls CQ in the even sequence, answer in the odd. Calling in the same slot as the station you are trying to work means neither of you hears the other, forever.
  • Do not call CQ and answer someone simultaneously. Pick one.
  • Stop calling a station that is working someone else. Their exchange is on screen. Wait for the 73 and then call.
  • Do not leave the station transmitting unattended. Unattended FT8 running into a fault is how a band segment gets a permanent carrier on it.
  • Send RR73 and finish. The sequence is designed to end; do not add pleasantries it has no room for.
  • Log everything, and upload to Logbook of the World if you use it. FT8 contacts count.

When it does not work

Symptom Almost always
Waterfall full of signals, zero decodes Clock offset. Check the DT column against other stations.
Nothing at all on the waterfall Wrong audio input device, or muted input.
Radio never keys Wrong CAT port or baud rate; another program holding the port.
Decodes fine, nobody answers Transmit audio not reaching the radio, or ALC is distorting it. Check PSKReporter for your own call.
Your signal appears in several places Audio drive far too high. Cut it until ALC reads zero.
Everything fails on transmit only Common-mode RF getting into the USB. Put ferrites on the USB cable and a choke at the feedpoint.

That last row is worth remembering. If a station works perfectly until the moment it transmits, and then the USB device disconnects or the computer misbehaves, the problem is RF in the shack, not software.


Next: Reading Propagation pairs naturally with FT8 — your own decodes become a live propagation instrument.