Reply by Chuck Broadwell, W5UXH on Septemat 8:49pm It will be very simple for others to download the software to an Arduino and have fun with your project. I need to optimize the tone frequency and level (at 600 Hz my input signal is only 1.6Vp-p) and see to what speed I have perfect decoding when the input is 'perfect'. With the 'perfect' CW input from a test message sent by the keyboard, I have perfect decoding up to 30 wpm. Neither is as close to your 558 Hz or 744 Hz frequencies, and I expect it will work even better when optimized and with a higher input amplitude. At 600 Hz, my output p-p level does not drop as low as at 750 Hz but neither 600 or 750 is optimum. I can vary my tone from roughly 600 Hz to 750 Hz.
So my output amplitude peaks near that QRG.
This is a preliminary test because I use a Hi-Per Mite filter on my sidetone, centered around 648 Hz. I used a 'pure' sinewave sidetone from another keyer as the CW test source. I converted one of my keyers (that already had the LCD interfaced to a ATmega328P chip) to try it out.