CW (Morse Code)

A funny thing happened on the way to middle age - I started liking CW! Early on in my Amateur Radio career I had been known to say the most unpleasant things about CW and the nasty fact that the FCC demanded a certain proficiency if you wanted to upgrade your license! Back in the late 60's, you had to go to an FCC Field Office to take your exams, including the dreaded code test. It took me two tries to pass my 13 wpm test, listening to a tone from the wall-speaker at the Detroit office that sounded like nothing I had ever heard on the air or on code practice tapes. I was so surprised that I finally passed the receiving test that I almost flubbed the transmit test. Fortunately, the examiner had seen that particular response before and let me calm myself down!

Now, much later in life, I find that CW is one of my favorite modes. I don't get enough time to operate to be really good, but I can hold my own up to about 20 wpm. The trouble is, as I get older, the old fingers tend to lose some of their agility at 2AM, leading to errors in keying that I found hard to tolerate. To get around this problem, I wrote a Morse Keyboard Program for IBM-compatible PC's. The project worked so well that I ended up writing it up for QST (January, 1995, p.60-63). The project has since appeared in several recent editions of the ARRL Handbook. Much of this page will be devoted to the continuing story of what has been a very enjoyable project.

Make no mistake, although I do like operating with a Morse keyboard, I still enjoy working Morse with an old-fashioned straight key. This is especially true since I discovered the joys of large, English-style  keys.

The Original QST Article

You can download a copy of the original QST article, Quick and Easy CW with Your PC in PDF format. PDF is a document format widely used for document publishing on the Internet. To read or print the document, you will need a copy of the latest version of the Acrobat Reader from Adobe Systems. You can download a free copy of the software from the Adobe Systems web-site. A project like this actually has two components - the interface between the radio gear and the PC and the software. Each of these will be discussed in the sections below.

Hardware Interface

NOTE: You do not have to have an interface if you just want to download the program and check out the various features it has to offer. Try it out and, if you like it, then build one of the interface options to actually put the system on the air.

The original hardware interface works well and supports both CW transmit and CW receive functions. The CW receive function is the most complex, accounting for most of the interface circuitry. It does a pretty good job of decoding CW signals on the air, but overall performance is limited by the relative simplicity of the receiving signal processing circuits. If a clean TTL version of a CW signal is routed directly to the computer, the software will generate perfect copy of machine generated CW, auto-tracking to anywhere between 100 and 200 wpm, depending on the computer. In contrast, results with real-world signals from a receiver depend on a number of factors.

I'll talk about the receive function later, but many experienced CW ops could care less about machine-copied CW, since they can do a far better job in their head. If all you want is a very effective CW keyboard, there is a much simpler interface that can be used for transmit only:

This keying interface is the ultimate in simplicity, requiring only a single, general-purpose NPN transistor, a diode, and a resistor. The circuit requires no power supply and can be built right inside the connector shell. Connections for points K and G are documented on the interface table below.

Computer Interface:

As originally described, the project interfaced to the PC using an available parallel port. These days, parallel ports are used for many peripherals and it may be hard to find one that is free. Also, the ports themselves are getting more complex and that can create problems with some systems. In 1999 I created a modified version of the software to operate using a serial port. For most operators, the serial port version may present fewer interface problems, especially if you will be using a laptop computer. The table below shows the interface connections for both the original parallel port version and the new serial port version:

P1-1 (G)
P1-2 (K)

Note that P1-1 and P1-2 correspond to points G and K if you want to wire your system for transmit-only operation

Important Software Notes:

MORSE and Windows XP

Morse was written to function on computers running DOS. In general, they would not run directly under Windows for a variety of reasons, including the fact that Windows only wants software to communicate with ports via the Windows API. The funny thing is, for reasons that I do not understand, the current serial version of MORSE (9S) runs quite happily on my Pentium system running Windows XP. The point is, if you are using XP (most current computers are), you MAY be able to run MORSE without having to boot to the DOS environment. To test this, use Windows Explorer to locate your MORSE .exe file and double-click on the icon to start the software. If it will key the transmitter under program control (you neet to have the serial interface up and running) it will probably run just fine under your Windows environment. Simply create a shortcut for your desktop (or use the START/RUN option) and run it as you would any other program. There is no certainty that it will work on all XP systems, but it doesn't take long to find out.

Use of the Software

The MORSE programs are being made available to the Amateur Radio community at no charge. However, the program materials are protected by copyright statute. Put simply:

You are permitted to:

You may NOT: To date, the software publishers who do have such permission include: If you obtained the software in a manner that appears to violate one or more of the provisions noted above, I would appreciate your notifying me of the particulars, either my mail or e-mail:

Dr. Ralph E. Taggart

602 S. Jefferson

Mason, MI 48854


Down-loading and Installing the Morse Software

The software for the project has evolved considerably since the project first appeared. As noted earlier, there are now two versions of the MORSE software - one supporting the original parallel port interface (currently Version 8.0) and the second supporting a serial port interface (Version 9.0S). To download either version, simply click on the appropriate option below:

CW- Parallel Port Version

CWS- Serial Port Version

 The system requirements for both versions are modest:

Basically, if you have a reasonably modern home PC, the software will run with excellent performance.

Once the file has been downloaded, I have made installation as painless as possible. The following instructions assume you are using Win 95/98 and that you have downloaded the software on AOL:

[If you are using another browser, the previous two steps should be modified to get you to the folder that normally contains down-loaded files.] This will cause a window to open, showing the extraction of a total of seven files:






morse.dat or sermorse.dat


The order in which these files are listed may vary, but that doesn't matter as long as all of them are present.

This will generate another window as the install utility creates a morse directory, copies the files to the directory, and deletes them (with the exception of the original CW.EXE and INSTALL.BAT files. At this point, software installation is and the system will automatically start the MORSE software. For the moment, use your arrow keys to move the lighted indicator over to the QUIT window and key <ENTER>. At this point you have a successful installation and you know the program is working. Close the window and you are ready to proceed.


If you are installing the software on a DOS machine, copy CW.EXE to any hard-drive directory but not the root directory! Switch to that directory and run CW.EXE by typing:

cw <ENTER>

When extraction is complete, type:

install <ENTER>

Installation is complete when the program boots. Use the arrow keys (as described above) to move to the QUIT window and key <ENTER> to exit the program. At any time, MORSE can be booted from the new \morse directory (created by the install program) by typing:

morse <ENTER>

When the computer boots, you can also start the program in the same way from the root directory (install also installed a batch file in the root directory to make life easier!).


The current parallel port release of MORSE is Ver. 8.0 and it replaces Ver. 6.0 which was previously posted here. Version 8.0 is completely compatible with the earlier release so all your existing support files (MORSE.DAT and LOG.DAT) will work just fine. If you are using Ver. 6.0 at present, I would suggest that you run the self-extracting CW.EXE file but that you NOT run the INSTALL program. Once the file has unzipped itself, simply copy MORSE.EXE and LOG.EXE to your MORSE directory. This way you will avoid over-writing your existing support files. New users should proceed as noted above. This new release has several new features and "fixes" that should make it even more enjoyable to use:

There are numerous other small changes to improve the user interface, none of which impact the basic operation of the program.


This is the new version of the program set up to use the serial port. Minor operational differences between this version and Ver. 8.0 for the parallel port will be noted in the instructions which follow.


Operating Environment

Morse is a DOS program but it will run as a DOS application under Windows. However, the Windows operating system steals a lot of cycles for its own housekeeping and this can lead to some problems if you want to use the program to receive CW as well as transmit. Generally, faster systems will have fewer problems than slower ones, but the only way to know for sure is to try each option and pick the most convenient one that works!

The three operating options are:

Generally #1 is the most convenient, followed by #2. In either of these cases, it is best not to be running other programs simultaneous with Morse, as this will amplify any timing problems and possibly cause unanticipated interactions. #3 is more trouble, but will always work if you run into trouble with the first two. NOTE: #3 is the ONLY option for the serial port version of the software. Windows 95/98 "captures" the serial port and neither the transmit nor receive functions will work. You could disable the port under Windows, but it is just simpler to re-start the computer under MS-DOS as shown in #3 below.

Each method works as follows:

 (1) Boot with the RUN Option

This is the simplest way to start the program and should work with most fast systems:

The program should then start.

(2) Boot from DOS under Windows

The program should execute.

If you are going to have a problem with running the program under Windows, it will usually show up in one of two ways:

If either of these two problems emerge, I would suggest running the program strictly in the DOS environment as shown below:

 (3) Run Under DOS, no Windows

If you have problems with either of the preceding options or are using the serial port version of the software, this last one is the one you need:

And the program should execute.....

 WindowsXP Issues

Despite what might be some of its virtues, WindowsXP is a program that is very unfriendly to DOS, creating problems with software like Morse that must run in a pure DOS environment. This page has some fixes for the problem.


When the program starts, you will see a copyright and conditions of use statement that will be posted while the software initializes and sets up a number of temporary files. When initialization is complete, the computer will "beep", at which point hitting any key will display the main operating console. Since the MORSE program has a lot of features, click on the OPERATIONS page link to see the details.