Posts with «morse code» label

Tiny Morse Code USB Keyboard

We’ve featured quite a few of [mitxela]’s projects here in the past, and many of them have the propensity to be labelled “smallest”. His Morse Code USB Keyboard Mk II adds to that list. It’s a Saturday afternoon project, with a few parts slapped onto a piece of perf-board, that allows using a Morse key as a USB keyboard. This project isn’t new or fresh, but we stumbled across it while trying to figure out a use for a Morse key lying in the author’s bin of parts. You can practise transmitting, by reading text and typing it out on the key, and then look it up on your computer to see if you made any mistakes. Or you can practise receiving, by asking a friend to punch it out for you. Either way, it’s a great way to hone your skills and prepare for your radio operators license exam.

The project is a follow up to his earlier one where he hooked up the Morse key via a RS-232 — USB converter directly to a computer and let the code do all the work. That turned out to be a very resource hungry, impractical project and made him do it right the next time around. The hardware is dead simple. An ATtiny85, a piezo buzzer, some decoupling capacitors, and a few resistors and zeners to allow a safe USB interface. The design accommodates a straight key, but there is one spare pin left over in the ATtiny to allow for iambic or sideswiper keys too. There is no speed adjustment, which is hardcoded at the moment. That isn’t very user friendly, and [mitxela] suggests adding a speed potentiometer to that last remaining pin on the ATtiny. This would prevent use of iambic/sideswiper keys. Or, you could use the RST pin on the ATtiny as a (weak) IO. The RST pin can read analog values between 5V and 2.5V, and will reset when voltage falls below 2.2V. Or just use another microcontroller as a last resort.

For the USB interface, [mitxela] is using the V-USB library after wasting some time trying to reinvent the wheel. And since this is designed to work as a HID, there are no drivers required – plug it in, and the OS detects it as a keyboard. He’s borrowed code from the EasyLogger project to use the internal oscillator and help free up the IO pins. And to detect the characters being typed, his code uses a long string of compare statements instead of a dictionary lookup. Writing that code was tedious, but it makes the identification quicker, since most characters can be identified in less that five comparisons (one dit = E, two dits = I, three dits = S and so on). This “tree” makes it easier to figure it out.

If you’d like to look up some of his other “tiny” projects, check out The smallest MIDI synthesizer, Smallest MIDI synth, again! and the ATtiny MIDI plug synth.


Filed under: peripherals hacks

Morse Code: Paris in the Mint Box

[Rob Bailey] likes to build things and he likes ham radio. We are guessing he likes mints too since he’s been known to jam things into Altoids tins. He had been thinking about building a code practice oscillator in a Altoids Smalls tin, but wasn’t sure he could squeeze an Arduino Pro Mini in there too. Then he found the TinyLily Mini. The rest is history, as they say, and 1CPO was born.

The TinyLily Mini is a circular-shaped Arduino (see right) about the size of a US dime. most of the pads are arranged around the circle and there is a small header that takes a USB programmer. A small rechargeable battery can run the device for a long time.

If you’ve ever written Morse code software, one challenge is to compute the actual sending speed in words per minute (WPM). If you are doing a serial port, for example, the speed is easy because the sent elements are the same length. However, with Morse code, some things are very short (like an E, for example) and some are much longer (like a zero). In fact, the code tries to reflect the frequency certain letters occur. E is the shortest character and the most common in English texts.

You might think [Samuel Morse] was responsible for this, but his original code was only numbers. The idea is you would get numbers and look them up in a code book. Presumably, some of the codes would have been single letters forming an early coding like ASCII, Baudot, or EBCDIC. [Alfred Vail] expanded the system to include letters and other characters and assigned lengths based on the examination of type cases at the local newspaper. That code also used dots, dashes, and long dashes, but it is almost recognizable as the Morse code in use today.

So [Rob] looked for a way to determine the speed and found that the ARRL uses the timing of the word PARIS as an average word. [Rob] wasn’t quite convinced that was the right way to go, so he compiled a list of the 1,000 most common English words, the 100 largest cities in the word, and a few other groups of words and computed the average element length of the words. PARIS has 50 elements total. The average of [Rob’s] list was 49.489. Pretty close.

If you think Morse code is dead, there are still a number of hams who enjoy it. Also, the US Air Force trains 10 Morse code operators every year. Morse has been used to transfer data over cell phones cheaply, and we’ve seen plenty of larger practice devices.


Filed under: Arduino Hacks

