I recently found this nifty little library for Arduino that encodes and decodes Morse Code(or CW for you ham folks) . It's called MorseEnDecoder and I was able to get it up and going pretty quickly with an Arduino Uno and a few basic components. Now I don't know CW so I can't attest to the accuracy of this software but I could reasonably guess that the CW is probably pretty accurate(>90%). The entire project is hosted on Google code and is fully documented on the authors website(http://raronoff.wordpress.com/2010/12/16/morse-endecoder/).
I hope you enjoy it.