An Iambic Morse Key-er interface, for a straight CW key mode radio.
When radio hams design and construct their own equipment, for Morse use, I understand from the HF bands that constructors usually have to resort to a straight key, as to using any paddle key. I have heard on the bands, that the Iambic Morse key-er chip is a bit hard to come by, so I put together the below circuit. The circuit has been constructed and tested, along with my own written picaxe basic code. I have put together this Picaxe Basic code program, for the interface of an Iambic paddle Morse key for mostly ham radio use. The software has been tested against my UNI-T digital oscilloscope.
Below is the circuit diagram of the single or twin paddle iambic Morse Key-er interface for home made ham radio sets, uses a 2·2K ohm resistor on each of the paddle key-er interface connections. The paddle key thus pulls to ground to indicate a paddle key activation or movement.
I found that at the mid way point of the 10K ohm variable resistor, with the code variables set as there are, this pot setting gives myself a comfortable key rate setting. By measuring the dot repeat rate on a counter, it equates to just under 6Hz, which seems to me, but since I have not used Morse for yonks, shamefully, its about 12 words a minutes, comparing to the Yaesu FT450d Iambic keyer button. The lower the variable voltage, the higher the Iambic keying rate, the higher the variable voltage the lower the keying rate.
The complete micro-controller picaxe 08m2 interface was made on a single PICAXE-08-Proto-Board, the additional pull-up resistors and the external wire attached 10K ohm pots are all connected to the 08m2 development board. The jack input of the 08m2 development board is for the micro-controller program cable input from your computer usb port.
The below coding I hope is documented to a point that the code can be read to see how the program functions.
Pin 2 of the 08m2 micro-controller chip, also labelled "C.4", is the combined Iambic key output into a straight key signal. Radio's that only have a straight key input, such as the Yaesu FT290, I have the mark one version, would convert a straight key radio into a Iambic key equipped radio. I once had an Yaesu FT980, however this unfortunately went faulty and I was unable at the time to repair the radio, but kept the SP980-P external speaker and the optional FT980 MD-1 microphone of the day, both now in use on my Yaesu FT450d, but I had added the Iambic key circuit interface that came as an option for the FT980. However the traditional radio's that come only straight key equipped, this Iambic key interface circuit with the software coding, of which there are three versions to try out for each ham's preference, would hopefully transform perhaps any traditional radio, and give the radio a new life.
On the lowest speed setting, the dit duration is 150ms high and low per dit, or 300ms for a full dit cycle, that is on and off signal. At the highest speed setting, the dits are 20ms high and 27ms low, thus a 50ms full cycle. The dash high duration is 5 times that of the dit, and one dit low for spacing between each dash.
However a word of caution, the variable resistor pot used to provide a variable voltage to set the Morse send speed, at the edges or ends of the variable resistor resistance track inside the pot, may and does in my case give error signal voltages. This causes the Keyed Morse speed to suddenly alter to the extremes of the Morse keyed rate to the high end value. The solution to this is to either find a pot that does give error signals at its end edges, or just turn thus adjust the pot such as to avoid the end edge error signals.
The other cause maybe that the variable voltage pot may need to be top loaded with a resistor, to then give the voltage range a lower top voltage value. I say this because it may be possible that the ADC convertor within the chip may be based on a ramp voltage test inside the chip, that so, then the voltage to be measured into the ADC pin, may perhaps exceed the max measurable voltage by the ADC pin input of the chip. If a 10K ohm pot is used, then say a 1K ohm top end load resistor may perhaps reduce the top end pot voltage by 1/10th, or more if is required with a higher value load resistor, the principle to then match or not exceed the top end measurable voltage by the ADC input of the 08m2 chip. According the HF bands, a 2·2k ohm resistor works fine to top load the 10K ohm pot. However to over come the problem in the short term, the below coding:-
REM subdivide the ADC value for minumum morse rate variable speed
sub_divide = sub_space / 2
REM the 20 value sets the maximum morse rate for variable speed
dot_dash = sub_divide + 20
the second code line of "sub_divide = sub_space / 2", seems to solve the problem for the moment. If the load resistor idea works, then the "sub_space / 2" part, the number "2" maybe replaced by the number "1". As the value of "sub_divide" will then be greater, the maximum value of pause will be greater thus the lower the Morse key rate. The fourth line "dot_dash = sub_divide + 20", the "+20" relates the minimum value of pause to limit the top end keying rate. The up-dated circuit is shown below for clarity:-
I have added a sub-routine for a twin paddle Morse key. By holding together both paddle keys, the Iambic code will signal a constant carrier signal, that is to say the Morse signal pin output ( pin C.4 ), will stay high until both or the other key paddle is realised. This is to allow the transmitter to stay on a "Tx carrier" output for antenna tuning, or other needs, by merely holding together both keys of a twin paddle Morse key. Alternatively, if a single paddle key is used, a DPST switch could be used to simulate the holding of both paddles together at once.
The 08m2 paddle key program will provide repeated dit's and dash's should either the dit or dash key of the twin paddle be continually pressed.
The circuit above illustrates an active high output, the code below is an active low output to key the ptt line of the radio. To reverse this around, swap low 4 for high 4, and high 4 for low 4, within teh below coding.
"
REM program code by Alastair GW0AJU
REM date:- 26th June 2025
symbol dot_dash = b1
symbol dash_hold = b2
symbol dot_hold = b3
symbol sub_divide = b4
symbol sub_space = b5
REM set to low the iambic keying output
high 4
morse_key_sense:
REM read adc port on pin 6 ( C.1 )
readadc 1,b0
REM give variable the ADC value from zero to 255
sub_space = b0
REM subdivide the ADC value for minumum morse rate variable speed
sub_divide = sub_space / 2
REM the 20 value sets the maximum morse rate for variable speed
dot_dash = sub_divide + 2
REM inter dot / dash spacing :- the lower the value, the higher is the morse rate keying
pause dot_dash
REM to test for the dot or dash paddle keying:- pin 4 "08m2" ( C.3 ) and pin5 "08m2" ( C.2 )
top:
If pin2 = 0 AND pin3 = 0 then constant_carrier
if pin2 = 0 then key_dot
if pin3 = 0 then key_dash
goto morse_key_sense
REM for a twin paddle key to allow the transmitter emit a constant carrier for antenna tuning
constant_carrier:
low 4
If pin2 = 0 AND pin3 = 0 then constant_carrier
high 4
goto top
REM pin 3 ( C.4 ) of the 08m2 device is used a iambic morse keying output
key_dot:
low 4
for dot_hold = 1 to 1
pause dot_dash
next dot_hold
high 4
goto morse_key_sense
key_dash:
low 4
REM the count of 6 equates to 3 dots in length on the digital oscilloscope
for dash_hold = 1 to 6
pause dot_dash
next dash_hold
high 4
goto morse_key_sense
end
"
For a supply source reference, the picaxe 08m2 development board and the picaxe basic ide is found at the below reference, plus additional 08m2 chips:-
No doubt, other sources are available:-
http://www.picaxe.com/Hardware/Starter-Packs/PICAXE-08-Starter-Pack/
http://www.picaxe.com/Software
http://www.picaxe.com/Hardware/PICAXE-Chips/PICAXE-08M2-microcontroller/
http://www.picaxe.com/Hardware/Project-Boards/PICAXE-08-Proto-Board/
Oh, bye the way, the 08m2 chip runs with an internal 4MHz clock, so there is plenty of room for processing power for this application.