1. What you need

A transceiver with a sound-card interface

Any interface that presents itself to iOS as a USB audio device will work: a Digirig, a SignaLink, a radio with a built-in USB CODEC, or a simple isolated audio cable pair. The app detects the interface automatically when you plug it in and switches to it, and switches back if you unplug it.

Looking for information on supported radios and how to configure them? See Connecting to Radios.

Bluetooth audio is experimental. A Bluetooth interface that offers a microphone (the "hands-free" profile, as a headset does) can be used, but only when no USB or wired interface is connected — those always win. Every time the app switches to a Bluetooth device, it pauses all audio and shows a warning with two choices, like the disconnection alert:

  • Use Bluetooth Audio resumes audio on the Bluetooth device.
  • Close leaves audio stopped. Tap the status pill to start it when you're ready.

Either way, a CQ or automatic mode that was running stays stopped, as after any audio-device change.

Never use earphones or earbuds with Greyline. Transmit audio is loud, and in your ears it can damage your hearing quickly. That is why audio pauses until you have seen the warning.

Expect some drawbacks:

  • Latency. Bluetooth adds roughly a tenth to a quarter of a second each way. Received signals are timed correctly, but your transmissions leave that much late, which other stations see as a positive DT.
  • Audio quality. Bluetooth microphones use a narrowband voice codec, so quiet signals, and those near the bottom of the waterfall, may decode less reliably.
  • Output-only devices won't work. If a Bluetooth device only plays audio (as speakers do), iOS won't offer it as a microphone and the app stays on its current input.

If your interface also has a USB connection, use that.

Keying

The app has no CAT control and does not key your radio over a serial line. It transmits audio, and your radio needs to key from that audio, using VOX or the "data VOX" setting most modern radios have on their USB audio input. Every transmission begins with a tenth of a second of silence to give the radio time to key up before the signal starts.

An accurate clock

FT8 and FT4 divide time into fixed slots aligned to UTC. If your device clock is off by more than about a fifth of a second, other stations will struggle to decode you and every station you hear will show a suspicious DT value. Leave iOS set to "Set Automatically" under Settings › General › Date & Time. You can check your clock inside the app; see Diagnostics.

Microphone permission

iOS treats your radio's audio input as a microphone. Without that permission the app cannot decode anything.

Keep the app in front. iOS suspends audio processing for apps that go to the background, so Greyline stops decoding and transmitting when you switch to another app or lock the screen. It restarts automatically when you come back. If you are running a long session, turn on Keep Screen On in Settings so the device does not sleep.

2. First-time setup

The first launch walks you through eight short pages. You can skip the optional ones and come back later; everything is also in Settings. There is also an "I'll set up myself" button on the welcome page if you would rather do it all by hand.

StepWhat it asks forRequired?
WelcomeNothingNo
CallsignYour callsign (A–Z, 0–9 and /)Yes, you cannot transmit without one
LocationLocation permission, or a manually typed grid squareYes, a grid is required to transmit
Audio accessMicrophone permissionYes, nothing decodes without it
Lookups & loggingQRZ / HamQTH / Cloudlog / World Radio League credentialsOptional, skippable
Share your spotsPSKReporter and POTA spotting togglesOptional, skippable
Help & resourcesLinks to cabling guides and supportNo
FinishWarns you if the mic or grid is still missingNo

You can re-run the whole flow at any time from Settings › About › Re-run first-time Setup.

Callsign and grid square

Both are mandatory before the app will transmit. The grid rides inside your CQ, and the distance and bearing columns depend on it.

If you enable Use device GPS, the app derives your grid from your position and keeps it current as you move, which is useful when you are operating portable. Turn GPS off and you can type a grid by hand (4 or 6 characters, e.g. DM04 or DM04vk). Typing a grid manually while GPS is on automatically switches GPS off, so a later position fix cannot overwrite what you typed.

3. The screens

The layout adapts to the device.

On iPhone, five tabs across the bottom:

  • Operate: waterfall and band activity, with a collapsible control panel at the bottom.
  • Log: your contacts.
  • Mapping: who is hearing you, who you have heard, and where you have worked.
  • Tune: the antenna-tuning carrier.
  • Settings

The strip at the bottom of the Operate tab is always visible. It shows the slot phase, the countdown, your transmit frequency with an icon for its mode (see Choosing your transmit frequency), the message queued to go out next, and a single action button. Tap the strip to open the full control panel as a sheet; drag it down to dismiss.

On iPad, a sidebar holds the whole control panel plus navigation, and the right-hand pane holds the waterfall and band activity. The button at the top-left of the sidebar collapses it, which is useful in the field: the band activity then fills the screen and grows its own compact timing strip along the top and a control bar along the bottom.

4. Reading the Operate screen

The slot timer

FT8 works in 15-second slots (FT4 in 7.5-second slots) locked to UTC. The progress bar and its label tell you where you are inside the current slot:

LabelColourMeaning
RXGreenReceiving. Signals are arriving.
DECODEBlueEnough of the slot has arrived to decode it. Results appear a second or two later, before the slot ends.
TXRedYou are transmitting.

Decoding starts before the slot boundary on purpose. That head start is what lets the app answer a station on the very next slot rather than waiting a full cycle.

The waterfall

Time flows downward, frequency runs left to right across the FT8 passband (200–3000 Hz). Louder signals move up the colour scale: black, blue, cyan, yellow, red.

  • The white bracket is your transmit frequency. The bright left edge is the frequency itself; the dimmer right edge is 50 Hz higher, the width an FT8 signal actually occupies.
  • The dashed line is the app's suggestion for a clear frequency, recalculated every receive cycle from the noise floor and where signals were just decoded. It changes colour to stay visible against whatever is behind it.
  • The Drive slider to the right of the waterfall sets your transmit level, unless it is switched off in Settings › Display. See Setting your transmit drive.
  • Small triangles along the top mark each decoded signal. Yellow means a callsign you have not heard before this session.

Tap or drag horizontally anywhere on the waterfall to move your transmit frequency there. Drag vertically to adjust the display sensitivity: down makes the display more sensitive (weaker signals show), up makes it less. A read-out appears while you drag and the value is remembered.

Adjusting sensitivity by dragging turns off Auto-calibrate Waterfall; setting a frequency by tapping switches the TX frequency mode to Hold. Both are deliberate, because a manual choice should not be overwritten a second later. See Choosing your transmit frequency.

The band activity list

Every packet for the session, oldest at the top, newest at the bottom. The list follows new decodes as they arrive while you are at the bottom. Scroll up to look at something and it stays where you put it; scroll back down and it follows again. A tap made in the instant new decodes arrive and the list moves is ignored, so it can never land on a row that slid under your finger — just tap again.

ColumnMeaning
UTCThe slot the message was decoded in, as HHMMSS. For your own transmissions it's the slot start, except when you tapped to transmit mid-slot, which shows the moment it actually went out.
dBSignal-to-noise ratio, in the same terms WSJT-X uses, so the numbers are comparable. Your own transmissions show TX.
DTHow far off the slot boundary the other station's transmission arrived, in seconds. The app subtracts its own audio latency, so what you see is the other station's timing error, not yours. Values within a few tenths are normal.
Freq / HzAudio frequency inside the passband.
MessageThe decoded text. Long compound callsigns scroll gently side to side rather than being cut off.
GridThe remote station's grid, remembered from any earlier message in the session, so it stays filled in during an exchange even when the current message does not carry one.
Dist / BrgGreat-circle distance and bearing from your grid. iPad only, when the pane is wide enough.
Country / EntityDXCC entity, state or province, and continent, resolved offline.

