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.
[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.
Getting back to basics is a great way to teach yourself about a technology. We see it all the time with computers built from NAND gates or even discrete transistors. It’s the same for radio – stripping it back to the 19th century can really let you own the technology. But if an old-school wireless setup still needs a 21st-century twist to light your fire, try this spark gap transmitter and coherer receiver with a Beagle Bone Morse decoder.
At its heart, a spark gap transmitter is just a broadband RF noise generator, and as such is pretty illegal to operate these days. [Ashish Derhgawen]’s version, which lacks an LC tuning circuit, would be especially obnoxious if it had an antenna. But even without one, the 100% electromechanical transmitter is good for a couple of feet – more than enough for experimentation without incurring the wrath of local hams.
The receiver is based on a coherer, a device that conducts electricity only when a passing radio wave disturbs it. [Ashish]’s coherer is a slug of iron filings between two bolts in a plastic tube. To reset the coherer, [Ashish] added a decoherer built from an electromagnetic doorbell ringer to tap the tube and jostle the filings back into the nonconductive state. He also added an optoisolator to condition the receiver’s output for an IO pin on the Beagle, and a Python script to decode the incoming Morse. You can see it in action in the video below.
If this build looks familiar, it’s because we’ve covered [Ashish]’s efforts before. But this project keeps evolving, and it’s nice to see where he’s taken it and what he’s learned – like that MOSFETs don’t like inductive kickback much.
For most of us who have experimented with Morse code, the oldest key we are likely to have used will have been a piece of military surplus kit from the Second World War era. [Kyle Gabriel] however is a lucky man. His grandfather left him his key-on-board telegraph practice set, a vintage key and telegraph sounder arrangement used to learn Morse code in the days when the telegraph was king. Rather than keep the set merely as an heirloom, [Kyle] set about bringing it up to date by interfacing it to a Raspberry Pi and writing a Morse reader program.
Along the way [Kyle] had to contend with debouncing the switching signal from the key, considering an RC network before settling on a software debounce timer. He provides a brief synopsis of the mechanics of Morse decoding software, and a demonstration of the code in action which you can see in the video below the break.
[Kyle’s] decoding software, beatbybeat, is on GitHub. We can see it will be a useful tool for anyone interested in Morse, or who is writing their own Morse software.
It is reasonably easy to make a microcontroller spit out some Morse code. What makes [pavlin’s] take on this project interesting is that it resides on a tiny USB board with an ARM processor. The design for the board is available with single-sided artwork suitable for production using simple methods like toner transfer.
The STM device has a built-in USB bootloader. It can also act as a serial port, which makes the project very simple. The only external parts are a speaker and an optoisolator. The program provides a command line interface over the serial port that you can use to program the message and set other options like speed and the delay between messages. The code is available on GitHub.
Readers of a certain age will remember the payphone trick of letting the phone ring once and then hanging up to get your quarter back. This technique was used with a pre-planned call time to let someone know you made it or you were okay without accruing the cost of a telephone call. As long as nobody answered you didn’t have to pay for the call, and that continues to be the case with some pay-per-minute cellphone plans.
This is the concept behind [Antonio Ospite’s] ringtone data transfer project called SaveMySugar. Don’t judge him, this work has been ongoing for around ten years and started back when cellphone minutes were a concern. We’re just excited to see that he got the excruciatingly slow thing to work.
Those wanting to dig down to the nitty-gritty of the protocol (and you should be one of them) will want to read through the main project page. The system works by dialing the cellphone, letting it ring once, then hanging up. The time between redials determines a Morse code dot, dash, or separation between characters. Because you can’t precisely determine how long it will take each connection to read, [Antonio] built ‘noise’ measurement into the system to normalize variations. The resulting data transfer works quite well. He was able to transfer the word “CODEX” in just six minutes and thirty seconds. But it is automatic, so what do you care? See the edge-of-your-seat-action play out in the video below.
[Nick Touran] wanted to make two Raspberry Pi’s communicate wirelessly. There are lots of options, but [Nick] used a LASER and a photoresistor, along with Morse code. If you don’t find Morse code fancy enough, you could always refer to it as OOK (on/off keying). The circuit uses a common LASER module and an ordinary photoresistor that varies in resistance based on light. A resistor forms a voltage divider with the photoresistor and an external A/D reads the resulting voltage.
The circuit works, but we couldn’t help but notice a few items. Not all photoresistors are as sensitive to the same light wavelengths, so for the maximum range you’d want to pick a particular photoresistor. While the analog to digital converter is certainly workable, we couldn’t help but wonder if you couldn’t set up the divider to use the inherent threshold of the Raspberry Pi’s input pins for a simpler circuit. Of course, if you used the same technique with an Arduino, you could use the built-in A/D converter, and the A/D converter is probably easier to get working.
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. 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.