I have finished the breadboard testing and and finalized the Arduino Morse Decoder circuit. Here is the description.
The system uses the Arduino Pro Mini 3.3 volt version, together with the TJCTM24024-SPI TFT display. Since this display module needs 3.3V power and logic, using the low power Arduino is a good fit. This way I don’t require any level shifting along the control and power lines. Everything will go onto a custom made printed circuit board. The PCB will attach to the TFT display using a right-angle female pin header. This will save a lot of messy wiring inside the case.
The system will be powered by 5 volts, taken from a USB cable. I have decided to standardize small project powering using the common USB micro connector. This will provide 100 ma from any PC, or more using an AC wall power adapter. Since this whole circuit uses less than 100 ma, I will just plug the 5 volts into the Arduino Vin and rely on the Pro Mini regulator to provide the 3.3 V needed.
To help with PCB layout, I am trying to keep all of the display connections on one side of the Arduino module, and the rest of the I/O connections on the other side. As a result, I will assign analog pin A3 to work as digital pin D17. Since communications to the display are one way only, I won’t connect SPI MISO.
The rotary encoder will be used to make adjustments and resets when needed. It serves well as a multi-function control. The LED lights whenever the audio tone is present. Decoded text is printed on the display.
Morse Decoder Circuit Audio Input
This decoder needs to handle line level audio input that might be either stereo or mono. My receivers generally put out mono, but the sound card from a PC sends in stereo. The stereo input plug shown top right contains a summing circuit. Left and right audio channels will be added together. Audio is sent through a DC offset circuit to an analog input pin.
This circuit diagram was drawn using schematics.com which is a favorite tool for quick and easy documentation.