Hacklet 69 – Morse Code Projects

With over 160 years of history under its belt, Morse code is by far the oldest digital signaling system known to man. Originally developed for telegraph systems, [Samuel Morse’s] code has been sent over wires, via radio, and even with flashes of light. Hackers, makers and engineers have been working with Morse code throughout history. For many years, simple code keys and practice oscillators were the “hello world” of hobby electronics. In fact, a company which started out selling a Morse key has gone on to become one of the largest electronic component distributors in the world. The company still bears the name of that project: Digi-Key. This week’s Hacklet is all about some of the best Morse code projects on Hackaday.io!

key1We start with [voxnulla] and Morse key HID + ugly hack. [voxnulla] found an old key at his favorite thrift store. It was dusty, greasy, and for some reason had been painted hospital green. Once the paint and grime were removed, and the original wooden plate restored, the key actually looked pretty good. [Voxnulla] then decided to turn it into a USB Human Interface Device (HID), emulating the keyboard of his computer. An Arduino converts Morse code characters tapped at the key into keystrokes over USB. As [voxnulla] knows, when butterflies aren’t available, real programmers drive vim with a Morse key!

code2Next up is [Voja Antonic] with Daddy, I don’t have the key. If you didn’t read [Voja’s] article about Hacking the Digital and Social System, check it out! Many apartments have an intercom system where you have to “buzz” someone in, activating a solenoid lock in the door. [Voja] inserted a Microchip PIC12 series microcontroller between the speaker and the unlock button. All a user has to do is tap out the right Morse code password on the call button in the lobby. If the code is accepted, the PIC unlocks the door, and you’re in!

 

morseterminal[kodera2t] took things into the digital age with Stand-alone Tiny Morse code encoder/decoder. This project grew out of his general purpose Portable tiny IoT device project. [kodera2t] rolled his own Arduino-compatible board for this project. The tiny ATmega1284 powered computer allows him to encode and decode Morse code. A smartphone-sized keyboard and a lilliputian OLED display serve as the user interface, while rotary encoder allows for variable code speed. You can even “tap” Morse out on one of the tactile buttons!

 

morselightFinally, we have [Yannick (Gigawipf)] with Portable (morsing) 100W led flashlight. 100 watt LEDs have gotten quite cheap these days, and they’re perfect when you absolutely, positively have to blind everyone around you. These LEDs can also be switched on and off quickly, which makes them perfect for Morse code. In years past, mechanical shutters had to be used to perform the same feat. [Yannick] used a 5000mAh 5S Zippy Li-Po to supply electrons to this hungry beast, while a 600 Watt constant current boost converter keeps that power under control. An Arduino running Morse code converter software controls the boost convert and LED.  [Yannick] uses his computer to send a message over the Arduino’s serial link, and the light does the rest, flashing out the message for all to see.

If you want more Morse goodness, check out our brand new Morse code project list! My Morse is a bit rusty, so if I wasn’t able to copy your transmission and missed your project, don’t hesitate to drop me a message on Hackaday.io. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Morse Code RF Transmitter From A Micro’s Clock Output

If you’re looking for a simple way to make an RF transmitter, check out [Tomasz]’s Morse code transmitter. His design uses nothing more than a microcontroller and a 16MHz crystal to transmit CW Morse code on 96MHz. We’ve seen some similar designs that work at lower frequencies, but transmitting up at 96MHz is pretty impressive.

[Tomasz] used an STM32L microcontroller for this project, which isn’t specced to run up at the high frequencies he wanted to transmit at. To get around this, [Tomasz] wired a 16Mhz oscillator up to microcontroller’s clock input. The clock input is run into the micro’s PLL which is capable of generating high frequencies. He mentions that you can use the internal oscillator instead of a crystal, but it has a ton of phase noise and splatters all over the spectrum.

[Tomasz] chose to start transmitting at 96MHz, which can be picked up by a standard FM radio. To generate this frequency, he set the PLL to multiply the 16MHz crystal up to 192MHz followed by a clock divide of 2 which brings it down to 96MHz. The microcontroller’s CPU runs on the 16MHz crystal input before it goes into the PLL. Next [Tomasz] enabled the MCO clock output pin which routes the 96MHz signal to the outside world.

Transmitting CW is pretty simple; it just involves turning a fixed-frequency transmitter on and off. [Tomasz] wrote a function that enables and disables the MCO output pin. This has the effect of keying any Morse code string you throw at it. Check out the video after the break to see the transmitter in action.

Continue reading “Morse Code RF Transmitter From A Micro’s Clock Output”

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!