BITX CW Update
By Don
Cantrell, ND6T
Since the last post (February 25, 2017
“Putting the BITX Raduino on CW”) I have made a few changes in the sketches,
added a variable keying speed control, and added a Straight Key mode. In the
ensuing weeks it has performed nicely on the air, superb reports from everyone.
The primary reason for the initial
sluggishness in calling up the original keying routine was that the display
updating necessitated a sizable delay to keep it from flickering. By moving the
display update out of the loop() and putting the CW into a “while()” structure
made the delay essentially disappear. It also cleaned up the code, modularizing
it to make it easier to re-configure and to steal whole sections to use in
other sketches. I decided to use iteration counts (how many times the
subroutine ran) to create the time-out to return from CW transmit to receive.
This is called “semi-break in” operation and is used on many rigs. This is
still primarily a 'phone rig, after all. I was reminded about how fast the
Arduino works by the number of iterations it performed in 1.5
seconds...100,000! Zoom! Yes, it read the paddle inputs 100,000 times in one and
a half seconds.
The next big change was a speed
control. I am not a fan of menus. I want to turn a knob and go. So I drilled
another hole in the front panel of the BITX and mounted another 10K linear
taper pot. I wired it like the tuning control: +5 volts to one side, chassis
ground to the other, and the wiper to an unused A/D pin on the Raduino. Since
the new speed control was right near the tuning control, I just wired from that
for the end connectors.
The CW function reads the value and
converts directly to Words Per Minute. The display shows the two-digit speed at
the end of line 1 right after the “Idle” indicator on my program. I have it set
for 10 to 35 WPM, pretty much my normal range. It can be changed to cover
whatever range the operator would like by a couple of simple changes in the
code. That code is still extremely short, small, and in simple Arduino.
I am not a person that shuns Straight
Key mode, though. In fact, I rather prefer it. It is simple, understandable,
and has character. Much like a persons' hand-written messages. An operator's
fist is as distinctive as his call. And who can send CW slower than 10 WPM on a
paddle?
With the current sketch, turning the
keyer speed control to less than 10 WPM replaces the speed indication with “SK”
and directs the program flow to the straight key function. Again, after 1.5
seconds of no key closure, the BITX returns to receive.
The only glitch occurs if the straight
key uses a 2-conductor plug or has the sleeve and ring conductors shorted and
is plugged into the 3-conductor key jack. Do that and the Raduino sees it as a
request for a “dash” from paddle. This is handled by reading the speed control.
If the control is set for “SK” then all is well. Leave it on a keyer speed
position with such a straight key plugged in then you can expect the BITX to
start transmitting “ DAH DAH DAH...” until you realize your error.
Although I was initially worried about
key clicks due to the fast rise time of the keying envelope I don't see much
difference from my other CW rigs. My Icom 746pro is not bothered just 100 Hz
away from the 50dB over S9 signal when using a 50Hz receive filter. No one I
have worked notices a problem. One operator using my conversion thought it had
some chirp but it turned out to be receiver overload instead. Not the BITX,
another receiver, relax.
Dmitry, EI3JQ, reported that he had to
use a lower value series resistor at the signal injection point at C132. He
says that the 470 ohm resistor resulted in low output. Further reports are
still pending but I expect that different builds will show variation. It is my
opinion that the CW output should be no more than the SSB PEP level to maintain
signal purity and lessen component strain. The average power difference is
nearly 10 dB and should be taken into account. Dmitry had much lower power,
though. He reports nice CW contacts both in Europe and Russia now.
I also re-wrote the sketches to reduce
the number of synthesizer and display refreshes. The newer versions of the
etherkit Si5351 libraries ( v 2.0.2 and
v 2.0.3) shut off the synthesizer outputs for a brief time when programmed for
frequency. This creates a clicking in the audio. My earlier sketches were
constantly updating so it was particularly irritating. Jerry, N5KYD, found this
problem. I suggest using v 2.0.1 until the library is further corrected but my
newer sketches have profitted from the experience.
If anyone wants a copy of the current
sketch with CW, for either the 40m Raduino BITX or the 60 meter version, just
write me at: ND6T@ARRL.NET for a copy. There are
changes made almost daily, lots to improve. The fun is in the innovation, after
all!
de ND6T
I am new to radio and just ordered my BitX40 today. Any guide to implementing the hardware changes for this mod? Uploading a new sketch to the arduino is simple enough. I would love to have CW on the Bitx40. Thank you
ReplyDeleteHi Avery, That info is in the Feb. 25th blog mentioned above but you can write me at ND6T@ARRL.net for more info. I could answer any and all questions that way. 73, Don,ND6T
DeleteHi Don,
ReplyDeleteMy names Dave call G0AYD,Ive been left a bitx 40 v3 from a SK,Would it be possible please if you could furnish mre how to add cw to the radio my email is daveg0ayd@gmail.com Regards Dave..