Some Basics of CW Hardware

It seems like hams assume a lot with terminology/jargon. One point of confusion for me was what exactly the parts were for even a simple CW practice setup would be. The words I kept seeing were key, paddle, iambic, keyer and oscillator. Here is what I finally concluded (though my conclusions may not be 100% accurate).

There is an excellent article (as with so many topics) on Wikipedia titled Telegraph Key. It covers the straight key, bug, and iambic key.

I’ll start with the simplest which is just a straight key. In this case, the key is just a simple switch that closes and opens the circuit. When the circuit is closed, you are sending, then it’s open, you’re not. That makes the dits and dahs. With a straight key, the user controls the length of the dits, dahs and spacing. Convention is that the dah is equal in length to three dits with a dit spacing between letters. That’s a lot of to deal with especially when you’re just learning. Plus modern hams seem to hate it when people get on the air with a straight key. They’re slow and hard to copy.

I’m still not entirely sure what a bug is, but they don’t seem terribly popular so I didn’t really look into them. It seems to be a mechanical paddle key that performs some of the same functions as an electronic keyer. Like I said though, unless you’re into the nostalgia and evolution of CW, you can probably skip the bug.

Next up is the paddle. This is where it starts to get fun and nerdy. I haven’t seen a lot of these since people seem to go straight to iambic keying when setting up an electronic keyer. So a single paddle, as with an iambic key, there are two switches and a common ground.  With a paddle, the paddle itself is the common ground and the operator moves it side to side to the dit and dah contacts. When one switch is closed, the keyer makes a dit, repeatedly, with proper spacing; when the other is closed, the keyer makes a dah. So, then, what is a keyer? A keyer is a little electronic device that actually generates the tone, tone length and spacing. Of course you can just search and find an already built keyer that does all kinds of stuff for you, but where’s the fun in that? There are wildly varying plans for them all over the internet, but unless you’re one of the lucky ones that lives in a town with something more than Radio Shack, you’ll have to order parts. And wait. I chose to make my keyer out of an Arduino Nano, some parts from Radio Shack and stuff I found. More on that in the Arduino CW Project series.

A step further is the iambic key. This key has 2 paddles, one for dit one for dah. There is a central contact that acts as the common ground and each paddle is a switch for the dit or dah. But with an iambic keyer, when you squeeze the two paddles together, it will alternate between dit and dah with proper spacing. This is really cool, but will take practice. For myself, I built an iambic key, but have not implemented the iambic functionality to the software on the Arduino based keyer. I’ve only just started learning morse code, so I’m learning with just the basic keying. Maybe this is counter productive, but I’d like to be able to use both a regular paddle and an iambic key.

If you have any questions or corrections for this article, please ask. Teaching and helping others is a great way to learn, and ham radio is a social hobby. Please refer to my Arduino CW Project series.

Arduino CW Project: part 1

Keyer Parts list:

  • Arduino Nano (or compatible)
  • Piezzo buzzer
  • 10K ohm trim potentiometer
  • 8x 100 ohm 1/4 watt resistors
  • 2-digit seven segment display (SSD)
  • 9 volt battery
  • 9 volt battery cap
  • 10x jumpers
  • 3.5mm audio jack
  • some extra solid wire for short connections

I was so excited when I got the Arduino Nano, I had the headers  soldered and on the breadboard for a CW keyer the same night I got it. I didn’t get the 2-digit seven segment display (SSD) installed until a couple days later. Now I’ve got that wired up and working as it should and with a more logical wiring layout than I did when I got it working before. This will be significant later.

I started with the tutorial and code for seven segment displays I found over at Tinker Hobby. With a little work and some judicious note taking, I was able to map my common anode SSD and get the counter program working right. From there, I needed to figure out how to output my WPM (Words Per Minute) to the SSD. You can easily use Serial.println() to output WPM to the debug window in the Arduino IDE, but that’s not very portable. To get your words per minute, you’ll need a little math (but not much really). You already have the millisecond length of the tone from the sketch. Just divide 1200 by the milliseconds and you’ve got your approximate workds per minute. A little tip here (and you’ll see this in the sketch) is to divide down the milliseconds so that the potentiometer adjustment isn’t so sensitive.

Okay. So now you have your WPM. How do we get it to the SSD? It’s not as hard as you’d think. We start by breaking up the digits of your WPM. We have to do this because the SSD doesn’t actually display both digits simultaneously. What’s really happening is that one digit gets displayed, then the other, really fast. So that’s what we’ll do. To separate the digits, we’ll use the modulo operator that performs a simple division and returns the remainder. You can see how this is done in the sketch. You may have to experiment a little to get how the pins are laid out on your SSD. The segments are always the same. You can change the mapping in the definitions section of the sketch.

Now you just follow the schematic, write the sketch to the Arduino and you should have a working, adjustable keyer with side tone and a handy readout.

Nano with everything wired up for testing.

Nano with everything wired up for testing.

You can see the Arduino Nano at the bottom with the power LED lit up. I’m running the project off of a 9v battery on the VIN (Voltage IN) and ground. The wiring on the right side of the board — the analog pins — is for the keyer. A0 is set as input from from the 10k ohm trim pot, A1 is output to the piezo speaker for sidetone, and A2 and A3 are the dit and dah for the Hackey. The SSD is hooked up the the digital pins.