Morseduino 2.3 aka Failure is NOT an option!

OK, so I needed to have a point of reference for debugging the Arduino Morse Decoder because despite the best efforts of Arduino Projects for Amateur Radio, there were a few things that need answering or obvious points of assistance which are conspicuous by their absence!

Thankfully, when I was researching the long term plans for this project I was aiming for a single board finished product based on Prototino board. When I was Googling around I came across an OSHPark PCB file which the designer Budd Churchward WB7HC had released as an open source project. As an added bonus he had a few left over from a batch he had made and was selling them. A bit of a result on the scale of things. As much as this was a journey of discovery and development, if someones got a thing and it’s vaguely round and turns you buy it, you don’t reverse engineer a Bridgestone just for the fun of it!

That landed a few weeks ago from the good old US of A and had been sat here waiting for me to have a look at it. This was my hour of need and seemed as good as any to see what we could do with it! I’d gone one step further and taken Budd up on his offer of the full kit with precoded Atmega PIC to save more time and hassle.

20160316_093156

The PCB is very nicely finished and after a few hours of gently paced work I had this.

20160316_113603

As a nice touch Budd had personalised the code on the Atmega with my callsign!

20160316_113631

The build isn’t difficult but I needed a working reference point to fault find the prototype board, so I took my time.

20160316_111007

There are a selection of jumpers provided for testing throughout the build which is a nice touch.

The proof was in the smoke test! Video attached

https://www.dropbox.com/s/us4znscpl3odsaq/20160316_121553.mp4?dl=0

This is the Morseduino having a go at a 15 word per minute file from the ARRL Morse Practice Archive for January 6 2016.

The text it’s translating reads –

‰ NOW 15 WPM ‰ TEXT IS FROM JANUARY 2015 QST PAGE 68 ‰

COMPANY. I WALKED MY NEIGHBORHOOD WITH A PORTABLE RADIO TUNED TO THE
BOTTOM END OF THE AM BROADCAST BAND. I FOUND SOME NOISE AT THE POLE THAT
HAS THE UNDERGROUND DROP TO MY HOME AND FIGURED THAT COULD BE THE PROBLEM.
EVENTUALLY THE UTILITY COMPANY CAME TO MY HOUSE TO INVESTIGATE MY NOISE
COMPLAINT. THEY FOUND THAT THE NOISE AT THE POLE WAS FROM THE PHONE
COMPANY DROP AT THE SAME POLE AND THEY COULD FIND NO NOISE FROM THEIR
EQUIPMENT, EVEN AFTER CAREFULLY DRIVING ALL THROUGH THE NEIGHBORHOOD. IN
‰ END OF 15 WPM TEXT ‚

In the words of Adam Savage once again, “In the spirit of science, there really is no such thing as a “failed experiment.” Any test that yields valid data is a valid test.

M2 Walk Around

Advertisements

Arduino Morse Decoder #3 – Decoder Shield Build

So after playing with Asian QRP transceivers for the past few weeks/months it was time to get things back on track and crack on with all things CW & Morse.

After successfully building the LCD Shield portion of this project the next stage was the actual decoder shield.

Here’s the partially completed shield prior to making all of the necessary wiring connections.

20160312_160938

It was at this point I noticed there’s one all mighty faux pas in Arduino Projects for Amateur Radio. There’s no help with wiring up the components on the prototyping shield.

I started working my way through the circuit schematic  after a considerable amount of Google time looking for publishing errata, with zero success. After several hours and a growing spider web of pencil on my circuit layout diagram I decided to wing it and emailed the authors directly, as the publishers’ support page was less than useless.

In less than half an hour the below diagram which is missing from the book was emailed over by Jack (W8TEE) and Dennis (W6DQ). Nice one guys, much apprecaited!

Morse Code Reader w display v4

So after an hours fiddly work soldering up the necessary links it was time to test this thing.

20160316_085548

With a certain degree of regret I had to unplug my LCD shield which was occupying the only free USB port on my computer. It had counted 1837237 seconds since inception, which equates to 21.26 days. Anyway, moving on!

20160316_091042

20160316_091050

With all the shields stacked up the prototype was starting to resemble the leaning tower of Pisa and preventing it from toppling was a pain. Application of a few stand off spacers on the Arduino helped with that.

I plumbed up a Y-splitter on the audio out from my PC, hooked it to the decoder and loaded up a test MP3 file from the ARRL Morse Practice Archive and waited to see what happened!

In two words “absolute jack!” A double check of everything revealed nothing obvious.

As Adam Savage of MythBusters would say “Failure is always an option!”

Arduino Morse Decoder #2 – LCD Shield build

Some people may ask why bother posting something as simple as this, but for the uninitiated it shows how simple this stuff can be and may spark some enthusiasm.

After having sat around for a few weeks waiting for a stray component or two to land I’ve eventually built the LCD Shield portion of this project. This will be the output display for the decoder and is pretty crucial to proceedings.

As this stage is purely development I decided to build the shield so that I could plug various LCD modules into it to try different sizes and colours etc. before hard soldering my chosen one onto a board.

With that in mind I substituted a header system to give plug and play options.

20160206_175904

The only snag with this is that the LCD is too heavy to self support purely on the headers alone and starts to sag quite alarmingly without some form of support!

20160206_180007

A 12mm M3 screw turned upside down with a nut located a few millimeters along the thread does the job quite nicely until I can find something a little more permanent.

20160206_180103

Aesthetically, once docked to the Arduino board this starts to look like a bad game of Jenga but this is purely prototyping!

20160207_100311

And as proof that everything works nicely here’s the Morse Decoder display 176 seconds into its existence next to the one I put together from my existing shields on 24th January. 1202472 equates to 13.9175 days! For some stupid reason I haven’t got the heart to unplug it.

Here’s the big brother screen (20 x 4) to the 16 x 2

20160207_124819

This has a much nicer feel to it, probably because it’s less cramped and I’m glad I didn’t flog it on eBay as I’d been planning to do. Just goes to show that disposophobia can be a good thing!

It is seriously heavy compared to the 16×2 screen and is currently perched on a 12mm piece of plastic pipe which I hacksawed off and placed between the back of the screen and the shield PCB otherwise it would have collapsed taking the pin header with it!

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.

MDSP_kits

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.

$_57

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!

20160122_083644

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!

20160123_173723

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.

SANYO DIGITAL CAMERA

 

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.