Arduino Morse Decoder #1

When all this interest in radio started a few years ago I remember putting something similar to “amateur radio project kit” into Google in the hope of finding something to build which would teach me a few things. By chance I plumped for a Stellar WSPR decoder as per blog post #1, but in amongst those search results was the Cumbria Designs Microcode Morse Reader which eHams rate as top notch.


It really is a case of “chicken and egg” on this one as if I’d have bought it and built it, it would have been a case of “well done but what are you going to do with it?” so it’s been on the back burner as an idea for almost 3 years. Now Morse code is starting to feature in my radio interest a Cumbria Designs Microcode Morse Reader would be a really useful piece of kit to have. Somewhat ironic that the bloody thing is now discontinued! If ever my sense of timing was well and truly out, this is one of them!

So after I recovered from smacking my balding head against a wall and making noises akin to Father Jack from Father Ted, I tried to work out what to do. OK, option one is learn Morse, but Rome wasn’t built in a day and a little help on that journey would be a good thing.

The whole idea of a unit which duly trots out a decoded Morse transmission would be a massive help in my learning, but what to do in the absence of the “Holy Grail?” Using a PC is one option but it’s not that portable, buy a cheap Chinese unit from eBay or adapt and overcome.


These Chinese units are a bit of an unknown quantity and to be honest they’re probably a Cumbria Design’s knock off but there’s a complete absence of anything useful in the information department alongside the listings to give you a clue as to the why and how.

From scouring the images on eBay at a guess there’s a microcontroller in there, some form of Op Amp and a tone decoder which suggests that they’re akin to the Arduino projects that are out there already on the internet.

Now trying to be frugal, I’ve got a box full of Arduino bits and pieces that have been sat in the garage for a while. I started playing with these things a few years ago when they first surfaced on advice of a good friend and I had them doing all sorts of daft things like running Apache Web Servers and logging the ambient temperature to an SD card. I rapidly ran out of enthusiasm as I didn’t really have a use for them doing anything vital to the existence of mankind so mothballed them. Time to blow off the dust!


A bit of internet trawling revealed a few ways of potentially doing this but my favoured option is from Arduino Projects for Amateur Radio.

I’ve tried to read a few books on Arduino over the years and never really got to grips with it but the above contextualises a lot of it and if anything provides motivation as there’s a real potential to get an Arduino earning it’s crust!

This will sound ridiculous to the educated out there, but I have never been able to get my LCD shield working. A 5 minute read of Arduino Projects for Amateur Radio and all becomes clear, you need to ensure that the pin assignments in the sketch correspond to the shield you use. My shield is a Nuelectronics LCD-Shield V1.1 (as I bought the cheaper clones rather than the genuine Arduino ones) and as such the pin assignment does not correlate to the example sketch provided with the Arduino IDE.

Armed with that vital bit of knowledge a quick Google of Arduino LCD Keypad Shield and bingo you’re rewarded with dfrobot’s site with an example sketch which shows you the pin assignment which works.

In brief you need to change the pin assignment in the sketch to read –

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8,9,4,5,6,7);

And the end result is, tada!


Simple things please simple minds but hey who cares!

If anything that’s a confidence booster and has spurned me on to build a simplified LCD screen shield, initially based around a 2×16 HD4478 LCD

Screenshot 2016-01-24 11.31.18

and combine it with a Signal Processing Shield

Screenshot 2016-01-24 11.30.51

This should give me the basic system.

Stage two is to change the display to a 4×20 LCD and then finally stage 3, move the project off of the stacked Arduino prototyping platform and onto a dedicated board utilising a Prototino board.



Having 90% of the required hardware immediately to hand is a bonus, so forwards and onwards!

In a similar manner WB7HFC along with countless others are way ahead of me on this one and it’s useful to have a reference point and to see what the end result could possibly be. The sketch of WB7HFC’s project is here for reference.

2 thoughts on “Arduino Morse Decoder #1”

Comments are closed.