Morse Decoder’s Lean and Sexy Search Algorithm

Often the Morse Code centered projects that we feature are to help you practice transmitting messages. This one takes a tack and builds an automatic decoder. We think [Nicola Cimmino’s] project is well worth featuring simply based on his explanation of the Digital Signal Processing used on the signal coming in from the microphone. Well done. But he’s really just getting warmed up.

What makes this really stand out is a brilliant algorithm that allows conversion from Morse to ASCII using a lookup table of only 64 bytes. This provides enough room for A-Z and 0-9 without chance of collision but could be expanded to allow for more characters. Below is a concise description of how the algorithm works but make sure you take the time to read [Nicola’s] project description in its entirety.

The algorithm can be decribed as follows. Have an index inside the lookup string inizialied to zero. Have an initial dash jump size of 64. At every received element (dot or dash) halve the initial dash jump and then increase by 1 the index inside the lookup string if a dot was received and by dash jump size if a dash was received. Repeat until a letter separator is reached, at that point the index inside the lookup string will point to the ASCII corresponding to the decoded morse.

Have you heard of this technique before? If so, tell us about it in the comments below. Before you jump all over this one, realize that Magic Morse uses a different technique.

Transmitting Data Long-Distance with Morse Code

[Konstantinos] wrote in to tell us about his CDW project: a digital encoding scheme for ham radio that uses CW (continuous wave) Morse code for digital data transfer. CW operation with Morse code is great for narrow-bandwidth low-speed communication over long distances. To take advantage of this, [Konstantinos] developed a program that takes binary or text files, compresses them, and translates them to a series of letters and numbers that can be represented with Morse code.

The software translates the characters into sequences of Morse code pulses, and plays an audio stream of the result. His software doesn’t support decoding Morse from an audio stream, so [Konstantinos] recommends using one of many existing programs to get the job done. Alternatively those with a good ear and working knowledge of Morse can transcribe the characters by hand.

After receiving a broadcast, the user pastes received characters back in the software. The software re-assembles the binary file from the Morse characters and decompresses the result. [Konstantinos] also added a simple XOR encryption feature, but keep in mind that using encryption on ham radio bands is technically illegal.

City Lights Telling Stories

If you’re walking around town and you see a light suddenly start to switch on and off seemingly at random, don’t discount it as a loose wire so quickly. [René] has been hard at work on a project to use city lights of all shapes and sizes for Morse messages, and a way for anyone to easily decode these messages if they happen upon one while out and about.

The lights can tell any story that is programmed into them. The code on the site is written for an Arduino-style microcontroller but it could be easily exported to any device that can switch power to turn a light on and off. Any light can work, there’s even video of a single headlight on a van blinking out some dots and dashes.

The other part of this project is a smartphone app that can decode the messages using the camera, although any Morse code interpreter can translate the messages, or if you’re a ham radio enthusiast you might recognize the messages without any tools whatsoever!

The great thing about this project is that it uses everyday objects to hide messages in plain sight, but where only some will be able to find them. This is indeed true hacker fashion! If you’re interested in making your own Morse code light, the code is available on the project site.

Dots and Dashes… on a Roll!

morse code device

Morse code was once a staple of the communications industry, but with advancing technology it has become relegated almost exclusively to movies and a niche group of ham radio operators. [Jan] has created a device which might not put a stop to this trend, but will at least educate children on the basics of how Morse code works by visually displaying Morse code as it’s generated.

The setup is fairly simple. An old momentary switch (which could easily be used in an actual Morse code setup) activates two pieces of circuitry. The first is a 555 timer circuit that creates an audible tone when the switch is pressed so the user can hear exactly what an operator would hear when decoding a real Morse code message.

The second piece of circuitry is where the real genius lies: a continuously spinning roll of glow-in-the-dark tape is placed in front of a white LED. When the switch is pressed, the LED turns on, which produces dots and dashes on the roll of tape as it passes by. This eliminates the need for rolls of paper or a more complicated moving pen/pencil setup to draw on the paper which might also be less child-proof.

While [Jan] built this as a toy, the children who used it thoroughly enjoyed it! They even decoded some Morse code messages and used the device to practice on it. After a while they’ll easily be able to master the Morse code trainer!

HackPhx Winter 2014 Hackathon Winners

HackPhx 2014

The HackPhx Winter 2014 hackathon was held at Heatsync Labs hackerspace in Mesa, Arizona, USA. The advertised theme was “Arduino Wearables”. Participating attendees were randomly placed on teams evenly distributed by their disclosed skills across all teams. There were 10 teams with 4 to 5 members per team competing for two winning spots.

Each team had to build an amazing wearable project utilizing the secret ingredient which was Seedstudio’s Arduino-compatible Xadow wearable platform and add-ons. The Xadow is similar to the Arduino Leonardo and participants used an Arduino cross compatibility and pin mapping chart to assist in development.

Top prize was the Judges’ prizes for the best completed and documented Xadow wearable team project. The second prize was the Jury’s prize given to the team project that the other teams liked the most regardless of event criteria.

Read more about the winning teams and watch their presentations after the break.

Continue reading “HackPhx Winter 2014 Hackathon Winners”

Magic Morse Arduino Trainer

cover_IMG408

Magic Morse is a mathematical algorithm that [Ray Burnette] wrote a few years ago to make it easy to send and receive Morse code. When he first wrote it, he designed it for a PIC, but since then he has re-written it to use as a training program for the Arduino platform.

It can run on the Uno, Nano, Pro Micro, or even home-brew Arduino boards. He’s demonstrating the program with a Nokia 5110 LCD, but has also included code for the typical 2×16 LCD displays. The Magic Morse algorithm is copyrighted, but he has released the Arduino code as open source in an effort to get people using Morse code once again — it is pretty awesome.

So how does it work? The algorithm assigns weights to the “dits” and “dahs” as received — when there is a longer pause, the algorithm creates a pointer which calls the character out of an array stored in the EEPROM. He’s included an example of this in Excel on his page.

Now you have no excuses about learning Morse code! Oh and if you don’t have a fancy telegraph key (the switch), [Ray’s] also published a handy method of making your own Morse code key out of popsicle sticks and magnets.

Fubarino Contest: Morse Code Christmas Baubles

fubarion-contest-christmas-morse-code

Fubarino Contest entries are starting to roll in at a faster rate. If you’re working on one you only have a few hours left! Submissions are due before 12:00am Pacific Time! This bit of inspiration is a two-fer. Both entries decided to use Morse Code to spell out the Hackaday URL.

First up, [Tariq] is getting into electronic design because his friend’s 8-year-old son [Yago] is really interested in Math and Science. The device he was working on is a little portable Morse Code message flasher (don’t miss part 2). The idea is that [Yago] can carry it around and pretend it’s a spy device containing a secret message. It might as well be since your average Joe probably wouldn’t notice the irregular flashing and if they did they wouldn’t be able to decode it without some help. The device is built around an ATtiny85. Normally it displays a Christmas greeting for [Yago]. But at the end of the cycle, or at power-up, it flashes the Hackaday URL at an extreme rate. Can anyone actually decode this without putting it on a logic analyzer?

The second offering is in the form of a blinky Christmas tree. [Jim] built the Arduino-compatible ornament for the holidays. It does a great job of flashing a bunch of different patterns, and it wasn’t too much work for him to make it flash the URL.


This is an entry in the Fubarino Contest. Submit your entry before 12/19/13 for a chance at one of the 20 Fubarino SD boards which Microchip has put up as prizes!