This project is based on the code found in the book Arduino for Ham Radio Book” By Glen Popiel, KW5GP I have not reinvented the wheel here or anything, but i have improved on and made fully usable this code. Its a CW keyboard with memory keying, it keys the straight key input on your radio using a relay to replace the straight key. This is obviously low voltage negative keying, and not suitable for old high voltage value systems etc.
So the changes i made have done added the following, firstly to make the default key speed to not be over ridden, currently this is set as 10wpm in code. Next i added in changing the key speed using the page up and down keys. Its very useful to be able to change your key speed to suit the person you are cw’ing with. Next i fixed an issue with the macros keying at a speed other than the current set keying speed. I also make it default to keying mode, not beeping mode. The software had 2 modes, keying the radio and beeping a buzzer for practice i guess, well it kind of seems redundant to key a buzzer with a keyboard when a radio has side tone already and i cannot see much practice value in keying a buzzer with a keyboard, its not really going to help you get better as cw operator.
These were all minor changes but ones that have made this project to be much more usable. I also simplified the schematic somewhat, pin 12 goes straight to the input on the relay board and the resistors on the LCD are not needed at all.
Here is my modified version of the code: CW_Memory_Keyer