Tap a column heading to sort by it: UTC, dB, Freq (Hz on iPhone), or on iPad Dist. Tap the same heading again to reverse the order. The chevron beside the heading points down for the usual order and up when reversed.

HeadingFirst tapTap again
UTCOldest first, newest at the bottomNewest first, at the top
dBStrongest firstWeakest first
Freq / HzLowest firstHighest first
DistFurthest firstNearest first
  • Stations whose distance isn't known — no grid heard yet, or your own transmissions — stay at the bottom of a distance sort either way.
  • Changing the order takes you to the start of the new list.
  • Only in time order, oldest first, does the list follow new decodes. In any other order new decodes land throughout the list rather than at one end, so it stays where you put it.
  • If the column you are sorting by disappears because the pane became too narrow, the list goes back to sorting by time.

Row colours

ColourMeaning
YellowSomething you transmitted.
RedA message addressed to you.
CyanA CQ from a station you have not worked on this band and mode.
GreenA CQ from a station you have already worked on this band and mode. The automatic modes will pass on it.

Green is scoped to the current band and mode, not your whole log: a station worked on 20 m is a genuinely new contact on 40 m, and the colour tells you what Hunter and Gatherer will actually do.

Which stations you can work

A short vertical bar down the left of a row means that station transmits while you are listening — you can work it. The speaker symbol at the top of that narrow column labels it. Rows without the bar are transmitting at the same time you do, so you are largely deaf to them and could not answer them without moving to the other slot.

Under time sort, in either direction, a heavier line also separates one slot from the next, so the list reads as alternating blocks. That grouping disappears if you sort by signal, frequency or distance, because slots no longer run in order — the bar itself stays under every sort.

The bar follows where you are actually transmitting, not simply your Call CQ on setting. Those are usually the same, but while you are answering someone else the protocol puts you on the opposite slot to theirs, so the marking flips for the duration of that exchange and flips back when it ends. That is not a glitch: it always shows the slot you are free to listen in right now.

Why a station was passed over

When Hunter or Gatherer is running, it will sometimes leave a station alone. Left unexplained that looks like the app has stopped working, particularly when you are operating unattended and come back to find calls that went unanswered.

A small badge after the message says why. It sits to the right of the message text rather than before it, so the messages stay aligned in a column you can read straight down:

BadgeWhat it means
WAIT 3mYou tried to work this station and got nowhere, so it is set aside for a few minutes before it is tried again. The number counts down.
SKIPPEDHunter gave up on this station after calling without a reply. It stays set aside until you re-arm Hunter or cancel the exchange.
FILTEREDYour CQ filter excludes this station's kind of call. See CQ filtering.
WORKEDYou have already worked this station on this band and mode.

You will see them on different rows depending on the mode, which follows from what each mode does. Hunter answers other stations' CQs, so its badges are on CQ rows. Gatherer calls CQ and works whoever replies, so its badges are on the replies addressed to you.

WORKED appears in Gatherer only. In Hunter the row is already green, which says the same thing.

In Standard you keep the WAIT and SKIPPED badges. Dropping out of an automatic mode — by tapping a station, or by switching mode — used to blank every badge, so you lost your picture of who had been set aside just as you went to do something about it. Those two are memories that outlive the mode change, so they stay. WORKED and FILTERED do not: the green row already says worked, and the CQ filter only acts on the automatic modes, so in Standard it is not excluding anything and a badge claiming otherwise would be wrong. If you have never armed an automatic mode, Standard shows no badges at all, exactly as before.

A badge is not a fault. It is the app telling you it made a decision on purpose. If you want a station worked anyway, the relevant setting is in Settings › Operations: turn on Allow duplicates in auto modes for WORKED, or change the CQ filter for FILTERED. WAIT expires on its own, SKIPPED clears when you re-arm Hunter, and you can always tap the row to work that station by hand.

A station you tap in Gatherer loses its badge, because it is no longer being passed over — see Tapping a row.

Tapping a row

  • Tap a cyan or green CQ to answer it. The app sets the correct slot timing and starts calling that station.
    • In Hunter, you stay in Hunter. Tapping a CQ tells Hunter which station to work next rather than turning it off: Hunter runs the exchange itself, and when it finishes goes straight back to scanning under your Call order. Tapping while it is mid-exchange with someone else abandons that one in favour of yours.
    • In Gatherer, you stay in Gatherer. The station goes to the top of the queue, like a caller you tapped, and is worked after whoever is being worked now. Gatherer opens with your report rather than your grid, the way WSJT-X's Skip Tx1 option answers a CQ, and a WSJT-X station replies with its roger as usual. If they work someone else instead, Gatherer gives up after your retry limit and moves on, as it does for any caller who doesn't answer.
  • Tap a red message addressed to you to pick that exchange back up. The app works out what they sent and replies with whatever comes next in the sequence.
    • In Hunter you usually stay in Hunter, because it can finish any exchange where you are the one answering — which is every exchange Hunter starts. Sent you a report, and it replies with the roger; sent RR73, and it sends your 73. If that contact is already in your log, it re-sends the 73 without logging it a second time.
    • If they sent something only a CQ-calling station can answer — their grid, or a roger — the app drops to Standard, since finishing that exchange means being the station calling CQ, which Hunter never is.
    • In Gatherer, tapping one of your callers moves them to the top of the queue and the run carries on. They are worked next, after whoever is being worked now finishes. This works even on a station Gatherer had passed over as already worked, filtered or in cooldown — tapping it overrides all three — and its badge disappears, since it is no longer being passed over. Tapping the station already being worked does nothing.
    • In Gatherer, tapping a station asking you to close (their roger, RR73 or 73) also keeps the run going. If you owe them a closing message, it goes to the top of the queue and is re-sent next, without logging the contact a second time. If their roger is for a contact that never made it into your log, they are queued as a caller instead, and logged when the exchange completes. If nothing is left to send them, a status line says so and nothing else changes.

Tapping any other row does nothing, so a stray tap on a moving list never starts a transmission. To call a station from one of those rows, long-press it instead.

Long-pressing a row

Many stations, POTA activators especially, work one contact after another without calling CQ in between. There is no CQ of theirs to tap, but their exchanges with other stations are in the list. Long-press any row to call one of the stations on it.

The menu lists the station that is running first: the one working contacts back to back, which is usually who you want. The app works out which station that is from the message:

RowExampleListed first
A report or RR73JA1XYZ JQ3JUK RR73the sender, JQ3JUK
A grid, a roger or 73JQ3JUK JA1XYZ 73the station it was sent to, JQ3JUK

The other station on the row is listed second, so if the app picks the wrong one, the right one is still a tap away. A long-press on a CQ offers that station alone, and does the same as tapping it.

What Call does depends on the mode:

  • Standard: calls the station, the same as Custom Message › Call. Your call goes out in the slot that station is listening in. If you have never decoded them transmitting, the row you pressed settles the timing. Calling abandons any exchange in progress, as tapping a CQ does.
  • Hunter: runs the exchange as a Hunter exchange and returns to scanning afterwards. If you have never decoded that station transmitting, Hunter has nothing to run it from, so the app switches to Standard and calls from there.
  • Gatherer: puts the station at the top of the queue, like tapping a caller, and the station being worked now finishes first. Gatherer opens with your report, so it needs a decode of that station transmitting to measure one. Until it has one, the item is greyed out and reads No report, can't call.

Your own transmissions and rows addressed to you have no menu: tap a row addressed to you to pick that exchange back up. Free text and unreadable callsigns have no menu either.

The filter

