FT8 and digital modes
ShackNerd has FT8 built in: decoding, transmitting, the whole contact and the log entry, in the browser, with no other software. WSJT-X still plugs in through the rigctld bridge for anyone who wants its deeper decoder or the other modes, and both paths are described here.
Native FT8: one tap per contact
One-time setup: put your callsign and your grid square in Settings, and make sure transmit and transmit audio are enabled.
One radio setting matters and it is easy to get crossed: MENU → SET → Connectors → MOD Input → DATA MOD → LAN. Native FT8 sends its audio over the network, and when data mode is on the radio takes modulation from the DATA MOD input. If that input is set to USB, for WSJT-X, your FT8 transmissions key the radio and carry nothing: power on the meter, silence on the air, and no spots anywhere. Flip it to LAN for native FT8, back to USB when you use WSJT-X over the USB cable.
During your first transmission, watch the meter strip in the panel and drag the TX drive slider down until the ALC just stops moving. An overdriven digital signal splatters across the band and decodes worse, not louder; this is the same ritual as WSJT-X's power slider, the setting is remembered, and the ALC, COMP, SWR and drain current meters sit right beside the slider so the whole adjustment happens in one place.
Turning on PSK Reporter in Settings uploads what the monitor hears to pskreporter.info, which puts this station on the map as a receiver and is also the fastest way to verify your own transmissions: call CQ and check pskreporter.info for your callsign a few minutes later.
- Tune to an FT8 frequency, or let the tune to... band menu do it: it jumps the radio to the customary frequency for the chosen protocol on any band, in data mode, ready to go. For FT4, flip the protocol toggle; the slots halve to 7.5 seconds and everything else works identically.
- Open FT8 and press Monitor FT8. The band appears fifteen seconds at a time: the strip shows this slot's stations laid out by frequency, the list keeps the history, and stations you have worked on this band and mode are dimmed, so an SSB ragchew from last year never hides a fresh FT8 band slot. An Alerts toggle in the Band activity header sounds a tone and flashes the browser tab when a decode is addressed to you, and Clear empties both panes by hand; a change of frequency clears them on its own, because every decode describes the frequency it was heard on.
- Tap a CQ, in the strip or the list. That is the whole contact: the exchange runs itself, grid, reports, RR73, and lands in the log with both reports and their grid. The status bar narrates each step and Halt stops everything instantly. Tap a station you already worked on this band and mode and ShackNerd says so instead of running a duplicate; a second tap on the same decode works them anyway, for the sked that is the point. A station that stops answering is abandoned after five calls with a note that says who was given up on; the note clears itself, and Halt dismisses it early.
- Or press Call CQ and work whoever answers, the same way.
The slot clock above the list fills as each cycle runs, and once a contact is active it turns amber during the slots that are yours to transmit in. Your own transmissions appear in the list marked TX.
The operating surface
The decode area is two panes, the layout every FT8 operator already knows: Band activity on the left with everything the band said, and RX frequency on the right holding only your own exchange. Every row carries a place: the country from the callsign prefix for DX, the licensed state from the FCC database for US stations, or the distance in miles when a grid was announced.
Above the meters sits a waterfall of the whole FT8 window, each decoded station labeled at its audio offset and your own transmit lane drawn in red. Tap an empty stretch to transmit there; the TX lane field does the same by number, and auto answers stations on their own frequency the way WSJT-X does without hold.
The decoder itself runs the same deep techniques WSJT-X uses, fine synchronisation, ordered-statistics decoding and multi-pass subtraction, so a few extra weak decodes trickle in a few seconds after each slot's first batch. That trickle is normal and welcome.
Controls worth knowing
- TX armed / TX held sits beside Halt during an exchange. Held lets the transmission on the air finish and starts no more, with the exchange frozen where it stood; re-arm and it resumes. Halt stops immediately and abandons the contact.
- The auto | even | odd control picks your transmit slots for a CQ, in WSJT-X's TX even/1st sense, so coordinating with another operator is one word.
- The small field beside Call CQ takes a modifier: DX, POTA, NA, or any one to four letters, and the call goes out as
CQ DX W2NRD FN43. - The free text box transmits exactly what you type: thirteen characters of free text or any standard message. Mid-exchange it replaces the next automatic message once; from idle it repeats until halted.
- RF power and the radio's monitor live in the panel too, so the whole power ritual, coarse power, fine drive, ALC, happens on one screen.
Who heard you
With PSK Reporter enabled, ShackNerd also reads the map back: reception reports of your own signal appear in the Log workspace beside your contacts, receiver, grid, frequency and SNR, a few minutes behind the air. The clock check is automatic as well: everyone you decode should arrive about six tenths of a second into the slot, and if the whole band is consistently early or late the panel says your computer clock is off and by how much.
Two practical notes. The machine running ShackNerd needs an accurate clock, which is the same requirement WSJT-X has; if the DT column of received stations drifts past a second, turn on time synchronisation. And the radio is switched to USB with the data input automatically when a contact starts.
The ShackNerd map
ShackNerd Reporter in Settings shares what your station decodes with the network's own map, the same spirit as PSK Reporter but drawn from ShackNerd stations only: shacknerd.com/map.html shows every path heard in the last fifteen minutes, hover any path for the details, tap a band to filter, or type a callsign to see only who hears it. With the Reporter on, the digital screen also answers the question directly: Heard by N ShackNerd stations appears under your QSO panel while you transmit. A few hundred bytes a minute, your callsign and grid as the identity, and off by default like every outbound connection.
WSJT-X through the bridge
WSJT-X, JS8Call, fldigi and most loggers already know how to talk to a rigctld. ShackNerd serves that protocol, so they drive the radio through it with no extra cables and no virtual serial ports. WSJT-X's decoder also digs a little deeper than the built-in one on a truly marginal band, though the gap has narrowed: the built-in decoder now runs the same deep techniques, fine synchronization, ordered-statistics decoding and multi-pass subtraction of decoded signals.
In ShackNerd: open Access and remote, expand Advanced, set the Digital mode software (rigctld) port to 4532, and apply.
On the radio, for the usual USB audio path: MENU → SET → Connectors → MOD Input → DATA MOD = USB, and connect the radio's USB cable to the computer running WSJT-X.
File → Settings → Radio in WSJT-X:
| Setting | Value |
|---|---|
| Rig | Hamlib NET rigctl |
| Network Server | 127.0.0.1:4532 |
| PTT Method | CAT |
| Mode | Data/Pkt |
| Split Operation | None |
Audio tab: input and output are the radio's USB Audio CODEC.
PTT from WSJT-X goes through the same transmit lease and watchdog as every other way of keying, so a crashed program cannot leave the radio transmitting. The bridge listens on this machine only, because the protocol has no authentication and controls a transmitter.
The DATA toggle by hand
The DATA button beside the mode buttons switches the radio's data input directly, for anything not driven through the bridge.
Working a DXpedition (Fox/Hound)
Big DXpeditions run FT8 in Fox/Hound mode, and its etiquette differs from a normal contact. Turn on Hound next to the Halt button before you call: your first call rides above 1000 Hz where the fox listens, your rogered report automatically moves to the fox's own frequency, and when the fox sends RR73 the contact logs with no 73 from you, because a fox running a pileup needs the slot more than the goodbye. Turn Hound off again for ordinary contacts.