CW

A keyer, a decoder, and a passband scope that ties them together.

Before anything: two radio states that make CW look broken

The radio accepts a CW message and silently ignores it in two situations, so ShackNerd checks both and tells you instead of letting you wonder:

Sending

Clicking a macro loads its text into the send box, where you can read what %C and %R will become and edit before anything transmits; the Send button is the only thing that keys the radio.

Type into the message box and send, or use the macros. Messages are limited to what the radio accepts, thirty characters, and validated before they key anything. STOP aborts a message in progress and is never refused, and the WPM slider beside it sets the radio's own keyer speed without a trip to the front panel. When the decoder is reading a station, its measured speed shows beside the Decoded heading, the number that decides whether to answer.

Macros cover a whole contact out of the box: CQ, answering, a report, exchange, handover and 73. Two placeholders make them reusable:

Type the other station's call once and every macro fills it in. Edit the Info macro to carry your actual name and QTH.

The trainer

The CW panel ends with a trainer: copy, groups, QSO, text, pileup, send, stats, and a reference chart. Your progress follows you: every browser pointed at your station shares one record through the daemon, so the phone picks up at the level the desktop reached, and the backup file carries it too.

The chart tab is the whole code on one screen: letters, numbers, punctuation and the common prosigns, each tappable to hear it at your current speed, prosigns run together the way they sound on the air. It is the reference, not a drill; nothing there is scored.

Copy runs in sessions of twenty five characters with a report at the end. You start with K and M together, Koch's actual method, because telling two rhythms apart is the skill and a single character contains no listening at all. Each character plays, you press its key, and a miss replays the same character until you have it: the pattern shows after the miss, as feedback, never as the prompt. Characters you miss come up more often on their own, the colored letter row shows where every character stands, and ninety percent in a session unlocks the next character. Past the fortieth, the ladder continues as speed: a Squeeze spacing button raises the Farnsworth rate one word per minute at a time, shrinking the thinking gap between letters until copy runs at full character speed.

Groups is the bridge from characters to real copying: groups of two from your learned set, growing to three and five as your accuracy holds.

QSO plays a whole exchange line by line, ragchew or contest style, with random callsigns and reports each time: copy the line, check, see the truth, next. This is the ritual you will hear on the air, so by the time your first real contact comes you have already copied a hundred of them. Text is the endurance half: short passages sentence by sentence, scored by words.

The send trainer reuses the material: switch it to phrases and it asks for real lines with your own callsign, CQ CQ DE you K, a report, a QTH, a 73, graded by the decoder like everything else.

Send is the half no practice oscillator can offer. With break-in off the paddle keys only the sidetone: nothing transmits. The trainer names a target, you send it, and the same decoder that reads the band prints what your fist actually said. The sidetone has to reach the decoder, and the route depends on how your radio is connected:

Left-handed? Set Paddle Polarity to REVERSE in the radio's keyer menu before your muscle memory forms, not after.

The decoder

Morse heard on the receive audio appears as text in the panel. The decoder finds the tone itself, follows the sender's speed itself, and stays quiet on an empty band rather than inventing letters from noise. Strong, cleanly keyed signals read well; weak and fading ones degrade the way they do for every decoder, including the radio's own. Treat it as a crutch while your ears learn, and a safety net for a missed callsign.

The passband scope

Above the keyer, a second waterfall shows the few kilohertz inside your filter, fine enough to separate signals 100 Hz apart:

Who heard your CQ

With Reverse Beacon Network spotting on, the panel beside the keyer shows who decoded your CQ around the world within seconds, with signal reports and the speed they measured. It lists CW reports only; the digital modes' reception reports live with the log. Twelve spots and no answers means the band is fine and everyone is lazy, which is useful to know.

The pileup simulator

The trainer's pileup tab is the contest drill: call CQ and up to six stations answer at once, each at its own pitch, speed and strength, some fading with QSB. Copy one call out of the tangle, type it, work them, and the next wave answers. Clean streaks deepen the pileup; misses thin it. In the app, callers are drawn from stations genuinely on the air when the DX cluster watch is running. And the trainer now works offline: visit it once and it loads with no connection, which is what long flights are for.