The funnel button in the navigation bar opens Only show CQ and my exchanges. With it on, the list shows CQ calls, anything addressed to you, and your own transmissions, and hides everything else. This is a display filter only: decoding, logging and the automatic modes carry on exactly as before. A banner along the bottom reminds you it is active; tap it to clear.

The filter also hides other stations' exchanges, which is where a station running contacts back to back shows up, so turn it off to long-press one of those rows.

With the filter on, every row in the list can be tapped, so the rows get taller: each one is a comfortable target on its own rather than a line of text between two others. The text stays the same size. For larger text as well, turn on Settings › Display › High Visibility.

You can choose whether this starts on, off, or as you left it under Settings › Display › Only show CQs.

The control panel

Status line

Your callsign and grid on the left; a status pill on the right reading TX (red), RX (green), or Stopped. If it says Stopped, tap it to start the receiver. If microphone access was denied it says so, and tapping takes you to iOS Settings.

An orange Timing slow warning appears to the left of the pill when recent transmissions have been leaving late — see Timing Health under Diagnostics for what to do about it. It is not a radio fault: it means the app itself is struggling to keep up.

Band and frequency

Band picker, transmit frequency read-out with its Auto / Hold / Partner menu, the suggested clear frequency (tap it to adopt it; in Hold it becomes a Resume Auto button), a frequency slider covering 200–2900 Hz, and the FT8/FT4 selector. These lock during your transmit slot and unlock again on each receive cycle. The frequency mode menu locks whenever you are transmitting, in any mode, since a change can't affect what is already on the air.

POTA panel

See POTA activations.

Mode chips

Standard / Hunter / Gatherer, grouped under "Manual" and "Automatic" brackets. Hunter and Gatherer are greyed out until a callsign and grid are set.

Call CQ on

A dropdown reading Even slots or Odd slots. It decides which half of the cycle your CQ goes out on:

SelectionFT8FT4
Even slots:00 and :30:00, :15, :30, :45
Odd slots:15 and :45:07.5, :22.5, :37.5, :52.5

Even slots is the default, and is what earlier versions always did.

It only applies when you start the contact. When you answer somebody, you transmit on the opposite half of the cycle to them. That is how FT8 works, and it is their choice rather than yours. So if you have chosen Odd slots and then reply to a station calling CQ on odd, you will correctly answer on even. The setting is about your CQ, which is why it is labelled that way.

The dropdown greys out whenever you are armed to transmit, meaning while you are calling CQ, mid-exchange, in Hunter or Gatherer, or sending any message. Stop what you are doing to change it, and the new choice takes effect from your next CQ. This is deliberate: changing halfway through a contact would move your transmissions onto the slot your partner is using, and neither of you would hear the other again.

Your choice is remembered between launches.

Most operators never need to touch this. Reach for it when the half you are on is crowded, or when you have agreed a slot with someone you are trying to work.

The main button

What it does depends on where you are:

It saysTapping it
Call CQStarts calling CQ (Standard mode).
Halt TransmitStops calling CQ.
Abort — working W6ABCAbandons the exchange in progress.
Enable Transmit / Auto TX EnabledArms Hunter, or disarms it back to Standard.
Abort — hunting W6ABCDrops the station Hunter is chasing and goes back to scanning.
Stop Gatherer plus Queue (n)In Gatherer the button splits: stop, or inspect the pile of waiting callers.

Next TX

The exact message that will go out, in the same form the other station will see it. Two details worth knowing:

  • The number in parentheses is how many more copies will be sent after the one currently going out. If it reads W6ABC KB0RB -12 (7), that message is being sent now and will be repeated up to seven more times if the other station does not respond. It counts down with each repeat and disappears when the budget is spent. See Retransmissions.
  • During a transmission the panel shows what is on the air, not what comes next. It flips to the next message when the receive cycle begins. This is intentional: it would otherwise show a message you had not sent yet while the current one still had twelve seconds to play.

The small TX / RX pill in the corner of that panel tells you whether the coming slot is yours to transmit on. While Hunter is scanning it stays on RX, because Hunter sends nothing until it finds a target.

If nothing is queued, the panel shows your CQ message greyed out, a preview of what would go out if you tapped Call CQ.

Custom Message

Expand it and pick what the box is for: Call or Message.

Call (the default) takes a callsign and starts a QSO with that station — for chasing a station that is working a pileup and never calls CQ, so there is no CQ of theirs to tap. Type W6ABC, and the hint under the field previews exactly what will go out (Will send: W6ABC YOURCALL FN42). Press Call and the app calls them, repeating until they come back or your retransmission limit runs out, then sequences the rest of the QSO for you like any other exchange. To stop, use the main button, which reads Abort — working W6ABC.

Timing is picked for you: the app transmits opposite to the slot it last heard that station in, so your call lands while they are listening. If you have never decoded them, it falls back to your Call CQ on slot setting, which is a coin flip until you hear them once.

If the station is in the band activity list, long-pressing its row does the same without typing, and the row settles the timing even if you have never decoded them transmitting.

Calling from Hunter keeps you in Hunter — it runs the exchange and returns to scanning afterwards — as long as you have decoded that station transmitting. If you never have, Hunter has nothing to run the exchange from, so the app switches to Standard and calls them from there. Calling from Gatherer ends the run, because you are answering someone else instead of the callers answering you.

Message is the original behaviour: one message of your own on the next slot boundary, whichever slot that is. It accepts either free text (up to 13 characters) or a standard message such as W6ABC KD9XYZ -09; the field validates by trying to actually encode what you typed, so a legitimate standard message is never rejected for looking too long. Once queued, the button becomes a red X to cancel. A custom message does not appear in the Next TX panel.

RX Level

Your audio input level, labelled QUIET, OK or HOT. Aim for the green band. If it reads HOT, turn the audio down at the radio or interface, because an overdriven input decodes badly. The meter is suppressed during your own transmit slot.

5. Making contacts

The exchange

A standard FT8 contact is four transmissions, alternating slots. Answering a CQ, you send:

W6ABC KB0RB DM04        your grid
W6ABC KB0RB R-12        roger, and your report of their signal
W6ABC KB0RB 73          done

Calling CQ, you send:

CQ KB0RB DM04
W6ABC KB0RB -09         your report of their signal
W6ABC KB0RB RR73        confirmed and finished

Greyline follows this strictly, and like WSJT-X it will not treat a repeated bare signal report as confirmation that the other station heard your roger. Jumping ahead there is how contacts get logged that never actually completed.

Signal reports

The Sent report in your log is the SNR the app measured for their signal. The Rcvd report is the number they sent you, read from their message. Reports are generated automatically; you never type one.

When contacts get logged

  • Answering a CQ: logged when their RR73 arrives, the point at which they have confirmed the contact.
  • Calling CQ: logged when your RR73 goes out for the first time. By then you hold their report and their roger, so the contact is complete from your side, and their 73 simply closes it out. This matters, because an RR73 they never hear would otherwise lose a contact that had in fact been made.

Each contact is logged once, no matter how many times a message is repeated.

6. The three operating modes

The mode chip sits directly above the transmit button, because it changes what that button does. Modes always reset to Standard when the app launches.

Standard (manual)

You decide everything. Tap a CQ to answer it, or tap Call CQ to call. Once an exchange starts, the app sequences it for you and sends the right message at the right moment; you are choosing who to work, not typing messages.

Calling CQ in Standard mode gives up after your configured retransmission limit of unanswered CQs and stops. Anything you tap resets that count.

Hunter (automatic search and pounce)

