How I Learned the Code in 237 Easy Lessons And You Can Too!

Written by: Bob Diaz / KF6JHG

As I write this article, I can’t help but think about some of the "whiz-kid" students in math classes I’ve had. While most of us struggled with understanding the problems, a few could grasp it all in record time. As I grew older, I came to understand that we don’t all have the exact same mental skills. Some have a very good memory, some do not. Some are good at analysis, some are not. Depending on what mental skills that you may or may not have, you’ll find that learning code could be very easy or very hard. In my case, learning the code did not come quickly. Still, by keeping at it I did learn it. I’ve passed the 13-WPM code test and now have my General Class License. This article is written for those who have trouble learning the code.

How Long Does It Take to Learn the Code?

There are people who go from 0 WPM to 13 or 20 WPM in a few weeks to a few months. The "quick learners" can do it in 3 months or less. Almost everyone else takes about 6 to 8 months to reach a speed of 13 WPM. According to the book, "MORSE CODE: THE ESSENTIAL LANGUAGE", page 4-4: It takes approximately 30 learning hours to reach 5 WPM, 60 learning hours to reach 10 WPM, and 95 learning hours to reach 15 WPM. If we assume that a person spends about 1/2 an hour practicing code every day, that would take about 2 months to reach 5 WPM, 4 months to reach 10 WPM, and about 6 to 7 months to reach 15 WPM. The author of the book points out that these times are a general average; some will take less time and some will take more. If you’re a "slow learner", like me, you will require a lot more time. It’s not that you can never learn it, it’s just that you have to work at it longer than the average person does.

Useful and Useless Advice:

When I started to learn code, many of my fellow hams gave me all sorts of advice. While all meant well, some of the advice was almost funny:

It all comes down to a few simple rules:

Everyone is different, what works for one person may or may not work for you. Try different things and use what works for you.

PRACTICE, PRACTICE, PRACTICE! In order to learn to play the piano, you must practice. In the same way, code is a skill that you must practice to acquire. I strongly suggest that you practice the code every day.

What Worked and Didn't Work for Me:

When I started to learn the code, I used a public domain computer program a friend gave me. My friend also told me, "You have to push yourself hard." This system didn’t work for two reasons: First, almost every night my son was using the computer for his homework; which limited my time practicing on the code. Second, my brain went into mental overload when I tried to learn too many things too quickly.

In order to overcome the first problem, I recorded my own code tapes from the computer. This was great, except that the type of tape I recorded wasn’t the best for learning code. For example, "A (di dah) A (di dah) A (di dah); N (dah dit), N (dah dit), N (dah dit)" Not only did the tape put my brain to sleep, but when it came time to try and copy, I couldn’t do it. The problem was that I failed to practice copying random letters.

I might of given up at that point, but one ham, Wally (KF6APH), kept coming on a local 2 meter repeater telling everyone about how great 10 meters was and how he had made all these contacts to South America. If I could just pass the 5-WPM, I too could be making all those GREAT contacts.

After some thinking, I purchased the MFJ Pocket Code Tutor with the build in display. The 2 things I found VERY helpful with this unit were its small size made it easy for me to take it everywhere and the User Defined Character Set.

Every day at work, I’d eat my lunch in about 1/2 an hour, leaving about another 1/2 an hour to practice the code. At night I gave up watching several TV shows, run off to a quiet room and practice the code. By sticking to my plan, I was able to find the time to practice the code.

Using the MFJ’s User Defined Character Set, I entered the letters that I knew from their letter set #1. The unit was set for Farnsworth 18 WPM speed and the spacing was at 5 WPM. After working at 5 WPM, I increased the rate once I felt I could copy at a given speed. I chose 10 WPM as the maximum rate to practice for a given set. Once I felt comfortable with that set at 10 WPM, I’d add one new letter to the set and drop the speed back to 5 WPM. This way I only had to learn just 1 new letter at a time.

After having learned the first set, I moved on to the second set of letters. I cleared out the memory to the User Defined Character Set and put in the first 2 letters I needed to learn from the next letter set. I found out later, it wasn’t a good idea to try to do it that way.

In a short time, I thought I had learned all the letters to the second set. After all, I could copy all the letters from the first set at 10 WPM, then copy all the letters from the second set at 10 WPM. However when I combined BOTH sets, I learned that I couldn’t even copy both at 5 WPM. Somehow my brain had created some sort of mental short cut that couldn’t handle everything at once!

In order to overcome this mental shortcut, I had to enter all the letters from the first letter set into the User Defined Memory. Next I added the first letter from the second set. I practiced until I could reach 10 WPM, then went back to 5 WPM and added another letter. Once I had combined all the letters, I was ready to move on to the third set.

I would have just added each letter from the third set, but there was a problem. The User Defined Character Set was limited to a maximum of 16 characters. In order to overcome that limit, I could add each letter from the third set, and when I ran out of room, I would replace the easy letters from sets 1 and 2 with the new letters on the third set. While that was less than ideal, it wasn’t too hard to combine the first 3 sets and work to 10 WPM.

At first I thought I’d learn all the characters at 10 WPM in just 3 or 4 months. However, as I learned new characters, my progress seemed to slow down. It was taking longer and longer to learn a new character.

