My second Arduino project is about reading morse code.
This was my second project with embedded processors as well, but that was back in 1975.
The way I encoded morse was to use a 0 for dot and 1 for dash. Of course that meant you didn't know how long a morse character was so the end of the character was marked with a 1. So an S for example ( three dots ) would show as 00001000, Then all you need to do to convert it into ASCII is to use a lookup table in an array. All morse characters can be encoded in a single byte.