Morse Elmer Documentation
Version 1.7.0
Table of Contents
Morse Elmer
Version 1.7.0
Navigating This Documentation
- Tap the ☰ menu icon (top left) to browse different sections
- Use the links below to jump to specific topics
- External links will open in Safari
Morse Elmer is an app to help you learn Morse Code. Morse Elmer uses two well established methods to help you learn: The Koch Method and (what I'm calling) Farnsworth spacing. As you train Morse Elmer keeps track of your results, graphing them so you can monitor your progress. With Morse Elmer on your iOS device you'll have the tools to train whenever you want and the more frequently you train the quicker you'll become proficient.
Now let's get started...
Overview
I was personally drawn to amateur radio by my fascination with communicating long distance without any infrastructure, a battery, radio and antenna and you were ready to talk to the world. Morse Code is particularly suited to mobile low power long range communication. Morse code signals (also known as CW, for Continuous wave) penetrate interference and can be generated by equipment that is very simple and cheap to build. By the time I finally got my General license the requirement for Morse code had been removed. Even without the requirement my captivation with Morse code continued and I sought ways to teach myself.
I learned about the Koch and Farnsworth methods when I ran across a really nice desktop program by G4FON. It's a Windows program he wrote to help keep his Morse code skills in shape. It's a good tool that I used for a while to train. The only downside to G4FON's trainer is that I had to sit at my computer to use it. I kept looking for something I could take with me.
When I started developing software for Apple iOS I knew I had found a mobile platform that I could use to create a Morse code training app. Morse Elmer is the first version of this trainer and I'm using it to learn Morse code.
Morse Elmer is designed to reproduce the likely experience of working Morse Code in the field, ie: listening to the Morse Code and copying the message you hear by hand onto a notepad for review.
I hope that Morse Elmer continues to be a value to those of you trying to learn Morse Code. Remember to leave a review/rating for Morse Elmer in the app store. Cheers, Morgan Jones KI4OWG
What's New
Version 1.7.0
Major Update: Migrated from CorePlot to Apple's native Swift Charts framework!
The Progress tab has been completely redesigned with modern iOS UI:
- Native Swift Charts with smooth animations and horizontal scrolling
- Interactive table view with expandable session details below the chart
- Bidirectional chart-table synchronization - tap table rows to highlight chart points
- New display options: Show 10%, 25%, 50%, 75%, or All training sessions
- Order toggle now integrated into Progress tab (Oldest First / Newest First)
- Swipe-to-delete for individual sessions
- Modern share sheet for CSV export with SF Symbols
- Landscape support - chart fills entire screen when rotated
- Empty state view when no training sessions exist
Settings tab improvements:
- Removed redundant "Progress Graph" section (order control now in Progress tab)
- Updated deprecated iOS APIs for future compatibility
Bug fixes:
- Fixed crash when attempting to delete pro-signs in a custom set
- Modernized export of training data using a share sheet (access via share icon - a square with an arrow pointing up)
Documentation improvements:
- Completely rebuilt documentation using MkDocs
- Enhanced navigation and mobile-friendly layout
- Future releases will include PDF versions for offline use and a desktop website version
Under the hood:
- Removed 500+ files of third-party CorePlot code, modernizing the app with native iOS frameworks and simplifying maintenance going forward
This release was developed with the assistance of Claude Code, Anthropic's AI-powered development tool.
Configuration
All configuration to your Morse Code Training is done via the Settings Tab

There are eight configurable aspects to your training in Morse Elmer. Five of these apply to your training sessions: Target Speed, Farnsworth Spacing, Duration, Frequency and Delay.

Three apply to your training set: Word Size, Which Set and Set Size.

Training Session
Target Speed
The first setting in your Training Session is used to set your "Target Speed" in Words Per Minute (WPM). This is the rate the dits and dahs are sent within the individual characters. You set this to the speed you ultimately want to use. With Koch and Farnsworth, you don't work your way up from a slower speed, from the beginning you learn to recognize the characters at the full speed you want to use.
As of version 1.4, Morse Elmer now supports a variable training speed. When you tap the Target Speed (or Graduated Target Spd) line on the Settings Tab a new control is available.

The Normal setting shows the simple scale control that allows you to swipe to select your Target Speed WPM. This Normal Target Speed will use the same WPM for the entire training duration. If Advanced is selected a completely different control is displayed.

The Advanced control defines a graduated Target Speed by specifying three values. Percentage Ramp Time, is the percentage of your training duration that is used to smoothly increase the Target Speed over the range specified by Start WPM and Target WPM.
Consider the following example:
Let's say you specified a training duration of one minute.

and a Graduated Target Speed with the following parameters:

In this example your training would start with a Target Speed of 5 WPM. For 30 seconds (50% of your one minute training duration) the Target Speed would smoothly increase until it settles at 15 WPM. For the final 30 seconds of your training the Target Speed would stay at 15 WPM.
As you become more comfortable copying at a particular Target Speed, you may find this tool useful to help nudge you up to the next level.
Farnsworth Spacing
The next setting is used to adjust your Farnsworth spacing, if any.

The Farnsworth spacing varies from "off" to your current Target Speed. If you're having trouble identifying characters before the next one starts you can use this to exaggerate the spacing between characters until you're more comfortable with your training set.
Duration
The duration setting adjusts the length of your training session. Morse Elmer supports training sessions as short as one minute or as long as 60 minutes, but for the best results you should use sessions that are at least five minutes in length.
Frequency
The next setting in the Training Session section adjusts the frequency of the audio you hear during training. Morse Elmer defaults to 440 Hz, generally associated with the A note above middle C.
Delay
The last setting in the Training Session section will enable a five second delay after you tap the "Start" button before the audio starts. This will give you a chance to get ready to start copying.
Training Set
Training Sets represent useful groups of characters to help you learn.
The first setting in the Training Set section specifies either fixed or random length words in your training set. You have three choices of fixed word size: 3, 5, or 7 characters.
The next setting in the Training Set section allows you to choose which training set to use. Morse Elmer now supports eight different training Sets.

Basic Sets
The Default Set consists of 43 assorted alphabetic, numeric, punctuation and prosign characters. The Default Set is a good starting place to learn the characters you're going to initially need on air.
The next four sets focus on particular subgroups of the Default Set. The Letters Set is composed of the 26 letters in the alphabet. The Numbers Set is composed of the numbers 0 through 9. The Prosigns set consists of 11 special prosigns or procedural signals. The Punctuation set is composed of 18 different symbols.
Custom Set
The Custom Set allows you to create your own training set from members of any of the other basic sets: Letters, Numbers, Prosigns and Punctuation.

With a custom set you can focus on characters that are giving you trouble by creating a Training set that includes just those characters.
NOTE: since Morse Elmer uses the standard iOS keyboard when creating your custom set, some of the special characters available are not supported by Morse Elmer and will not be included in the set if you type them.
A warning will be displayed if you attempt entry of unsupported or duplicate characters.
File Set
The File Set was added in version 1.3. This set allows you to provide text files to train from. You provide these files via iTunes File Sharing. This means when you connect your device to your computer, you can add text files to Morse Elmer, via the Finder, to be used for training. The details of how to copy files can be found in this Apple support article: Use the Finder to share files between your Mac and your iPhone, iPad, iPod touch.
Version 1.4 added two new features to Morse Elmer File Set. Now you can exaggerate the spacing in file sets and add files from a third party source like Dropbox.

The spacing control allows you to exaggerate the spacing between words. In a file set, for each space found depending on the control setting that space will be replaced with either 1, 2 or 3 spaces. This will give you more time between words to figure out what was just sent and get ready for the next word.

Version 1.5 expanded the way files could be added to Morse Elmer. Using the Document Browser you are now able to browse all the text files on your device, iCloud drive, or in any supported third-party file providers. Tap the + in the upper right hand corner to access the Document Browser.

Only text files will be selectable in the Document browser.
When you choose File as your training set, you'll be shown a list of available files.

Morse Elmer will only display and use files with the .txt extension that are (as of Version 1.5) not greater than 65536 bytes in size. Text files that are too big will not be selectable and will have a warning message.
Version 1.5 added the ability to delete a file that has been added to Morse Elmer. Just swipe left on the row to access the delete button.



You will get a warning alert before the file is actually deleted.

Once you select a file, Morse Elmer will check the contents of the file.

If there are any unsupported characters, they will be highlighted and ignored by Morse Elmer. Keep in mind the unsupported character may not even be printable, so the highlighting may only approximate the location in the file. The validation is just to show you the characters that will be ignored. You can go ahead and train as is or rework the training file and share it again with Morse Elmer.
NOTE: Morse Elmer (as of Version 1.5) doesn't support parsing Prosigns in training files.

When you select a File based training set, back on the Settings tab, instead of specifying training word length, you now specify File Order.

If you choose Sequential then a training set is built by sequentially drawing words from the file you specified. If you choose Random Word then a training set is built by randomly selecting whitespace separated words from the file you specified.

Morse Elmer ships with a single file: The top 100 CW Words. File based training sets have been requested since the beginning of Morse Elmer. The functionality is currently a work in progress. Please try it out and let me know how it works and how it could be improved.
QSO Set
Version 1.4 added a new Training Set: QSO.

Selecting QSO will randomly generate a QSO between two operators. The QSO follows a very formal format. Selecting QSO changes several aspects of training.

With a QSO you don't specify a Training duration, you listen to the entire QSO sequentially. Your Target Speed options are also limited.

As of Version 1.4, Advanced Target Speed settings are not available for use with the QSO Training set. If there's sufficient interest I could add it in a subsequent version. The Results tab for a QSO Training Session is different as well.

Instead of comparing how you copied the entire message, you're asked questions about the QSO.

As you fill in the fields for the caller and responder you get an immediate indication if you heard correctly. Once you have answered all the question you can you can submit your score.

If you're curious about the QSO text there's a button for that as well.

No cheating!
As you can tell this is a very simplistic first attempt. There's a lot more I could do, but I want to see if there's any interest before I put more effort into making more realistic QSO's or adding contesting QSO, etc.
Training Set Size
The last setting in the Training Set Section is where you specify the size of your training set.

In the above image we can see that we're using the Default Training Set. The set has 43 total characters and we're currently using just the first two. The character we're currently training with are shown in the blue box 'K' and 'M'. Morse Elmer controls the order of the characters in your training set. You just set the size. To add a character to your training set tap the
button beneath the blue box, the next character in the overall training set will be added to what you are training with.

In this case it's the letter 'R' the third character in the Default Set. Tapping the
button will remove the last character from your current training set. You can use the
button to hear what the last character in the training set sounds like.

The character audio will be generated at the Target Speed. This is a good way to introduce yourself to a new character before you start training. For file based training sets the File Order takes care of how your training set is built.











No comments:
Post a Comment