Skip to content

FT8 / FT4 — Activating without WSJT-X ​

FT8 is the mode for low power and little time: a QSO consists of six fixed messages in 15-second periods. During a POTA or SOTA activation with the laptop on your knees, every extra window costs time and nerves. That is why HAM-Tools brings FT8 and FT4 along itself: receiving, transmitting, running the QSO and logging happen in the same module as the logbook. WSJT-X is not needed, but may listen in parallel on the same audio input.

Opening the module ​

FT8 / FT4 sits in the sidebar among the main applications, below WSPR. On the left are radio, frequency, audio, operation and the auto-sequencer. On the right the waterfall sits at the top, below it the two lists and at the bottom the QSO workspace with the messages Tx1–Tx6, the queue and the transmit controls. Drag the handles between them to change the height of the waterfall and the workspace; the app remembers the split. A line at the very bottom shows the latest message; click Protocol to expand the full history.

The header shows band and dial frequency, the CAT status, the Monitor switch and a second Start reception/Stop receiving button.

Receiving in five minutes ​

  1. Set Audio → Input (RX) to the radio's USB codec.
  2. Pick Frequency → Band. With CAT connected, the radio jumps to the band's FT8 frequency and into data mode (USB-D) by itself.
  3. Start reception.

The waterfall runs right away; after the first full period (15 s for FT8, 7.5 s for FT4) the Band Activity list fills up. The decode time per period is shown on the left below the level meter; on a current Mac it is well under a second.

The clock must be right

FT8 tolerates about one second of clock offset; weak signals are lost earlier. The module estimates the offset from the received signals and warns at the top right from half a second. In the field without network, a quick sync via tethering before starting helps.

Filter on the radio

At least 3 kHz wide, otherwise signals at the upper edge of the waterfall are missing. Mode USB-D (data mode): there the audio comes from the USB codec, without compressor and microphone equalizer.

The waterfall ​

The waterfall shows the last 60 seconds, newest line at the top, with a line at every period boundary and the time in UTC (minute:second) on the left edge. Above it is the spectrum of the latest line.

  • Click sets the green RX marker, e.g. on a station you want to keep an eye on. The decoder always reads the whole band regardless.
  • ⇧-click sets your own TX frequency (red TX bar). It stays fixed while you transmit.
  • Contrast controls how strongly weak signals stand out.
  • Monitor off pauses only the waterfall and saves CPU and battery. Reception, decoding and the auto-sequencer keep running.

While you transmit the waterfall stays empty, because reception pauses.

The two lists and their colours ​

  • Band Activity shows everything decoded in the last 10 minutes, newest period first. CQ only hides everything but CQ calls.
  • QSO traffic (“Rx Frequency” in WSJT-X) shows only what concerns you: calls to you, your partner's lines and your own transmissions.
ColourMeaning
GreenCQ call from another station
Redline with your callsign, i.e. a call to you
Pink, “Tx” in the dB columnyour own transmission
GreyRR73, RRR or 73 between other stations
Boldlines of your current QSO partner

Transmitting ​

Transmitting is doubly secured: TX enable must be on (off after every opening of the module), and a CAT connection for PTT plus an explicitly chosen audio output are required. Why a button is currently locked is always shown as text below it.

  1. ⇧-click a free spot in the waterfall; this sets the TX (audio) frequency. Spots free in both periods are ideal, because callers answer in the other period on the same frequency.
  2. Press Tune and watch the ALC on the radio. Set Level so that the ALC just does not respond — too much level creates splatter.
  3. Choose the Period: 1st (:00/:30) or 2nd (:15/:45). Whoever calls CQ takes one; the callers answer in the other.

The transmit controls (TX enable, Auto Seq, level, Transmit/Halt TX, Tune) sit on the right of the QSO workspace. In a narrow window, e.g. on a 13-inch notebook, these buttons move to the top and the settings (message, period, audio frequency, watchdog) go below them.

A band change restarts reception and clears the lists. While transmitting or while the auto-sequencer runs, the band is locked.

Halt TX (also Esc) stops any transmission immediately, including the auto-sequencer. The Tx watchdog ends unanswered continuous CQ after the set time; every QSO progress extends it.

Power and RF in the USB cable

If a transmission aborts with “CAT connection or TX enable gone”, RF is usually getting into the USB chain. The module deliberately releases PTT then. Less power or a ferrite close to the radio helps.

The activator auto-sequencer ​