It was when I had learned all the letters in the fourth letter set and tried to add the letters from the third and second letter set, did I really have problems. Somehow it was as if I had hit a brick wall, I made no progress for 2 1/2 weeks. After seeing that I wasn’t making progress, I had felt that there was no way I’d never learn. I was ready to give up and join No Code International. It was at this low point that several hams encouraged me to keep working at it. They were right, in any long learning process, there are always plateaus. If you hit a brick wall, just keep working at it. It may take several weeks, but in time you will move on.

Once I had learned all the letters, I worked like crazy practicing copying random words. The MFJ Pocket Code Tutor has a vocabulary of 500 common words. I wanted to make sure that I knew all the letters very well before I moved onto the numbers. The extra time spent working on all the letters made combining the numbers with the letters a little easier. I practiced both letters and number using the Random Callsign mode in the Code Tutor.

As the day of the 5 WPM code test approached, I could do the letters and numbers very well, but I had only started to learn the other characters. I took the test and passed. Not only did I get 9 out of 10 questions correct but I also got my 1-minute of perfect copy.

Still, the 5-WPM test was more of a practice run. What I really wanted to pass was 13-WPM test. However after passing the 5-WPM test, I started to slack off in practicing the code. So for about 1 month, I didn’t practice as much as I should have.

Realizing that I’d never pass the 13-WPM if I didn’t practice, I did my best to increase the time I practiced from about 1/2 an hour per day to 1 hour per day. I started by putting every letter I was having problems with, in the User Defined Character Set. I kept working on all my problem letters until they became second nature. My problem was, that at 5 WPM, I could think about what a given letter was, but at 13 WPM, there was no time to think.

Once I had all the problem letters out of the way, it was easy to copy random words at 15 WPM. Next I worked on the numbers. After some practice, I could copy random numbers at 20 WPM. I felt very good about it, until I tried to copy random letters AND numbers at 13 WPM. Once again, my brain had used some sort of mental short cut to copy the code.

What I really needed wasn’t offered on the Pocket Code Tutor. I needed a User Defined Character set that was bigger than 16 characters. In order to overcome this limit, I had to put the letters and numbers into groups that appeared to be common. For example, "3" had and ending like "W", "Z" and "7" were also very close too.

I spent weeks working on "problem" combinations. I start with just the characters "3" and "W". Then I’d practice until I could copy very well between the two. Then I’d add 2 more characters, like "Z" and "7". When I would fill the User Defined Character Set with the first set of problem combinations, I clear out the memory and work on another set.

After that, I worked on random callsigns. While many of my Ham Friends told me that I should be able to do 15 WPM, so that the 13-WPM of the test will sound slow, I ran out of time. My club does the testing once every 2 months, thus if I waited until I was up to 15 WPM, that would be a wait of 2 more months. There were other clubs in my area where I could have taken the test, but I really wanted to be there with the people I knew.

When the day of the test came, I really didn’t feel ready. I was really pushing myself to make the 13-WPM. My Ham friends all told me, "Don’t worry, the worst you could do is fail!" Still it was hard for me to keep from being nervous.

The written test for General was very easy; I passed that with no problems. However when I started with the 1-minute warm-up for the code test, I blanked out after about 30 seconds. That was not a good sign. When it came time for the code test, I copied OK for a while then would drop some letters, copy more, and drop some more. One key thing in taking the test is to NEVER try and think about what you missed. The more time you spend thinking, the more additional letters you’re likely to drop.

After the 5 minutes ended, I first thought that I had failed the test. However, after looking at what I had copied, I saw that all the information was there. The real problem was that I was so focused on trying to copy, that I couldn’t read at the same time. In the end, I believe got 9 out of the 10 questions correct.

I now have a General Class License and plan to upgrade soon to Advanced Class. As for the total number of days of practice getting to that point, I’d say it was about 237 days. Was it hard work? Well, that all depends on your point of view. If your count the total number of days and hours I had to practice and consider the large amount of time required as "hard work", well, then you could say it was hard work. If you look at the amount of effort required at each practice session, well I never considered it "hard work". In a way, I considered it a challenge, not an impossible or unpleasant task.

When I had a chance to help work at the LA Marathon, there was one runner I’ll never forget. He was not the fastest or the strongest runner. He was a very old man that "ran" at a little more than walking speed. While he was close to being the last place runner, the look of commitment and dedication was written on his face. It didn’t matter how old he was or that he was close to last place, he was going to cross the finish line. In the same way, learning code there’s a strong commitment. It shouldn’t matter how slowly you seem to learn it or if it takes you months and months, you need to keep working at it. In the end, you’ll be able to say to your self, "While others gave up, I kept at it and passed the test." Nothing will ever match the pure pleasure of having really earned the reward of the higher-class license.


Note from Mike Dinelli / N9BOR: I saw this article posted on the alt.ham-radio.morse newsgroup on June 11, 1998. I thought that it should be presented on the WWW, and asked Bob Diaz if he would allow me to publish it on my web site. This should serve as inspiration for all of those that are either thinking about learning the code or are in the midst of it. For those of us that have gained some proficiency at it, it can serve as a reminder of the struggle.

There are many ways to learn the code and probably the best way is to utilize many different techniques. If I can offer one single bit of advice, it would be that once you passed your 5 w.p.m. test, get on the air and make QSOs. The speed will come naturally. You can supplement it with tapes or any other method you like. But get on the air and communicate. It is great fun, enjoy it and then help someone else fall in love with it. CUL es 73 de N9BOR k.


If you would like to share your story as to how you learned the code, please write N9BOR. Thank you.