Hunter watches for CQ calls and answers them one at a time, on its own.

  • It picks a CQ from those heard in the cycle, per Hunter Call Order below.
  • It skips stations already worked on this band and mode, unless Allow duplicates in auto modes is on.
  • It skips stations excluded by the CQ filter. Tapping a station yourself overrides all of these — see Tapping a row.
  • It answers CQs only. To chase a station that works one contact after another without calling CQ, long-press one of its rows: Hunter calls it and goes back to scanning afterwards.
  • If a station does not answer within the retransmission budget, Hunter gives up and will not call it again for the rest of this Hunter session. Tapping Abort, or turning Hunter off and on again, clears that memory.
  • It logs the contact when its 73 goes out, then returns to scanning.

Each of those skips shows as a badge on the station's row, so you can see why a call went unanswered. See Why a station was passed over.

While Hunter is scanning, Next TX reads Pending Target and the pill stays on RX, because Hunter transmits nothing until it has someone to call.

Call order

A setting with two options:

  • Strongest signal — the default, and what Hunter has always done: answer the loudest CQ in the cycle.
  • Furthest distance — answer the most distant CQ instead, for chasing DX rather than easy contacts. Stations whose grid you do not know rank below every station that can be placed, and are ordered among themselves by signal strength — so in a cycle where nobody sent a grid this behaves exactly like Strongest.

Distance uses grids decoded off the air, never an online lookup, so it works with no network.

Hunter has no First to reply option, unlike Gatherer. Gatherer keeps a standing queue of callers waiting their turn, so the order they arrived in is meaningful; Hunter chooses among the CQs of a single cycle, where nobody is waiting.

Gatherer (automatic run)

Gatherer calls CQ continuously and works everyone who answers, in order, without stopping. This is the mode for running a pile-up during an activation or a contest.

  • Callers answering your CQ are collected into a queue, even while you are mid-exchange with someone else, so nobody is lost.
  • Gatherer works the queue one at a time: report, wait for their roger, RR73, log, next caller. When the queue empties it goes back to calling CQ.
  • Unlike Standard, Gatherer's CQ has no retransmission limit and keeps calling. The per-exchange limit still applies.

The queue card

Tap Queue (n) to open it. The station being worked sits at the top marked ACTIVE and stays there for the whole exchange; everyone else follows in the order they will be worked. Each row shows the callsign, the operator's name if a lookup service is configured, how long ago you last heard them, the report you will give them, and, on a second line, grid, country and state, distance and bearing, to help you prioritise.

  • Drag a row to move it. A row you move is pinned, so newly-heard callers never displace your placement.
  • Tap a station in the band activity list to send them straight to the top, without opening this card: a caller, someone calling CQ, or a station asking you to close. See Tapping a row. For a station in someone else's exchange, long-press its row.
  • Drag the ACTIVE row down, or drag another station above it, to work someone else first. The station you were working is not dropped — it keeps the place you gave it and is worked when it comes back to the top, starting its exchange again from the report.
  • Any transmission already going out finishes; the change takes effect from the next slot.
  • Swipe or use the delete control to drop a caller. Delete the ACTIVE row and the station being worked is dropped: the next caller takes the slot. Because that station is transmitting to you every cycle, dropping it also sets it aside for five minutes so it cannot immediately re-engage you — its rows carry a WAIT badge counting down. If you want it dropped but still eligible, drag it down the queue first, then delete it.
  • Gatherer keeps running behind the card; the list updates live.

The count on the button is the number of rows in the card — the station being worked plus everyone waiting.

Call order

A setting with three options: First to reply (first in, first out), Strongest signal, or Furthest distance (callers whose grid you do not know go to the back). Re-hearing a caller already in the queue refreshes their report and timestamp but never re-sorts them.

Stuck partners

Some software repeats a bare signal report forever instead of sending a roger. Rather than burn the whole retransmission budget, Gatherer bails after three of these and moves to the next caller. A station it has bailed on is left alone for five minutes so its next transmission cannot immediately re-engage you.

While that station is set aside, its messages carry a WAIT badge counting down the remaining time, so a caller being passed over is never a mystery. See Why a station was passed over.

Switching modes

Changing mode, band, or FT8/FT4 tears down whatever was in progress cleanly, and stops a CQ you were calling.

An automatic mode is disarmed rather than carried across: changing band or FT8/FT4 drops Hunter or Gatherer back to Standard and clears the call queue, so you re-arm deliberately where you now are instead of finding out afterwards what an armed mode did in a place you had not looked at yet.

Changing band or mode also clears the activity list, so what you see always belongs to where you are now.

During a POTA activation nothing is spotted at the moment you change band or mode. The QSY spot goes out when you next call CQ — which, in Gatherer, means when you re-arm it.

7. Retransmissions and unfinished contacts

Max retransmissions (Settings › Operations, default 10) is how many times the app will repeat the same message before giving up and returning to idle. It applies to every exchange message in every mode, and to CQ calls in Standard mode.

At ten repeats on FT8 that is up to five minutes of trying: generous for a weak station, and bounded so a dead exchange does not hold the frequency indefinitely.

The number in parentheses beside Next TX is how many copies remain after the one currently going out.

Late replies and the close-out

The contacts most worth saving are the ones that fail on the last step. You send RR73, they never hear it, and your budget runs out. A minute later their R-12 arrives, plainly saying "I never got your RR73."

Greyline keeps those exchanges alive:

  • When an exchange ends without confirmation, the station is remembered for 10 minutes.
  • If that station later transmits in a way that asks for closure, repeating their roger when you owe them an RR73, or repeating their RR73 when you owe them a 73, the app will send the closing message again, once per request. If that one is missed too, they'll ask again and get another. If they go quiet, the app doesn't keep transmitting at them: silence means your message landed, or that you can no longer hear them.
  • It does this only in a slot it would otherwise have spent idle: Standard when nothing else is going on, Hunter while scanning, Gatherer between callers. A close-out never interrupts an exchange in progress, and in Gatherer it takes priority over starting a new caller, since closing beats starting.
  • Your retransmission limit caps how many of a station's requests the app will answer. After that many, or after ten minutes, the entry is dropped.
  • Nothing is logged twice. The contact was already written to the log, and a close-out only puts the courtesy message back on the air.

Changing band or mode, or restarting the app, clears all of these, since a close-out fired on the wrong band would be wrong.

You can always do this by hand too: tap the late message in the band activity list and the app picks the exchange up where it left off.

8. Choosing your transmit frequency

The TX frequency mode decides how your transmit frequency is managed:

ModeIconBehaviour
Auto (default)wandThe suggested clear frequency from each receive cycle is applied automatically. You spread out into quiet spectrum without thinking about it.
HoldlockNever moves on its own. The suggestion is still drawn on the waterfall, but only a tap applies it.
Partnertwo peoplePicks a clear frequency when you start a CQ, but moves to match a station you engage.

Change it from the menu beside TX Frequency in the control panel, or in Settings › Operations › TX Frequency; both are the same setting. The icon beside the frequency on the Operate strip always shows the current mode. The menu is locked while you are transmitting.

Choosing a frequency yourself always wins. Tapping the waterfall, moving the slider, or Tune to on a station's details sets the frequency and switches to Hold from either Auto or Partner, so your choice isn't overwritten on the next cycle or the next QSO. The status line says so when it happens. To go back, tap the green Resume Auto button in the control panel, which appears in place of the suggested frequency while you're in Hold. It applies the current suggestion and switches to Auto in one step.

The app starts in Auto at every launch, since last session's clear frequency is stale.

9. Bands and modes

The band picker sets the audio passband the app expects and the dial frequency it records in your log. You still have to tune your radio to the dial frequency yourself, and the bar above the waterfall shows it, e.g. 20m FT8 · 14.0740 MHz USB. All bands are upper sideband.