The auto-sequencer runs the activation: call CQ, queue callers, report, RR73, log, next caller.

  1. Open a log, e.g. the POTA session. The line under Activator Auto-Seq shows where completed QSOs go: log name, program references and the callsign used for calling (the log's own callsign such as HB9HJI/P takes precedence over the one from Settings).
  2. Check the CQ modifier. The default comes from the log type (POTA, SOTA, WWFF, BOTA, WCA, GMA); empty gives a plain CQ.
  3. Start CQ Auto-Seq on the left or Auto Seq in the QSO workspace. Esc, Stop Auto-Seq or Stop Auto Seq stops it.

Completed QSOs land in the logbook with dial frequency, band, mode (FT4 as MFSK/FT4), both reports, grid and all program references of the log. If a callbook is configured, name, QTH and DXCC are added as soon as the answer arrives; offline the entry stays as it is.

What the auto-sequencer does on its own ​

  • If a caller does not answer after three reports, it goes to the end of the queue and gets a second chance later; after that it is gone.
  • A repeated R-report after the RR73 gets another RR73 but no second log entry (for 30 minutes).
  • Whoever is already in the log on this band appears red in the queue and is only called when you click or promote it.
  • Callers not heard for two minutes are skipped.

The QSO workspace ​

Below the lists sits the workspace modelled on WSJT-X. The line above it shows which log finished QSOs go to.

  • DX Call, DX Grid, Report: the current partner, your report to them and, next to it, theirs to you. Skip gives them up.
  • Sequence: the six standard messages Tx1 to Tx6. The orange dot under Next marks what will be sent in your next period; clicking it only selects the message, it does not transmit. Now forces a message once; the auto-sequencer then continues as if nothing had happened. Without the auto-sequencer, Now adopts the message and sends it repeatedly.
  • Picking Tx6 as Next means: back to CQ. A running QSO is abandoned and the next caller in the queue gets its turn.
  • Call 1st (checkbox): callers are answered automatically. Unchecked, they collect in the queue until you click one; an orange hint with Turn back on then appears there. Every start of the auto-sequencer turns Call 1st back on.
  • Queue: waiting callers with report. Arrow = call next, X = remove. A return arrow marks the second chance.
  • The auto-sequencer's Protocol is at the bottom of the window: collapsed it shows the latest message, expanded the history with the newest line first.

Clicking instead of waiting ​

A single click only selects a line. Action is taken on a double-click, on the Reply button above the list or on Reply in the context menu. This also works while you are transmitting.

  • Double-click a red line (a call to you): the station becomes the partner right away; the auto-sequencer starts if it is off. A running partner waits at the front of the queue. If the station has already sent an R-report, it continues directly with RR73.
  • Double-click a green line (a CQ): the station is called, like the double-click in WSJT-X. This is not possible while you transmit, because the period has to change; a note tells you so. The TX period switches to the opposite period of the CQ caller. Sequence: Tx1 with grid, their report, Tx3, their RR73, log, one 73, back to CQ. After three Tx1 without an answer the auto-sequencer gives up.
  • The green RX marker jumps to the station. With Hold Tx Freq (default) your own TX frequency stays; without it, it jumps to the station's frequency.

"Who hears me?" — the PSK Reporter map ​

The Who hears me? button above the lists opens a separate window with a map: every station that decoded your transmission and reported it to PSK Reporter appears as a marker in the band colour, with report, distance and time. Callsign and locator come from the FT8 module; the connection state is in the footer ("Connected", "Collected since … UTC", "Last report received: … UTC"). There is only one such window; a second click brings it to the front.

  • Live: New reports arrive via the PSK Reporter MQTT feed (data feed by M0LTE) within one or two minutes of a transmission. A band filter hides the rest and is remembered when the window is reopened.
  • Fetch latest reports: loads the most recent reports for your callsign via the official PSK Reporter query — only the newest ~200 and at most 6 hours back; it is not a full-day archive. At least 5 minutes lie between two requests; the footer says when the next one is possible. If PSK Reporter answers with a rate limit (common behind mobile or Starlink addresses shared by many users), the app waits 15 minutes and says so.
  • Pause stops the feed, existing reports remain visible; an interruption is noted because reports may be missing. Closing the window disconnects; after sleep or a network change it reconnects on its own.
  • Running QSO: The auto-sequencer's current partner is highlighted with an orange ring and label ("callsign · distance"); an info block shows name and country from the callbook. If that station has not reported anything itself, a dashed ring marks its locator.
  • All times in the list, popover and footer are UTC.

The map does not replace a transmit test into the antenna: it only shows what other stations actually reported. Dummy-load tests produce no reports.

What may stand out in the list ​

  • “<...>” instead of a callsign: the message contains a hashed callsign the decoder has not resolved yet. After a full standard QSO of that station it is known.
  • Wrong callsigns at −20 dB and below: like every mode, FT8 has occasional false decodes. The auto-sequencer only reacts to messages addressed to you.
  • Fewer decodes than WSJT-X: the built-in decoder finds about 70 % of what WSJT-X finds. That is enough for the activator, because callers come to your own frequency; for hunting weak DX stations WSJT-X remains the better choice.

Technical background ​

Encoding, LDPC and the decoder come from the library ft8_lib by Kārlis Goba (MIT), which is compiled into the app; the only modification concerns packing RR73 as WSJT-X does. Details are under Third-party components. The timing, messages and the auto-sequencer's flow are built as a separate package with tests that check the flow with scripted decode sequences.

HAM-Tools © HB9HJI · Funkwelt