Morse Code Waterfall is Cooler Than Your Fifth Grade Science Fair Project

For her science fair project, [David]’s daughter had thoughts about dipping eggs in coffee, or showing how dangerous soda is to the unsuspecting tooth. Boring. Instead she employed her father to help her build a Morse Code waterfall.

A more civilized wea– tool from a more elegant age. Young Jed–Engineer.

[David] worked with his daughter to give her the lego bricks of knowledge needed, but she did the coding, building, and, apparently, wire-wrapping herself. Impressive!

She did the trick with two Arduinos. One controls a relay that dumps a stream of water. The other watches with an optical interrupt made from an infrared emitter and detector pair to get the message.

To send a message, type it in the keyboard. The waterfall will drop spurts of water, and then show the message on the decoder display. Pretty cool. We also liked the pulse length dial. The solution behind the LEDs is pretty clever. Video after the break.


Filed under: Arduino Hacks, news

Arduino Teaches Morse Code

You may wonder why anyone would want to learn Morse code. You don’t need it for a ham license anymore. There are, however, at least three reasons you might want to learn it anyway. First, some people actually enjoy it either for the nostalgia or the challenge of it. After all, . Another reason is that Morse code can often get through when other human-readable schemes fail. Morse code can be sent using low power, equipment built from simple materials or even using mirrors or flashlights. Finally, Morse code is a very simple way to do covert communications. If you know Morse code, you could privately talk to a concealed computer on just two I/O lines. We’ll let you imagine the uses for that.

In the old days, you usually learned Morse code from an experienced sender, by listening to the radio, or from an audio tape. The state of the art today employs a computer to randomly generate practice text. [M0TGN] wanted a device to generate practice code, so he built it around an Arduino. The device acts like an old commercial model, the Datong D70, although it can optionally accept an LCD screen, something the D70 didn’t have.

You can see the project in operation in the video below. Once you learn how to read Morse code, you might want to teach your Arduino to understand it, too. Or, you can check out some other Morse-based projects.


Filed under: Arduino Hacks

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.


Filed under: Arduino Hacks

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.


Filed under: Microcontrollers, radio hacks

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.


Filed under: Arduino Hacks
Hack a Day 13 Sep 00:00

Arduino using a straight key for Morse code assistance

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.


Filed under: radio hacks
Hack a Day 03 Jan 22:01

Red Bull Creation hardware (Bullduino) arrives

The Bullduino’s are starting to arrive. When [Arclight] received his in the mail the first thing he did was to share the hardware details. Of course this is the hardware that participants in the Red Bull Creation contest will be receiving ahead of this year’s contest.

The board is an ATmega328 Arduino clone. Instead of an FTDI chip for USB this one is sporting an ATmega8u2. That’s not too much of a surprise as it should translate to a cost savings. [Arclight] reports that the stock firmware flashes a message in Morse code. It seems the Hartford HackerSpace got their Bullduino several days ago and already decoded the message. It reads:

“Wouldn’t lou prefer a good game of chess?”

The guys that did the decoding speculate that this could be a type as ‘l’ and ‘y’ are inversions of each other in Morse code; or it could be some kind of clue. At any rate, if you want to do some disassembly and see if there’s anything lurking in the firmware, [Arclight] posted FLASH and EEPROM dumps from both ATmega chips along with his article.


Filed under: arduino hacks

Morse code beacon wins the LayerOne badge hacking contest

Ham skills prevail in this year’s LayerOne badge hacking contest. [Jason] was the winner with this Morse Code beacon hack.He got a head start on the competition after seeing our preview feature on the badge hardware development. It got him thinking and let him gather his tools ahead of arrival.

The hardware is segregated into two parts of the board. The lower portion is a take on the Arduino, and the upper portion is a wireless transmitter meant to control some cheap RC cars. [Jason] figured this was perfect for conversion as a CW beacon (continuous wave is what Morse Code is called if you’re a ham). The first issue he encountered was getting the badge to play nicely with the Arduino IDE. It was setup to run Slowduino firmware which uses the internal oscillator. [Jason] soldered on his own crystal and reflashed the firmware. He found that the transmitter couldn’t be directly keyed because of the shifting used in the RC car protocol. He cut the power to the transmitter, and found that it could be more accurately keyed by injecting power to one of the other pins. Check out the video after the break for a better explanation of his technique.


Filed under: cons
Hack a Day 30 May 21:01
arduino  badge  beacon  cons  cw  layerone  morse code