CW Complete Trainer

USER GUIDE  ·  by HB9HKN  ·  v3.0.35
Get it on Google Play

10Settings

Open Settings from the launcher screen. Five sub-sections cover all configurable parameters. All changes take effect immediately and are saved automatically. Read this section together with the feature descriptions below — the settings directly shape how every exercise sounds and behaves.

Factory Reset (at the bottom of Settings → General) restores every setting to its default value without affecting your onboarding status or score history.

3.1 General

These settings apply to all training modes.

SettingDefaultDescription
Exercise Length
Exercise length modeBy minutesMinutes: truncate at N×WPM×5 characters. Chars: truncate after N characters. Tap the segmented button to switch; the value field below adapts.
Duration / Character count5 minMinutes or character count used when a limit is set. Available values for Minutes: 1, 2, 3, 4, 5, 7, 10, 15, 20, 25, 30.
Speed
High Speed TrainingoffUnlocks the WPM ceiling from 40 to 80 for all training sliders and auto-speed. Enable when practising high-speed copy. Quick-game speed ladders (Character, Word, Phrase) are clamped at 60 WPM regardless of this setting.
HCB (Head Copy Booster)onWhen enabled, some exercises play at a higher speed first and then drop to a slower speed before the text is revealed, forcing you to copy without visual cues. Applies to Word and Sentence training; not applicable to Character Training, QSO Training, Web Browsing, or story/file playback. Leave it on — together with TTS, it's the app's main mechanism for real Instant Character Recognition, see Philosophy.
Head-Copy ModeonNot to be confused with HCB above — this is a separate, screen-blanking feature. About 1 second after playback starts, the screen goes dark and the device is allowed to sleep, so you copy entirely by ear instead of reading along. Applies to the Player screen, TTS/QSO training, Web Browsing, and story/file reading; Quick Games are exempt. Turning this on also force-enables TTS, since Head-Copy Mode is meant to be used together with spoken confirmation.
Speed (WPM)25Character transmission speed using the PARIS standard (1 dit = 1200 / WPM ms). As of v2.0.3, speed is always adjusted here — the player screen no longer has its own WPM slider; a tappable speed badge is shown instead (tap → Settings → General).
Farnsworth WPMon (20)Characters play at full speed but inter-character and word gaps are stretched to achieve this lower overall rate. Useful for beginners who can hear individual characters but need more time between them. Must be lower than WPM. Toggle the switch to enable, then set the target WPM.
Wordsworth WPMoffWord gaps only are extended to the rate you would hear at this lower WPM — inter-character gaps stay at full speed. Useful for practising full-speed copy while giving yourself more time between words. Mutually exclusive with Farnsworth.
Auto Speed
Auto Speed — EnableonAutomatically increases WPM after a set number of characters have been played. Character counts are cumulative across exercises and across app sessions — stopping an exercise early or closing the app does not reset progress toward the next step. WPM is shown as a decimal value while auto-speed is active (e.g. 20.04). Applies to all training modes including QSO Training, but not Quick Games.
Auto Speed — Char threshold500Number of non-marker characters played between each automatic WPM increase. Range: 100 – 1,000,000.
Auto Speed — WPM step0.01Fractional WPM added at each threshold crossing.
Auto Speed — Farnsworth WPM step0.01Fractional Farnsworth WPM increase at each threshold crossing. Visible only when Farnsworth timing is enabled.
Text Display
Text display modeProgressiveProgressive: characters revealed as Morse plays. At text end: full text shown after each exchange — use this to train pure copying without visual cues. Full text at start: all text shown immediately.
Transmission
Start pause0 sSilence inserted before the first Morse symbol. Useful to prepare before copying starts.
Dash-to-dot ratio3.0Duration of a dah relative to a dit. Standard Morse = 3.0. Increase for a more characteristic fist.
Char spacing multiplier1.0Scales the inter-character gap (normally 3 dits). Values above 1.0 add extra space between characters — helpful when learning new characters.
Word spacing multiplier1.0Scales the word gap (normally 7 dits). Values above 1.0 add extra pause between words.