The frequencies below are the conventional ones the app uses by default. If you work somewhere else on a band, see Working off the usual frequency further down.

BandFT8FT4
160 m1.840None
80 m3.5733.575
60 m5.3573None
40 m7.0747.0475
30 m10.13610.140
20 m14.07414.080
17 m18.10018.104
15 m21.07421.140
12 m24.91524.919
10 m28.07428.180
6 m50.31350.318
2 m144.174144.170

All frequencies in MHz.

FT4 uses 7.5-second slots and its own dial frequencies. 160 m and 60 m have no FT4 allocation, so those bands disappear from the picker in FT4, and switching to FT4 while on one of them moves you to 20 m.

You can have the app open on a specific band and mode every time, or return to where you left off, using Default Band and Default Mode in Settings.

Working off the usual frequency

Sometimes the conventional dial frequency is not where the activity is. A region has settled on something else, a contest specifies a frequency, or a group has agreed one for the evening.

Tap the band bar above the waterfall to set your own dial frequency for the band you are on.

Type it in either MHz or kHz. 7.071 and 7071 both mean the same thing, so you can enter whichever form your radio displays without converting. When you type kHz the sheet confirms what it will use, e.g. "Will use 7.0710 MHz", so there is no guesswork.

Once set, the band bar turns orange and gains a CUSTOM chip, so you can see at a glance that you are not on the usual frequency. The same chip appears next to the band picker in the control panel, and bands with a custom frequency are marked in the band menu itself, so you can tell before you switch to one.

This matters because that frequency is what the app reports everywhere: the FREQ field of every contact you log, the frequency in your POTA self-spot, and your PSKReporter reception reports. It is also what the live spots map filters on. Setting it correctly is the difference between hunters finding you and hunters looking in the wrong place.

A few details:

  • It is per band and per mode. A custom 40 m frequency for FT8 does not carry over to FT4, because the two use different dial frequencies anyway. Set each one you need.
  • It does not tune your radio. As everywhere else in the app, you still set the dial on the radio yourself. This tells the app what you have done.
  • Reset to default is in the same dialog once a custom frequency is set.
  • The app checks your entry against the widest limits of the band and refuses something well outside them, which catches a mistyped digit such as 7.71 for 7.071. The check applies the same either way you type it, so 7710 is refused just as 7.71 is. It is not checking your licence privileges, and it will not stop you using a frequency that is valid in your country but not in others.

By default, custom frequencies are cleared each time the app starts. This is deliberate: a frequency set for one contest should not quietly follow you into next week's operating and mis-report every contact. If you would rather keep them between sessions, turn off Reset custom frequencies on launch in Settings, and get into the habit of checking the band bar before you transmit.

10. Using the Tuning function

The Tune screen transmits a steady carrier so you can adjust your antenna, tuner, VOX or Drive settings. It runs at exactly the level your FT8 and FT4 transmissions use, so anything you set against it holds when you go back on the air.

Set a duration (5 seconds to 2 minutes, or Infinite), then Start Tuning. The screen goes black with a countdown large enough to read from across a field, plus Cancel and Extend buttons. The screen is kept awake while tuning, since you are probably not holding the device.

  • The carrier uses whatever transmit frequency is shown; the screen refreshes the clear- frequency suggestion when you open it so the displayed frequency is the one that will actually be sent.
  • All automatic transmission is suppressed while tuning.
  • Leaving the screen cancels the carrier. The transmitter is never left keyed with no visible countdown or stop button.

Setting your transmit drive

Drive controls how hard the app feeds your radio. It is on the Tune screen — before and during tuning — and beside the waterfall on the Operate screen. Both show the same value. The waterfall one can be turned off with Settings › Display › Show drive slider, which gives that width back to the waterfall; the Tune screen always has it.

It is separate from the phone's volume buttons, which still apply on top. That is the point: the volume buttons are coarse, shared with everything else on the phone, and easily knocked; Drive is fine (1 dB steps), remembered between sessions, and only affects transmission.

Drive only reduces. 0 dB is full output. Going higher isn't possible, because the audio is already at maximum before it leaves the app, and anything more would distort. If 0 dB is too quiet for your radio, turn the phone's volume up, or raise the input gain on the radio or interface. WSJT-X calls this same control "Pwr".

To set it:

  1. Start tuning, and watch the ALC meter on your radio.
  2. Drag Drive down until ALC barely moves, or sits where your radio's manual recommends for data modes.
  3. That setting is correct for FT8 and FT4 as well: the tuning carrier is transmitted at exactly the level your transmissions use.

Changes take effect immediately, even in the middle of a transmission, so you can adjust while calling CQ and watch the meter respond.

Overdriving is the most common cause of a wide, distorted signal — other stations see it as splatter, and it wins you nothing. If your ALC pegs at any usable Drive setting, the drive into your radio is too high somewhere else in the chain: try the radio's data or ACC input gain setting.

  • Tuning works even from a cold start: it will bring the audio up on its own and put it back afterwards.

Be considerate: find a clear frequency before you key up. A tuning carrier on top of someone's QSO is unmistakable.

11. POTA activations

Turn on POTA Activation in the control panel and the app switches your CQ to CQ POTA, scopes your log to the activation, and optionally spots you to the POTA cluster.

Setting the park

Type the reference (US-1234) and the app checks it against pota.app as you type:

IndicatorMeaning
SpinnerChecking.
Green tick plus park nameConfirmed.
Red crossNo park with that reference.
Grey Wi-Fi-slashCould not reach POTA. The reference is accepted anyway and spotting still works.

Tap the location-magnifier button to list parks in your grid square, nearest first. Pick one and the reference fills in for you.

Self-spotting

With Self-spot to POTA enabled (Settings › Spotting, on by default), the app posts to the cluster automatically:

  • when you start calling CQ,
  • when you change band or mode — the QSY spot goes out as you resume calling CQ, not at the moment you change,
  • every ten minutes while you are running, so your spot stays near the top,
  • and once when the activation ends.

A status line under the park field names the last spot that went out and how long ago:

LineWhat went out
Activation startingThe first spot of this activation.
AutospottedThe ten-minute refresh, posted on its own.
QSY sentA new band, mode or frequency was announced.
QRT sentThe closing spot as the activation ended.

The age counts up as you sit there — Autospotted · 4 min ago — so a glance tells you whether the cluster still has you. A spot that fails says so in orange instead. When you switch POTA off, the panel stays up for a few seconds so you can watch the closing spot land.

Turn the setting off to activate without spotting at all; everything else about the activation still works.

The activation counter

While an activation is running, the log's summary bar grows a This park counter: red below five contacts, yellow from five, green at ten, which is the POTA minimum for a valid activation.

It counts credited contacts, which is not the same as rows in the log. POTA gives one credit per callsign per band per mode per UTC day, so:

  • Working the same station again on another band or mode counts again.
  • Working the same station twice on the same band and mode does not, and the second row is flagged DUP in the log.
  • At 0000Z the counter restarts, because POTA scores each day separately. An activation that runs through midnight needs a fresh ten contacts on the new day.

The automatic modes use the same rule: during an activation they will re-work a station from yesterday, because that is a new credit.

Changing parks

Confirm a different reference while an activation is running and the app treats it as two separate activations. The old one gets a closing spot, a "POTA Ended" divider in the log, and its own export entry; the new one starts fresh. Fixing a typo before you have spotted or logged anything just corrects the reference in place.

If the app is interrupted

iOS cannot tell a deliberate quit from a background kill, so if you relaunch within an hour of an activation that was never closed out, the app asks: "Are you still at US-1234?"

  • Resume picks the activation back up, so contacts keep landing in the same run and the counter continues from where it was.
  • End It closes it out and leaves POTA off.

