Analog keyer revisited #ubitx

John Pieper

I incorporated the keyer code from W0EB and W2CTX into my personal software build, but being determined to save the last analog input for S/power metering, kept the single input that detects three levels (four originally, but I don't care much about straight keying so I left that out for now). Some of the errors I've experienced and others have reported with the single line seemed to me consistent with the ADC deciding the state was "both" instead of "dit", for example an 'I' becoming an 'N' while the dit paddle is held closed. Looking at the nominal voltage levels with the provided resistors, I saw that there was only around 0.22 volts between the "dit" and "both" levels (1.60 vs 1.38 V). On the other hand, there is 1.8 volts between "dit" and "dah". Errors due to fluctuations would be much more likely between "dit" and "both".

Hoping to improve the situation, I did a little numerical study of the divider circuit. It turned out that there is really no area in the 2D "space" of possible resistor values that gives an ideal result (large equal intervals between both pairs of levels), but it is possible at least to increase the dit-both spacing significantly, at the expense of the dit-dah spacing. In the end I replaced the 2.2k resistor with a 5.1k one. Now the nominal levels are 3.4 V for "dah", 2.6 V for "dit", and 2.1 V for "both". I made an educated estimate of what the boundary ADC values should be and put them into my customized paddle-latch function.

The results so far are favorable. I have sent a fair amount of practice code (I also added a "practice" mode that only plays the sidetone) at speeds up to 25 wpm, and have detected no errors that were not caused by my fist. The iambic action seems flawless and smooth. I might actually get good at sending iambic style someday...

73, John AD0RW

Join to automatically receive all group messages.