Morse code program

(contact me to make the program available for download)


I have developed this program to help teach Morse Code. You can use your PC to create and decode Morse Code by hooking up the sound card a radio transmitter or the Internet for automatic Morse Code decoding and transmission.

There are options to manually tap out messages or type your message for decode and transmission. You can teach yourself by converting text to morse and then try and copy by tapping.



Morse code is still alive and regularly used by amateur radio enthusiasts. It was originally created for Samuel F. B. Morse's electric telegraph in the early 1840s. In the 1890s it began to be extensively used for early radio communication before it was possible to transmit voice. THe history of Morse Code can be found at Wikipedia.

Morse code is made of a series of tone pulses. A short pulse is known as a dot (dit) and a long pulse as a dash (dah). Timing of pulses and the silent spaces is set by some simple rules:

Dash = 3 x Dots
Character space = 3 x Dots
Word Space = 7 x Dots

The timing for a Dot depends on the "Words per Minute" you are sending and is equal to either sending PARIS or MORSE repeatedly for one minute. This will send a word with dots, dashes and spaces equivalent to 50 Dots. If you are sending at say 10 wpm then a Dot would last 10 / 50 or 200 msecs, a Dash would last 600 msecs and so on.


Program development

The difficulty of creating a program that decodes Morse Code is that radio hams use radio receivers with a lot of built in automatic gain control (AGC). What this means is that during the quiet moments in Morse, say during a word space, the noise floor comes up and can fool the program to decode incorrectly. There is also a wide range of word speads used, some incredably fast.

You can listen to radio receivers on the internet via the link below. Using the internet causes another problem. IP data never arrives at a predictable pace. The timing between data packet arrivals varies, it is called dither. The program relies on timing of the arrival of incoming tones to decode correctly, at high word rates the dither can cause errors.

The program is written in Visual Studio Express. The Morse Code program is available if you contact me.


Where to listen to Morse Code

  1. Morse Code WAV Sample
  2. Listing of Internet Radio Receivers


The program

The program has two pages, Transmit and Receive.

Transmit page

Type the your text into the top box, select the word speed and press the "Convert Text" button. The morse then plays through the sound card. You can also use the mouse and left key to tap over the morse key icon.


Receive page

Click on the "Receive" button and the receive page appears. The level control for the receiver is set by your system sound master volume. Adjust the Wave fader until the meters are peaking above -8db, but not overloading. Set the Word speed to roughly the spead of the morse you are receiving. THe program will track to a degree variation in speed. There indicators of the expected and actual pulse lengths. Try and match the readings.

It is important to note that the program has a narrow 700Hz band pass filter built in. This is to reject the noise from the use of the heavy AGC. You will not see a response on the meters until you tune the received morse code to 700Hz.



You are more than welcome to copy of the program and use this information. Send me an email request.

If you would like to give a donation I would certainly appreciate it. All monies go to keep our diving club viable and pay for this web site.