Activations left open by older sessions are closed out automatically at launch, stamped with their last contact rather than the current time.

Exporting an activation

The log's export menu lists each activation separately, so you can send POTA exactly the contacts for that park and nothing else. Exporting the activation that is still running asks whether this ends it: Export & End Activation closes it out and sends the closing spot, while Export & Keep Activating is just a snapshot.

12. The log

The summary bar

Total, Today, DXCC (unique entities worked), and This park during an activation. New QSO opens a manual entry form.

If you have configured any logbook services, a small legend shows a coloured dot per service, QRZ teal, Cloudlog blue and World Radio League purple, matching the dots in the Upload column. A contact that a service rejected shows an X in that service's colour instead of an empty dot.

The table

ColumnNotes
Date / UTCAlways UTC. The date carries the year (08-Sep-26), since a log spanning years — or holding imported contacts of any age — makes a bare day and month ambiguous.
CallCarries a DUP badge when the contact shares POTA credit with another contact in the same activation. Both rows of a pair are flagged. A DUP is still a real contact and is exported normally. An EXT badge means the row sits between two contacts of a POTA activation without belonging to it — external to that run. See Sorting.
Band / Mode
Sent / RcvdSignal reports.
GridTheir grid.
Country / NameResolved from the callsign offline, and enriched from a lookup service if one is configured.
UploadOne dot per configured logbook: filled when that contact has been uploaded there, hollow when it has not. An imported contact shows a download arrow instead, since imports are never uploaded anywhere.

Search filters by callsign, band, country or name.

Sorting

The sort button (⇅) in the toolbar offers:

  • Date (newest first) — the default. Every contact in date order, wherever it came from.
  • Log order — the order contacts entered the log: ones you made newest-first, with each imported batch after them regardless of its dates.

Log order was the only behaviour before, and it is why an imported contact could seem to vanish: import a LoTW report of contacts from last week into a log with thousands of entries and they land at the very bottom, findable by search but nowhere near the date you expect. Sorting is display only — it never rearranges the stored log, so exports, POTA activation grouping and the dividers below are unaffected by it.

A wrinkle in older logs. An import is placed newest-first, matching the contacts you make, so log order runs newest-to-oldest throughout. Batches imported by an earlier version of the app kept whatever order the file itself used, and most logging programs export oldest-first — so in a log holding one of those, log order reads oldest-first from the point that import begins. Nothing is wrong with those contacts and re-importing will not rearrange them (they would all be skipped as duplicates); sort by date, which ignores how they arrived.

One consequence of date order is worth knowing. A contact that is not part of an activation can now fall between two contacts that are — an imported contact dated during a past activation, most often. It carries a red EXT badge to say so: it sits inside that run but is external to it and will not appear in its export. Contacts from activations made before the app tracked activation identity are never badged, as there is nothing to compare them against.

Dividers

The log grows horizontal dividers to mark events, so you can see at a glance what belongs to what:

  • Exported 42 entries · 12 Aug 2026 14:03Z marks where an export ran. Anything above the line was logged since.
  • POTA Start US-1234 (green) and POTA Ended US-1234 (yellow) mark the boundaries of an activation.

Dividers are hidden while searching.

Exporting

The export menu offers:

  • Export All: the whole log.
  • Export All Since Last: everything logged since the previous export.
  • One entry per POTA activation: scoped exactly to that activation's contacts, with the park reference in the filename. A tick marks activations already exported.

Files are standard ADIF (.adi) and go through the normal iOS share sheet: AirDrop, Mail, Files, whatever you use. The "Exported" divider is only recorded if the share actually completes, so backing out of the share sheet does not leave a phantom mark.

Importing

Import ADIF reads an .adi or .adif file. The result tells you how many contacts were imported and how many were skipped as duplicates, as non-FT8/FT4 modes, or as malformed records. Imported contacts count toward your duplicate checking, since they are your own history of who you have worked, but they are never uploaded to a logbook.

Uploading to a logbook

Configure QRZ, Cloudlog and/or World Radio League in Settings and turn on their auto-log toggles, and each contact uploads in the background as it is logged. Nothing about that ever blocks operating; a failed upload just leaves the contact pending.

The cloud button in the toolbar shows how many contacts are still pending. Tap it for a menu that uploads them on demand, to one service or, with more than one configured, to all.

Contacts that are already on the service

If you've already sent your contacts another way, for example by exporting an ADIF file and importing it on the service's website, the pending count no longer means anything. Uploading them again doesn't help: World Radio League stores a second copy of each contact, and QRZ refuses them and reports a failure.

Two items at the bottom of the cloud button's menu deal with this.

Recheck Uploads asks each service whether it already has each pending contact, and marks the ones it has as uploaded. It never uploads anything. A contact counts as already there only if the service has the same callsign, band and mode within two minutes of the same time, so a contact it doesn't have stays pending. When it finishes, it tells you how many contacts were found on each service and how many are still pending.

  • World Radio League can be rechecked. Contacts in any of your logbooks count.
  • QRZ can be rechecked. QRZ keeps only the minute of each contact's time, which the two-minute allowance covers.
  • Cloudlog can't be rechecked: its API has no way to look up a contact.
  • The item appears only when a service that can be rechecked is configured.
  • Large rechecks pause and continue on their own if the service asks them to slow down.

Clear Pending Count is for contacts that recheck can't confirm, and for services it can't ask. It sets the count to zero for every configured service. It asks for confirmation first and shows how many contacts it will clear for each service.

  • Your log isn't changed. The contacts stay in the log, still marked as not uploaded, and you can still upload any of them later from Select.
  • Their upload failures are cleared too, so the warning above the search field goes away.
  • Contacts you log afterwards upload and count as usual.
  • It can't be undone.

When an upload fails

A warning appears above the search field only when something has actually gone wrong, so it costs you no space the rest of the time. It names the service and the reason, and counts the contacts affected. It clears itself once those contacts upload, once you replace the key, or once the service verifies successfully.

View opens a list of everything that failed, grouped by reason, showing the callsign, band, mode and park for each contact. Retry All attempts them again.

Common reasons:

What you seeWhat to do
No internet connectionNothing. Contacts stay pending and upload when you have signal again.
Authentication failedCheck the API key in Settings and verify it.
Needs to know which logbook to useChoose a default logbook in Settings, under World Radio League.
Rate limit reachedNothing. Large uploads pause and continue on their own.

If a large upload stops early it tells you how many contacts are left. Upload from the cloud button again to carry on from where it stopped.

Selecting contacts

Select enters selection mode, where you can upload, export or delete a group of contacts. Services the selection is already fully uploaded to are omitted from the upload menu. Deletion asks for confirmation and cannot be undone.

Manual entry

New QSO opens a form for contacts made outside the app, pre-filled from your most recent exchange where possible. Callsign and both reports are required; date and time are UTC. The saved contact is enriched with country and lookup data and uploaded to your logbooks just like an automatic one.

13. Mapping

One map, three things it can show. Pick with the first dropdown at the top left; the second picks how far back to look: 5, 15, 30 or 60 minutes, or longer. Each view remembers its own choice.

For Live Spots and Stations Heard, the longest choice is This band/mode: everything since you last changed band or mode, or since the app started. The line under the dropdowns says when that was, for example 20m FT8 since 14:05 (UTC). Changing band or mode starts both views again from empty, and the timed windows never reach back past that point either.

Live Spots

Stations that have reported hearing you on pskreporter.info, for the current band and mode. Refreshed every five minutes automatically; the refresh button forces it. Dots are coloured by the latest report each station gave you: blue weak, green good, orange strong. Opens on This band/mode by default.

