LB3HC's hightech blog

Amateur radio, RF design, electronics, uC, software, hacks, technology


Arduino Based CW keyer / FTDI based CAT interface

I recently needed a new CW keyer with Winkey compatibility for use with my N1MM logging setup. K3NG has written some nice keyer code that I compiled and uploaded to one of my Arduino UNO boards that I had laying in the shack (if you want to try it, you need the latest  – above 1 – version of the Arduino “IDE”). Below you can see some pictures from making the prototype thru to ready made keyer with USB interface and adjustable speed button. I did not install the memory buttons, as I control the CW keyer via USB from N1MM or Hamradio Deluxe. It works very well with my Yaesu FT-450D but instead of the UNO I will eventually use a Mini Pro board with the Atmel Atmega 328. You can see more info on K3NGs site

Below is the schematic (full credit to K3NG). I have modded the design for my needs. Instead of the 2N2222 I use a TTL tolerant FET of type IRLIZ44N to drive the keyer output. Then I don’t need the 100 ohm resistors. I also did connect a piezo tweeter directly to the CPU  without using the 2N222 transistor. It works ok. However the sound of the piezo tweeter is not the best in the world. Finally, as mentioned above, I did not install all the buttons. I installed only the command button to save space.  There is a need to do a small mod on the UNO hardware due to some reset issues. For that I will have to add another button that needs to be pressed when I want to upload code.


I also needed a CAT interface. You can use a FTDI chip for this task however the signal levels need to be transformed to +/- 12V. This I did with a MAX232 board that I had sitting in the shack. So now I have a CAT interface that is compatible with Win XP, NT, 2000, 98, Windows 7, Windows 8 etc since the FTDI chips are widely supported. It looks like … but works like …




Comment from David Time 20/10/2012 at 15:49


Is it possible to send me a copy of the arduino code you used here? the k3ng version is much more complicated at this moment with to much options I will not use….

David, on3dga

Comment from admin Time 20/10/2012 at 16:54

Hi David. I use the K3NG code with settings that work OK so far. My keyer has only one button and therefore I need only one resistor. I had the reset issue on the arduno but it can be solved by removing auto software reset (ASR). I am also working on a much smaller keyer that uses a mini version of Arduino. I will post the code I use. The credit for it must go to K3NG.

Comment from admin Time 20/10/2012 at 17:03

Write a comment