Converting Morse Code To Text With Arduino

Morse code used to be widely used around the globe. Before voice transmissions were possible over radio, Morse code was all the rage. Nowadays, it’s been replaced with more sophisticated technologies that allow us to transmit voice, or data much faster and more efficiently. You don’t even need to know Morse code to get an amateur radio license any more. That doesn’t mean that Morse code is dead, though. There are still plenty of hobbyists out there practicing for the fun of it.

[Dan] decided to take a shortcut and use some modern technology to make it easier to translate Morse code back into readable text. His project log is a good example of the natural progression we all make when we are learning something new. He started out with an Arduino and a simple microphone. He wrote a basic sketch to read the input from the microphone and output the perceived volume over a Serial monitor as a series of asterisks. The more asterisks, the louder the signal. He calibrated the system so that a quiet room would read zero.

He found that while this worked, the Arduino was so fast that it detected very short pulses that the human ear could not detect. This would throw off his readings and needed to be smoothed out. If you are familiar with button debouncing then you get the idea. He ended up just averaging a few samples at a time, which worked out nicely.

The next iteration of the software added the ability to detect each legitimate beep from the Morse code signal. He cleared away anything too short. The result was a series of long and short chains of asterisks, representing long or short beeps. The third iteration translated these chains into dots and dashes. This version could also detect longer pauses between words to make things more readable.

Finally, [Dan] added a sort of lookup table to translate the dots and dashes back into ASCII characters. Now he can rest easy while the Arduino does all of the hard work. If you’re wondering why anyone would want to learn Morse code these days, it’s still a very simple way for humans to communicate long distances without the aid of a computer.

Wouldn’t Tweeting In Morse Code Be More Like “Pecking”?

If you find yourself glued to social media and also wish to know Morse code… we can think of no better invention to help hone your skills than the Twitter Telegraph. This vintage to pop culture mashup by [Devon Elliott] is a recent project that uses a sounder from the 19th century to communicate incoming tweets with dots and dashes.

Back in the day when everyone was connected by wire, the sounder was a device on the receiving end of the telegraph which translated the incoming signal to an audible clicking. Two tall coils sat with a metal tab teetering between them. When electricity surged into one of the coils it would magnetize, pulling the tab downward in a pattern which mimicked the incoming current sent from the other end. [Devon] decided to liberate the sounder from its string-and-two-can origins and use a more modern source of input. By adding a FONA board which comes equipped with a SIM card, the device was capable of connecting and receiving data from the Internet. An Arduino is responsible for taking the data received and translating it into Morse code using the Mark Fickett’s Arduinomorse library, and then sending it out through an I/O pin to the sounder itself to be tapped.

The finished project is connected to a cellular network which it uses to receive SMS messages and tweets. By mentioning the handle @ldntelegraphco you can send the Twitter Telegraph your own message which will be tapped in code for everyone in the vicinity to hear… which is worth giving a try for those of you curious types. Lastly, if you have an interest in taking a look at the code for your own use, it is available on [Devon’s] github.

A Wireless Web-Connected Morse Code Keyer

[Kevin] recently scored a Morse code keyer/sounder unit from the 1920s on eBay. While many hams would love to use an old keyer for CW, [Kevin] took a different route and repurposed it into a wireless web-connected morse code keyer.

[Kevin] mounted an Arduino Yun under the keyer, which listens for user input and provides web connectivity. The Yun connects to [Kevin]’s open-source web API he calls “morsel,” which allows it to send and receive messages with other morsel users. When a message is keyed in, the Yun publishes it to the API. When another keyer queries the API for incoming messages, the Yun downloads the morse sequence and replays it on the sounder.

[Kevin] also added some copper electrodes to the top of his enclosure, which act as capacitive buttons while keeping the keyer’s old-school appearance. The left button replays the most recently received message, and the right button sets the playback speed. Check out the video after the break to hear and see the keyer in action.

Thanks for the tip,  [Jarrod].

Continue reading “A Wireless Web-Connected Morse Code Keyer”

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. [Link updated 1/5/16] 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.

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!

Fubarino Contest: Morse Code Transmitter

fubarino-contest-morse-code-keyer

The Fubarino Contest entries are slowing streaming in. Here’s the first one that we’re featuring, sent in by [Nathanael Wilson]. He dusted off a project from some time ago, which is just fine with us. It’s a Morse Code transmitter which he designed for use during a fox hunt (locating a hidden transmitter using radio direction finding).

For the project he revised his old code, adding in a Morse look-up table so that the Arduino Mega 2560 can convert plain text into dots and dashes. It uses the tone library to output signals to the radio seem above. The easter egg is unlocked when shorting pin 10 at power-up. It then broadcasts a slightly altered message as interpreted above.

One of the reasons we chose to feature [Nathanael’s] entry first is that he presented it very well. Watch his video after the break to see for yourself. Then go back and check out the contest rules to get your own project submission in. After all, you can win a free Fubarino board from Microchip if you’re in the top twenty!

Continue reading “Fubarino Contest: Morse Code Transmitter”

Arduino Using A Straight Key For Morse Code Assistance

arduino-morse-code-straight-key

For those unfamiliar with Ham Radio, there are lots of fancy tools these days to make it easier for the radio operator. But enthusiasts still like to get back to basics, and one way to do this is to participate in Straight Key Night. This is when you pull out your traditional Morse code keyer and have a chat with others around the world. The most recent event was on New Year’s Eve. The only drag is that it sometimes takes a while to find another Ham who’s listening, and this can mean repetitively keying the letters QC SKN for long periods of time (QC invites listeners to respond, and SKN is to inform them you’re participating in Straight Key Night). Sure, a programmable keyer will do this for you, but that is against the spirit of the event. [Mike Herr] found a grey area by mechanically interfacing an Arduino with a straight key.

You can see the straight key being pressed by a hobby servo in the image above. The servo is driven by the Arduino, which will transmit the series of letters automatically. As you can see in the video after the break, once [Mike] hears back from a fellow operator he switches to a huge wooden straight key for the rest of the conversation.

Continue reading “Arduino Using A Straight Key For Morse Code Assistance”