Reports reach pskreporter.info in batches, so the 5-minute window can look empty just before the next refresh.

Stations Heard

Stations you decoded, coloured the same way. Opens on the last 15 minutes by default. Only stations whose grid the app has seen can be plotted.

Contacts Logged

Every grid in your log, across all bands, coloured by band. A grid worked on several bands fans out into a small cluster as you zoom in. The window here runs over your whole logbook, not just this session.

The map centres on your grid when it opens. Which mode it opens in is a setting: Settings › Display › Default Map View.

14. Settings reference

Station

  • Callsign: required to transmit.
  • Grid Square: required to transmit. Toggle Use device GPS to derive it from your position, or turn GPS off and type it.
  • TX Power (W): optional, and recorded in your log and exports.
  • CQ Addendum: inserts a word into your CQ, choosing from IOTA, POTA, SOTA, DX, QRP, or custom text. Your CQ becomes e.g. CQ POTA KB0RB DM04.

Display

  • Appearance: Dark, Light, or System.
  • Distance Units: Automatic (follows the device), Miles, or Kilometers.
  • Default Map View: which Mapping mode to open in.
  • Only show CQs: the launch state of the band-activity filter, either On, Off, or as you left it.
  • High Visibility: taller rows and larger text throughout the band activity list, whether or not the filter is on. It shows fewer rows at once. On iPhone the DT column is hidden to make room, which leaves the message column more space than the standard layout.
  • Show drive slider: shows the transmit Drive slider beside the waterfall. Off gives that space back to the waterfall; the Tune screen's slider is always available. See Setting your transmit drive.
  • Keep Screen On: stops the device sleeping while the app is open. Recommended for long sessions.
  • Auto-calibrate Waterfall: on by default, tracking the band noise and adjusting the display continuously. Turn it off for a fixed floor you set yourself, either with the slider here or by dragging vertically on the waterfall. Always starts on at launch, since a floor from last night's band conditions is rarely right today.

Operations

  • TX Frequency: Auto, Hold or Partner. See Choosing your transmit frequency.
  • Default Band and Default Mode: open on a specific band and mode, or return to whatever you last used.
  • Max retransmissions: 1 to 99, default 10.
  • Reset custom frequencies on launch: on by default, clearing any custom dial frequencies each time the app starts. Turn it off to keep them between sessions. See Working off the usual frequency.
  • Allow duplicates in auto modes: off by default, so Hunter and Gatherer skip stations already worked on the current band and mode. The same station on a different band or mode is a new contact and is still worked. Turn on to work duplicates outright.
  • Gatherer Call Order: First to reply, Strongest signal, or Furthest distance.
  • Hunter Call Order: Strongest signal (default) or Furthest distance. See Call order under Hunter.
  • Tune Duration: how long the tuning carrier runs before stopping itself.

Spotting

  • Upload spots to PSKReporter: off by default. Reports the stations you decode to pskreporter.info so they can see who heard them. Requires a callsign and grid, and makes both public.
  • Self-spot to POTA: on by default, posting self-spots while activating. Makes your callsign, grid and frequency public.

CQ Filtering

Controls which CQ calls the automatic modes will engage with, based on the word in the CQ. Manual operating is never filtered.

  • All: respond to any CQ.
  • Exclude: ignore stations calling with the selected words. Useful for staying out of a contest you are not in.
  • Only: engage only stations calling with the selected words. Useful for hunting parks or summits.

Tick the words to match from the standard list, and add your own (up to 4 characters) for contests the app does not know about. Custom entries appear in blue and can be edited or swiped away.

Audio

Shows the current input and output devices and warns while a device change is settling. Plug your interface in and the app finds it; there is nothing to select.

Callsign Lookup & Logging

Three services, three different jobs. All credentials are stored in the device keychain and never leave it except to the service they belong to.

ServiceUsed forNeeds
QRZ Logbook API keyUploading your contacts to your QRZ logbookThe API key from your QRZ logbook settings
QRZ username + passwordLooking up names, QTH and gridsA QRZ XML subscription
HamQTH username + passwordLooking up names, QTH and grids, worldwideA free HamQTH account
Callook.infoUS callsign lookupsNo credentials, used automatically
Cloudlog URL + API keyUploading contacts to Cloudlog or a compatible logbookServer URL, API key, and station profile ID
World Radio League API keyUploading contacts to your WRL logbooksThe API key from your WRL account, which needs a paid membership

Lookups are tried in order: QRZ, then HamQTH, then Callook. Each service has a Verify or Test Login button so you can confirm the credentials before you rely on them, and each logbook has its own Auto-Log toggle, which stays disabled until the credentials are filled in.

A note on Cloudlog and POTA: Cloudlog applies the park reference from the station profile you point at, overriding the one in the uploaded contact. If you activate several parks, make sure the station profile matches, or export ADIF for POTA instead.

World Radio League

Pick a Default Logbook and your contacts go there. The list loads from your account, so verify your key first.

A logbook for each POTA activation is on by default. With it on, every activation gets its own logbook, named for your callsign, the park and the date, for example KB0RB @ US-4578 08-22-2026. The logbook is created when the first contact of the activation uploads, so an activation you never work anyone at leaves nothing behind. Turn it off and everything goes to your default logbook instead.

Each POTA contact also carries its park on the contact itself, so World Radio League knows where you operated from whichever way the switch is set. With the switch on, the park appears twice — in the logbook's name and on every contact in it. With it off, the contacts still carry their park, even though they share your default logbook. Export ADIF for your POTA submission as usual.

If World Radio League does not recognise the park, it would normally refuse the whole contact. Rather than leave that contact stuck unuploaded — Greyline has no way for you to correct a park reference once a contact is logged — it sends the contact again without the park. You will see a notice at the top of the log saying so, and the contact keeps a purple NO PARK badge afterwards, so you can find it later. The contact is complete apart from the park, and your own log and ADIF export still have the park you entered. With per-activation logbooks on, the contact still lands in that activation's logbook, whose name carries the reference you typed — so a mistyped park stays visible there too, and the whole run stays together.

Contacts from activations you ran before this feature existed still go to a park logbook. Greyline works out which activation they belong to the same way the POTA export menu does, by grouping a run of contacts at one park. That works for the great majority of older activations, but it can get it wrong in a few cases: a non-park contact logged in the middle of an activation splits it in two, and two visits to the same park on the same day are treated as one.

If contacts land somewhere you did not intend, you can move them between logbooks on the World Radio League site. Greyline cannot move them for you, because their API does not yet offer it.

It is worth setting the default logbook and the per-activation switch the way you want them before you start, since Greyline cannot move a contact once it has been uploaded.

About

Author and version, plus:

  • CTY Data: the DXCC country file that resolves entities offline, with its release date and a refresh button. Auto-update CTY Data checks weekly in the background. Country data comes from Jim Reisert AD1C's cty.csv.
  • Links to connection and cabling guides, field notes, and e-mail support
  • Re-run first-time Setup
  • Diagnostics and Licenses

15. Diagnostics

Read-only. Nothing here changes how the app behaves; it exists so a problem can be identified from a screenshot.

Device Clock

The offset between your device clock and network time. Anything beyond ±0.2 s is worth fixing in iOS Settings › General › Date & Time. A fast clock shifts your slot alignment and inflates the DT of every station you hear, which looks identical to an audio problem but is not.

Audio Clock

External USB interfaces have their own crystal, so their sample rate is never exactly what they claim. A steady positive deviation means the capture clock runs fast. "Projected drift" is how far your slot alignment would move in an hour. Small values are normal and compensated for.