3.2 Audio

Tone quality, volume, and interference simulation. QRM and QRN apply to all training modes and are a powerful way to progressively increase difficulty.

SettingDefaultDescription
Tone
Sidetone frequency700 HzCarrier frequency of the Morse tone. Range: 450 – 1000 Hz. 700 Hz is the standard contest sidetone.
Dit pitch offset0% (off)Pitch difference between dit and dah. Negative = dit lower than dah; positive = dit higher. Range: ±10%. Useful for emulating a real key feel.
Volume
Volume80%Overall playback level (0 – 100%).
QRM — Radio-frequency Interference
QRM Volumeoff (0%)Overall volume of all QRM interferers relative to the main signal. Set to 0 to disable QRM entirely. When above 0, the Difficulty and individual subsettings appear below.
DifficultyMedium Preset that configures Sources, Fading, and Freq drift together as a starting point. Individual sliders let you fine-tune after selecting a difficulty.
Beginner — 1 source, minimal fading, no drift.
Easy — 1 source, light fading, slight drift.
Medium — 2 sources, moderate fading and drift.
Hard — 3 sources, strong fading, noticeable drift.
Contest — 4+ sources, heavy fading, significant drift.
Min frequency offset200 HzMinimum frequency separation between any QRM source and the main signal. Reduce to 50 – 100 Hz for a contest-style pile-up exercise where interferers are very close in frequency.
Sources1Number of independent interfering signals playing simultaneously. Range: 1 – 6. More sources simulate a busier band.
Fading30%Amount of amplitude fading applied to each QRM source. 0% = steady signal; 100% = signal fades in and out strongly, like deep QSB on an interferer. Range: 0 – 100%.
Freq drift1.0 HzMaximum slow frequency drift applied to each QRM source over time, simulating an unstable transmitter drifting across your frequency. Range: 0 – 10 Hz.
QRN — Atmospheric Noise
QRN Volumeoff (0%)Overall volume of all atmospheric noise layers. Set to 0 to disable QRN entirely. When above 0, the Difficulty and individual subsettings appear below.
DifficultyMedium Preset that configures all six QRN layers together as a starting point. Individual sliders let you fine-tune after selecting a difficulty.
Beginner — very light background noise, barely noticeable.
Easy — occasional crackles, similar to a quiet 40 m band at night.
Medium — moderate static and sporadic crashes.
Hard — heavy static typical of tropical summer HF conditions.
Storm — severe noise that frequently masks the signal.
Base noise4%Continuous background white-noise floor — the steady hiss heard even between crackles and crashes. Range: 0 – 50%.
Crackle rate2.0 /sNumber of short crackle bursts per second. A crackle is a brief, sharp transient — higher rates sound like continuous static frying. Range: 0 – 30 /s.
Crackle gain12%Maximum amplitude of each crackle burst. Low values produce subtle ticks; high values produce loud pops. Range: 0 – 100%.
Crash rate0.10 /sNumber of heavy crash events per second. A crash is a longer, louder burst simulating a nearby lightning discharge. Range: 0 – 5 /s.
Crash gain15%Maximum amplitude of each crash event. Range: 0 – 100%.
Storm activity10%Slowly modulates the overall noise density and amplitude over time, simulating the natural ebb and flow of a distant thunderstorm. 0% = steady noise; 100% = pronounced slow swells. Range: 0 – 100%.
Tone Envelope
Attack5 msTone fade-in duration. Longer = softer clicks; shorter = sharper keying. Range: 0 – 30 ms.
Release5 msTone fade-out duration. Range: 0 – 30 ms.

3.3 Text-to-Speech

When TTS is enabled, the app speaks each training item aloud only after its Morse audio has played and its text has drained — never before, so there's no way to read ahead. This confirms what you heard and reinforces the association between sound and meaning. TTS works in Character Training, Word Training, and English Sentences (within Text & QSO Training) — it does not apply to My Stories/From File, QSO Simulations, or CW Web Browsing, which share some of the same screens but not this pipeline. Leave TTS on by default: it's the app's main mechanism, together with HCB, for building real Instant Character Recognition — see Philosophy.

SettingDefaultDescription
Enable TTSonMaster switch. When on, training modes use the Morse → pause → speak cycle instead of direct playback.
Pronunciation modeNormalNormal: letter names and natural speech ("Kay", "the cat sat"). NATO/ICAO: phonetic alphabet for individual characters ("Kilo", "Tango").
TTS volume1.0Volume of the spoken output relative to the system TTS engine level.
Pre-delay500 msSilence between the end of Morse audio and the start of speech. Gives you time to recall the character before the answer is spoken. Range: 0 – 3000 ms.
Post-delay500 msSilence after speech, before the next item begins. Range: 0 – 2000 ms.
TTS Speech Rate-5How fast items are spoken, on a ±15-step slider. Applies app-wide: Character/Word/Sentence Training and all three Quick Games.
Character TTS Break0 msPause inserted between individually spelled-out characters when TTS speaks a callsign or HAM abbreviation letter by letter. Range: 0 – 2000 ms.

3.4 QSO Simulations

These settings control how generated QSOs sound and how realistic they are. See Text & QSO Training for a full description of how QSO simulations work.

SettingDefaultDescription
QSO typeRealistic QSORealistic QSO: a natural ragchew with varying exchanges — closer to what you will hear on the air. Training QSO: a structured beginner QSO with fixed, predictable exchanges — easier to follow when starting out.
Operator B sidetone offset2%Frequency difference between Operator A and Operator B. A slight offset (1 – 3%) makes the two operators audibly distinct by ear, just like tuning across a real QSO. Set to 0 for identical tones. Range: 0 – 10%.
Max speed difference3 WPMOperator B's speed varies randomly up to ±N WPM from Operator A's speed. Adding a small difference (1 – 3 WPM) makes the exercise feel more like a real on-air exchange. Range: 0 – 10 WPM.
Contest
Contest formatsWPX Select one contest format (radio button).
CQ WW WPX CW — 3-digit serial number + 5NN exchange.
ARRL DX CW — state or province abbreviation (US/Canada) or power output (DX stations) + 5NN.
CWops CWT — first name + CWops member number (member), country prefix (non-member), or CWA (CW Academy student).
Abbreviated numbers60%In WPX exchanges, probability that digits 0, 1, and 9 are abbreviated to T, A, and N (e.g. 090 → TNT, 001 → TTA, 199 → ANN). A single roll decides the whole number — either fully abbreviated or fully numeric. Set to 0% to always send full digits; 100% to always abbreviate eligible digits.
Call Sign Settings
Continent presetsThree quick-select buttons: Europe, North America, and Asia. Tapping a preset sets all six continent sliders to that region's default distribution. Sliders can be adjusted individually afterward.
Continent distribution slidersNA 75% / SA 15% / EU 5% / AS 2% / OC 2% / AF 1%Six linked sliders (North America, Europe, Asia, South America, Oceania, Africa) always sum to 100%. Adjusting one slider redistributes the remainder proportionally across the others. Set a continent to 100% to practise exclusively with callsigns from that region.
Country prefix probability2%Fraction of callsigns that include a country prefix (e.g. FR/3B8G). Range: 0 – 100%.
Portable suffix probability5%Fraction of callsigns that include a portable suffix (e.g. HB9HKN/P, /M). Range: 0 – 100%. SOTA activators always carry a portable suffix regardless of this setting.

3.5 Browser Settings

SettingDefaultDescription
Home URLhttps://arrl.orgThe URL that loads automatically when you open the embedded browser.
Basic characters onlyonFilters article text to letters (A–Z), digits (0–9), spaces, periods, commas, and hyphens before encoding. Prevents unknown characters from silently dropping. Disable only if you need full Unicode Morse coverage.
All settings are saved to device storage automatically. They survive app restarts and OS updates. Use Factory Reset (Settings → General, bottom of page) to restore all defaults without losing score history.