You know how it is; you're a long time CW Operator and your speed is OK (18-25WPM) but you just can't stretch up to the manic speeds sometimes used in contests or by 'DX' stations. I searched around the internet to find a design of automatic Morse Decoder, just for those situations. I eventually found a nice simple design on: http://www.skovholm.com/cwdecoder It consists of an Arduino Uno, a potential divider and an LED! I prototyped it up on breadboard but I want a more permenant solution so I have designed it a PCB.
I received the PCBs from JLCPCB.com and assembled it with no issues. The LCD Display cabel was easy to make with the right IDC connectors and goes straight from the board to the display.
I found that the receiver's CW filter had to be fairly tight and the tone needs to be fairly accurate, but once it starts decoding, it works well with a good signal.
I have now uploaded the KiCad files, the Gerbers and a set of images for the design.
I've always had a problem with standard LCD displays. I don't know what it is. Maybe the number of connections or the contrast setting, but I always have problems with them. So, when the prototype boards arrived and I soldered one up, I wasn't really surprised to find the display didn't work.
I substuted multiple displays and also swapped out the '328 to a convenient Arduino UNO to make sure it was working. I then re-programmed it with the 'Blink' sketch to flash the Lock LED.
Several hours of frustration later, I realised that the clock oscillator wasn't running. I 'scoped the crystal and nothing. I did attempt to swap the crystal out but being really small connections, the tracks started to lift. I decided to cut my losses and build a new one.
This time, I decided to build in stages. Firstly, I put the 7805 on the board with it's associated components (including the power LED) and checked it worked. Then, the '328 with blink sketch. And then completed the build normally.
After wiring the display and re-programming the '328 with the CW Decode sketch - Success!
So, the moral of the story is, build a bit, check, build another bit, check again... etc.
I have since reworked the display connector and rotated it 180 deg. This will allow a small cable made up from two 16 way IDC connectors to go between the board and the 24x2 line display. A simple adaptor and minor change in the sketch will work with the 16x2 type LCD. The new boards are now on their way from the fabricator.
man. you got a source code for the 328? ...and you load the fw through the arduino board then swapping the 328 on the pcb I guess..