CW Decoder 

by Grant Connell WD6CNF


 Download Program (updated 3/9/04)       Interface Schematic


This program allows CW operators to copy CW code with a computer. The decoded CW is displayed as text or can generate a side tone. There is a spectrum display of the audio with a sliding cursor to select a particular audio for decoding. The program also allows for keying a transmitter from the keyboard with full CW break-in operation.

Minimum Requirements:

The minimum hardware and software requirements are as follows:

A 166 MHz Pentium computer with a math co-processor. K6 (AMD) or Cyrus chips may work but have not been tried. 16 Megabytes of RAM. Sound card with the MIDI synthesizer option (required if using the side tone). Printer Port. This port is used for keying the transmitter. A circuit diagram is included as part of the installation package. Keyboard and mouse. Windows95, Windows98, or WindowsNT.

Program Options:

The program has many options; transmit code speeds from 5 to 25 wpm, transmitter tune, text decoding with filter and space options, separate receive and transmit windows, and sidetone frequency and volume settings. Operation of the various controls and sliders is described on the Help menu of the program.


The main connection between the computer and the transceiver is an audio cable from the audio output of the transceiver and the line-in of the computer sound board. If keying the transmitter is desired, a second cable will connect between the printer port (with associated relay driver) and the key input of the transmitter.


This program is being distributed free with no implied warranty. It may lock up or not operate correctly on some computers. There is a de-install program that will function when the program is selected from the Install/De-install options on the START menu. Send problem reports to . We will try to duplicate the problem and provide the corrected version of the program on a monthly basis as long as there is interest in the program. We are also open to suggestions or improvement in functions or operator interfaces that will allow the program to be easier to use.