Why Cw
WHY CW – Serial Morse Keyer Interface & Practice Tool For Open CW Keyer
WHY CW is a Windows application designed to interface with a Morse code keyer (such as a K3NG-based keyer) over a serial (COM) connection. It allows you to send text, control keyer settings via CLI commands, and practice Morse code reception in a structured way.
⚠️ Important Requirement
To use this application correctly, the keyer must have its CLI (Command Line Interface) enabled.
- The program communicates with the keyer using CLI commands (e.g. \W20, \A, etc.)
- If CLI mode is disabled, commands will not work and responses may be unpredictable
- Make sure your keyer firmware is configured with CLI support enabled
Features
🔌 Serial Connection
- Connect to any available COM port
- Configurable baud rate (default: 115200)
- Real-time RX/TX monitoring with both ASCII and HEX output
⌨️ Send Text to Keyer
- Type text directly into the TX window
- Press Enter to send it to the keyer
- Text is transmitted as ASCII followed by CR/LF
- Supports both plain text and CLI commands
⚙️ CLI Command Support
- Built-in list of common keyer commands
- Examples:
- \A – Iambic A mode
- \B – Iambic B mode
- \W20 – Set speed to 20 WPM
📡 Live Decode Display
- Incoming characters from the keyer are shown in real time
- Filters out:
- CLI/system messages
- Practice playback echo
- Only valid decoded Morse characters are displayed
🎯 Practice Mode
The built-in practice system helps you improve Morse reception:
- Random callsigns are generated (e.g. SM6WHY)
- The keyer transmits the callsign in Morse
- You copy what you hear using your paddle/key
- Your decoded input is compared automatically
Behavior
- ✔ Correct answer → counted as correct, next round starts automatically
- ❌ First incorrect attempt → counted as wrong
- 🔁 You can retry until correct without extra penalty
- 🧠 Streak counter tracks consecutive correct answers
📊 Statistics
- Correct answers
- Wrong answers
- Current streak
- Accuracy (%)
Auto Next
- Automatically starts a new practice round after a delay
- Configurable delay (1–10 seconds)
- Can be turned ON/OFF
Download beta version here:

