hpr4547 :: Cheap Yellow Display Project Part 6: The speed and timing of Morse

A discussion of the Morse code speed and timing considerations needed for our CYD project

<< First, < Previous, Next > Latest >>

Hosted by Trey on Tuesday, 2026-01-06 is flagged as Clean and is released under a CC-BY-SA license.
morse code, cw, Ham Radio, Amateur Radio. (Be the first).

Listen in ogg, opus, or mp3 format. Play now:

Duration: 00:10:51
Download the transcription and subtitles.

general.

Hello, again. This is Trey. 

 

Welcome to part 6 in my Cheap Yellow Display (CYD) Project series. Thank you for hanging in there with me on this rambling series. If you wish to catch up on earlier episodes, you can find them on my HPR profile page https://www.hackerpublicradio.org/correspondents/0394.html   

 

To review, my project is to build a portable morse code "Keyer memory" which can be connected to any of my amateur HF transceiver radios by simply plugging it in to the code key input port. This is based around an ESP32 platform which comes prepackaged on a yellow PC board with a color touchscreen display, WIFI, and Bluetooth. We fondly call this contraption the Cheap Yellow Display.   

 

So far, I have defined the necessities, collected the required hardware, and failed miserably building the graphical user interface (GUI).  

 

While I sort out the technical challenges getting my GUI code to play nicely with the CYD's touchscreen, it is important that we spend some time discussing Morse code itself, and the timing standards we will need to follow. 

 

I am not going to dive too deeply into the history behind telegraphs and Morse code, but it is very interesting. If you want to learn more, Wikipedia has the origins and evolution written out quite nicely at https://en.wikipedia.org/wiki/Morse_code   

 

For our purposes, we will fast forward from the year 1820 (When telegraphy began) all the way to 1865 when the International Telecommunication Union (ITU)  standardized, what it called "International Morse Code". When I say Morse Code for the remainder of this podcast, I am referring to this ITU International Morse Code.   

 

Morse code typically includes the following characters: 


  • The 26 letter basic Latin alphabet 
  • The Indo-Arabic numerals 0 to 9 

 

There is also a single accented Latin letter (É), which is written as an E with an accent mark, and a handful of punctuation marks. 

 

These characters are encoded using a sequence of short and long signals. Each short signal is referred to as a dit . Each long signal is referred to as a dah . At a young age, I began to refer to them as dots and dashes, as this is how they are usually written. For example, the letter "A" consists of a single dit followed by a single dah. When written out this would look like a period followed by a hyphen (what some might call a minus sign)   .-   

 

This encoding method allows messages to be sent by turning on and off an electrical signal. This could result in a light flashing or a tone sounding to the pattern of the signal. The timing of a dit and dah, along with the spacing between them is carefully defined.    

 

Morsecode.world does a great job explaining the timing, and you can find their explanation at https://morsecode.world/international/timing/   

 

It all starts with the dit, or more accurately, the amount of time the dit signal is turned on. We will call this length of time 1 unit. We will get to the actual length of time for a unit later in this episode. For now, it is just one unit.  

 

So, if a dit is 1 unit long, a dah will be 3 units long, so there is an obvious and consistent difference between a dit and a dah. Also, empty space between elements of the same character is 1 unit long. The space between characters should be 3 units long.  

    

Let's demonstrate using the letters H, P, & R.   

 

An "H" would be 4 dits ….  

A "P" would be 1 dit followed by 2 dahs and ending with 1 dit  .--.  

An "R" would be 1 dit followed by 1 dah and ending with 1 dit   .-.  

 

Remember when we send these grouped together like a word, we need 3 units of spacing between each character. You can hear this now. This is Morse code for the letters "HPR" at 15 words per minute  .... .--. .-. 

 

That is the perfect segue to the next section, words per minute. 

 

The speed of morse code is measured in "words per minute". But how do you calculate this when some characters are short (Like the letter "E" which is only a single dit long), and other characters are long (Like the letter "J" which starts with a single dit and is followed by 3 dahs)?  

 

And that's just letters. What about words? We have short words and long words. How can we standardize on words per minute with so much diversity of length? 

 

Well, thanks to the French, we have a quite elegant solution to this problem. Well, not the French in general. Just PARIS. 

 

PARIS is the standard word which has been agreed upon to be used for determining the speed of Morse code. The word PARIS is 50 units long. 

 

"P" = dit(1) + (1) + dah(3) + (1) + dah(3) + (1) + dit(1) = 11 units  

{Space between letters} = 3 units 

"A" =  dit(1) + (1) + dah(3) = 5 units  

{Space between letters} = 3 units 

"R" = dit(1) + (1) + dah(3) + (1) + dit(1) = 7 units  

{Space between letters} = 3 units 

"I" = dit(1) + (1) + dit(1) = 3 units  

{Space between letters} = 3 units 

"S" = dit(1) + (1) + dit(1) + (1) + dit(1) = 5 units 

{Space between words} = 7 units 

 

11+3+5+3+7+3+3+3+5+7 = 50 units 

 

Here is the word PARIS sent at 15 WPM  .--. .- .-. .. ... 

 

Morsecode.world again does a great job explaining the maths for how many milliseconds long a dit should be for a specific WPM of code ( https://morsecode.world/international/timing/ ) But, no... We could not keep it that simple. Some guy named Donald R. "Russ" Farnsworth had to complicate things and increase the gaps between letters and words to make interpreting code much easier. There are even more maths for Farnsworth timing...  

 

Wait a minute. When did I start saying "Maths" instead of "Math" like a normal North American? What is the reasoning around pluralizing "Math" anyways? Which way is more original English, "Math" or "Maths"? This sounds like a show idea for someone other than me. If you know or are interested in researching it, I look forward to listening to your show in the future.  

 

ANYWAYS, there IS much more MATH about Farnsworth timing on another page on Morsecode.world. ( https://morsecode.world/international/timing/farnsworth.html ). But I don't want to get into all of it in detail here. Not when there is a shortcut we can use in our code. Simplified, we can take 1,200 and divide it by the WPM we desire, and it will give us a close enough approximation of the number of milliseconds long a dit should be.  

 

For the 15 WPM messages you have heard throughout this episode, a dit was 1200/15 = 80 ms in length. If I speed it up to 20 WPM (The speed at which I try to practice) a dit will be 1200/20 = 60 ms long.  

 

This will be an important calculation for us as we develop the code we will later be using to construct our messages using the CYD.   

 

And this is also a good stopping point so that I can get back to trying to build that infernal GUI. 


Comments

Subscribe to the comments RSS feed.

Leave Comment

Note to Verbose Commenters
If you can't fit everything you want to say in the comment below then you really should record a response show instead.

Note to Spammers
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :).

Provide feedback
Your Name/Handle:
Title:
Comment:
Anti Spam Question: What does the letter P in HPR stand for?
Are you a spammer?
Who is the host of this show?
What does HPR mean to you?