Skip to content

Tutorial CW

adswill edited this page Oct 17, 2026 · 1 revision

Tutorial: CW (Morse code skimmer)

What it is

CW is Morse code sent by switching a carrier on and off. OnAir works as a skimmer: it listens to a 14 kHz window around the dial frequency, finds every Morse signal in it, decodes them all at once and lists their speed, signal-to-noise ratio and text, with callsigns highlighted.

What you need

  • An HF-capable receiver. An SDRplay or an Airspy HF+ tunes the HF bands directly. An RTL-SDR reaches HF only in direct-sampling mode (Radio settings, see Radio-RTL-SDR; the RTL-SDR Blog V4 uses its built-in up-converter). A HackRF or another radio that starts above the HF bands needs an up-converter such as Ham It Up or SpyVerter, which you pick in Radio settings so that the whole app shows the true frequency (see Supported-radios). The mode asks for 2 Msps and keeps working down to 250 ksps, so even a small radio is enough: the signals sit within about 3 kHz of the dial frequency.
  • An HF antenna: a long wire of 10 m or more as far from household electronics as you can get it, a dipole cut for the band, or a magnetic loop for a noisy site. Keep the feed line away from switching power supplies and LED lighting, which are the usual source of S9 noise on a city balcony.
  • Frequencies (USB dial; CW is a narrow signal): the QRP calling frequencies 1.83, 3.56, 7.03, 10.106, 14.06 (close to the default 14.02), 18.096, 21.06, 24.906 and 28.06 MHz. The panel shows the IARU Region 1 CW segment of the band you are on, and the window covers +-7 kHz around the dial.

Before you start

Lower the gain until the ADC level in the status line is well below full scale: strong broadcast stations next to an amateur band overload a direct-sampling RTL-SDR easily, and the result is spurs that look like signals. Use Auto-tune or Optimise gain (see Your-first-reception) rather than guessing. Choose upper sideband for all dial frequencies in the lists below; the decoders listen from the dial frequency upwards. A DC spike in the middle of the spectrum is normal for some radios and is not a signal: leave a few kHz of offset if you can. CW stations pile up in the bottom of each band; put the dial in the middle of the CW segment so that as many signals as possible fall into the +-7 kHz window.

Step by step

  1. Connect the radio and antenna and start OnAir. In the mode list open the group Amateur: digital and choose Morse (the entry reads Morse, 14.020 MHz).
  2. Tune to the CW segment of a band; the Band row jumps between the usual places. Press Start; before that the panel says start the receiver to skim the band.
  3. Look at the waterfall: each steady horizontal line that appears and disappears in Morse rhythm is a station. They are listed in the table with kHz, WPM, SNR and Text.
  4. Click a signal on the waterfall or in the table to read it in the big text pane (click a signal on the waterfall or in the table to read it here).
  5. Tick the sidetone option to hear the focused signal as a keyed tone at the pitch you choose (400 to 1000 Hz), or press Listen for the plain audio.
  6. Look at the CALLSIGNS list: callsigns found in any decoded text are collected there.

What you should see

Several signals at once in the table; speeds from about 10 to 40 WPM in contests. The status line gives the noise floor (dB per bin), the number of characters decoded and the number not in the table (a character the Morse table does not know). A clean strong station decodes with almost no errors; a weak, fading one gives missing letters.

Reading the screen

Signals table: kHz (the frequency), WPM (the speed; Farnsworth spacing is shown when the gaps are longer than the dots imply, and measuring the speed appears at first), SNR in dB, and Text. CALLSIGNS shows the callsigns found and Call the one in the focused signal. The spectrum shows +-7 kHz around the dial.

Options and settings

  • Threshold: how far over the noise floor a carrier must be to get its own decoder. Lower it to catch weak signals, raise it if noise creates false decoders.
  • Sidetone and Pitch (400 to 1000 Hz): hear the focused signal keyed by its decoder.
  • Clear and Listen.

Troubleshooting

  • Nothing decoded but carriers visible. The signal is too fast, too slow or too weak. Lower the Threshold a little.
  • Lots of garbage lines. Threshold too low or an AGC pumping receiver: raise the threshold and lower the gain.
  • Decoded text full of E and T. Noise is being decoded; raise the threshold.
  • Wrong speed. The speed is estimated from the first dots and dashes; wait a few characters.
  • Hand-sent (bug or straight key) Morse reads poorly. Irregular timing is hard for any decoder.

Tips

  • Skimming a contest band gives a good idea of who is on and from where, in the same way as a skimmer network.
  • Keep a recording (Tutorial-Record-IQ-then-the-Signal-workbench) of a good opening and replay it to try the settings.

Legal and privacy notes

Receiving amateur signals is allowed in most countries; the text is public by design. Transmit works in OnAir and has been used on a real radio by the maintainer and in loop-back tests; you need an amateur licence to transmit (see Transmit and Legal).

Under the hood

CW is on-off keying. OnAir detects every carrier in the window, measures the dot length to find the speed in WPM, and decodes with an adaptive threshold and a Morse table. Speed is defined with the word PARIS (50 dot units).

Related

Mode-CW, Tutorial-PSK31, Tutorial-RTTY, Tutorial-FT8, Radio-RTL-SDR, FAQ, Troubleshooting

Clone this wiki locally