Timing (DT)

Raw DT is what the decoder sees; compensated DT is what the band activity list shows after subtracting the app's own audio latency. Drift is how much the raw figure has moved since early in the session.

Audio Route

Which devices are actually being used for input and output.

Transmit

Counters for transmissions started and completed, plus TX drive, the level set by the Drive slider. "Never completed" is the number to watch: it counts transmissions whose audio was handed to the system but never reported finishing, which is the signature of a radio's USB CODEC stalling.

Timing Health

Everything else in Diagnostics describes the radio and the audio path. This section watches the app itself, and it is the first place to look if other stations stop answering you without any obvious cause.

FT8 and FT4 transmissions must start on the slot boundary. The app decides what to send at that instant, so if it is busy with something else, the transmission starts late. Its end still lands on the boundary — the opening is cut off instead — so a small delay costs you nothing and a large one means nobody decodes you.

RowWhat it means
Boundary transmissionsHow many transmissions this session started on a slot boundary. Tapping to transmit mid-slot is not counted.
Started lateHow many of those reached the radio more than 250 ms after the boundary.
Worst delayThe largest delay seen this session.
Decodes too late to useHow many times a slot's decodes arrived after the next transmit decision, so the app answered using the previous cycle. This is what makes the app repeat a message instead of replying to what it just heard.
Stale decodes droppedHow many times a slot's decodes were discarded because you changed band or mode while they were being decoded. They would otherwise appear in the new band's list and be reported to PSKReporter on the wrong frequency. Up to one per change is normal and not a problem.

Started late should stay at 0, Decodes too late to use at or near 0, and Worst delay in the tens of milliseconds. For reference, eight hours of automatic operation on a real station measured a worst delay of 81 ms, no late transmissions, and 2 late decodes out of roughly 1,900 — an occasional late decode on a crowded band is normal.

Numbers that climb as a session goes on are the signature worth reporting: the app is gradually slowing down rather than failing outright. Reset timing stats clears the counters, which is useful for testing one thing at a time — reset, run for ten minutes with the Band Activity list filtered down or a screen closed, and see whether the count moves.

If it happens to you, the useful bug report is these four numbers plus how long the app had been running, your device, and whether an external display was attached. That is enough to reproduce it; a description of the symptom alone usually is not.

Audio Session

Interruption and recovery counters, for diagnosing what happened after a phone call or a Siri activation.

16. Troubleshooting

Nothing is decoding

Check the status pill reads RX, not Stopped. Check the RX Level meter is moving. If it reads QUIET, the audio is not reaching the app: check the cable, the interface, and that iOS granted microphone access. Check you are on the right dial frequency for the band and mode shown above the waterfall, and that your radio is in USB.

I decode fine but nobody answers me

Your radio is probably not keying. Greyline transmits audio only, so VOX or data-VOX must be enabled on the radio. Confirm the yellow rows appear in the band activity list when you transmit, which means the app sent audio, and watch for RF output on the radio.

It worked for an hour, then stations stopped answering

Check Diagnostics › Timing Health. If Started late is climbing or Worst delay has grown into the hundreds of milliseconds, your transmissions are leaving after the slot boundary with their openings cut off, and the far end can no longer decode them. The orange Timing slow warning on the Operate screen means the same thing.

This is the app falling behind, not the radio. Backing out of a busy screen, clearing a very long band activity list, or restarting the app all buy it back. Please report it with the four Timing Health numbers, since it is a bug rather than something you should have to work around.

A camera or screenshot sound went out over the air

In some markets, notably Japan and Korea, the law requires the camera shutter and screenshot sounds to play at all times and they cannot be silenced, muted, or turned down. On those devices the sound is mixed into the audio your phone is sending to the radio, so taking a screenshot during a transmit slot will put that shutter tone on the air.

There is nothing Greyline can do about this, since the sound is generated below the app and is deliberately outside any app's control. Take screenshots during a receive cycle instead: watch the slot timer and capture while it reads RX or DECODE, never TX.

Every station shows a large DT

That is usually your clock, not theirs. Open Diagnostics and check the clock offset.

The waterfall is all one colour

Either the level is far too high, in which case everything reads red and you should turn the audio down at the radio, or the floor is set wrong. Turn Auto-calibrate Waterfall back on, or drag vertically on the waterfall to adjust.

An "Audio Device Disconnected" alert appeared

iOS fell back to the built-in microphone and speaker, usually because the interface was unplugged or lost power. Reconnect it, or choose Use Internal Audio to carry on with the device's own audio.

A "Bluetooth Audio Is Experimental" pop-up appeared

The app switched to a Bluetooth microphone and speaker because no USB or wired interface was connected, and paused audio until you choose. Use Bluetooth Audio resumes on that device; Close leaves audio stopped. It works, with the caveats under A transceiver with a sound-card interface. The warning appears every time a Bluetooth device is connected.

The app stopped decoding while I was doing something else

Greyline only runs while it is on screen. Come back to it and it restarts. Turn on Keep Screen On so the device does not sleep mid-session.

Hunter keeps skipping a station I want to work

It is either already in your log for this band and mode (the CQ row will be green), excluded by the CQ filter, or it timed out on Hunter earlier in this session. Tap the row to work it manually: a tap ignores every filter, and it does not turn Hunter off — Hunter works the station you picked and then goes back to scanning.

If Hunter keeps choosing stations you would rather it did not, Hunter Call Order in Settings › Operations decides which of the CQs in each cycle it answers. See Call order.

Gatherer left someone unworked

Check the queue card. Callers already worked on this band and mode, callers excluded by the CQ filter, and callers Gatherer recently bailed on are not queued — nor is a station you dropped from the card, for five minutes. A WAIT badge on their messages counts that down.

To work one of them anyway, tap their row in the band activity list: that forces them to the top of the queue regardless of why they were passed over.

A contact I made is missing from the log

Contacts are logged when the exchange completes from your side. If it stopped earlier than that, use New QSO in the log; the form pre-fills from the most recent exchange.

17. Glossary

Addendum: the optional word after CQ (CQ POTA W6ABC) declaring what you are doing.

Close-out: resending a final RR73 or 73 to a station whose exchange did not confirm, after they ask again.

DT: the difference between when a station's transmission arrived and when the slot started. A measure of their timing accuracy.

Dupe / DUP: a contact that does not earn fresh POTA credit because you already worked that station on the same band, mode and UTC day.

Grid square (Maidenhead locator): a short code for your location, e.g. DM04.

Passband: the 200–3000 Hz range of audio the app listens to and transmits in. Your station's frequency inside it is separate from your dial frequency.

Roger (R-12): a signal report with an acknowledgement attached, meaning "I got your report, and here is mine."

RR73: "received, roger, and 73." The CQ-ing station's confirmation that the contact is complete.

Slot: the fixed 15-second (FT8) or 7.5-second (FT4) transmit window, aligned to UTC. Stations alternate slots; one transmits while the other listens.

SNR: signal-to-noise ratio in dB, reported the way WSJT-X reports it, so the figures are directly comparable with other stations'.

Credits

Greyline FT8 is built by Jon Schulman, KB0RB.

Decoding and encoding use ft8_lib by Peter Backlund (kgoba), MIT licensed. Maps are rendered by MapLibre Native with tiles from OpenFreeMap and data from OpenStreetMap contributors. DXCC country data is cty.csv by Jim Reisert AD1C, with data from Club Log. The FT8 protocol itself is the work of Joe Taylor K1JT and the WSJT-X team.

Questions, bug reports and photos from the field are always welcome at support@greylineft8.com.

73 de KB0RB