Maker Pro
Maker Pro

Morse code led without a micro controller

Ok so I'm attempting to make an emergency beacon ,similar to the one I was issued before I went over seas that just sat on a 9v battery it flashed an Ir bulb.

I was thinking of making one similar build but making it flash sos in Morse code/cw.

I have vague idea of how to accomplish it maybe using a few 555 or 556 chips but I'm not 100% on it

Any ideas?
 
A complete SOS cycle is 26 bit times. If you cheat on the final three dit times, it fits in three 8-bit shift registers that are loaded with a hard-wired bit pattern at the beginning of each cycle, or three CD4017 Johnson counters plus 15 small signal diodes summing the LED-on outputs into an LED driver. Thinking about it, the shift register method will take some logic to detect when to reload, while the 4017 method has that logic built in. The 4017's need some gating to cascade, but I think you can get the gating plus a clock oscillator in one CD4093 quad Schmitt NAND.

Total of four 14-16 pin ICs plus one LED driver transistor. Or one 8-pin PIC.

If you cheat some more and transmit this continuously:

S O S O S O S O S O S ...

we're down to only two 4017's and the 4093.

ak
 
Cheating sounds good to me as I'm attempting to shove it in as tight a space as possible. Essentially the idea is to make a bunch of them to throw in bugout/hiking bags
 

hevans1944

Hop - AC8NS
... nothing will be smaller/cheaper than a PIC (or some other uC). ...
Spot on! The Microchip PIC 10(L)F320 8-bit microcontroller would be ideal for this application. You could even "put it to sleep" between dits and dahs to conserve battery power. Available in a 6-pin SOT-23 surface mount package, you should be able to integrate all the circuitry between the LED and the battery.

Nice beginners project; some assembly required.
 
So my original idea was to use either two separate 555s or a single 556 regulated to pulse 3 leds in the proper dits and dahs with the use of a resistor or two.
Though from what I'm gathering by what's been said thus far that would not work properly or rather it would be easier to use something like the 4017 and 4093
 
Ok that is in no way what I am trying to make/do.

The idea is to take and make a flashing ir light that can be attached to a 9v battery.

yes they make them though they are literally nothing more than a surface mounted ir bulb that sits on a tiny piece of pcb on top of a 9v battery connector covered and sealed with a small plastic dome to keep it somewhat safe from the elements.

I am attempting to make a through hole package that is hopefully no more than twice the width of a 9v that instead of just flashing the ir bulb it blinks out SOS. I don't care if it's one bulb or 3 as long as it doesn't use a microcontroller.

Due to a few factors;
1) I'm a poor broke bloke
&
2) the use of a microcontroller in my opinion while fun to play around with, yes, but it is not in true diy electronics fashion as you need a computer to do half the work instead of just a bunch of pieces mixed with good ol` fashioned grey matter, a bit of solder, soldering iron ....well hopefully you get my point.

But thank you for your support analogkid
 

hevans1944

Hop - AC8NS
it is not in true diy electronics fashion as you need a computer to do half the work
Not "in true diy electronics fashion?" Really? So, what are you using to communicate with us here on this forum? A Tinker Toy set?

While it is true that you need a computer, specifically a personal computer, and a programming piece of hardware, specifically a PICkit 3 pod, plus the PIC microcontroller itself to do ALL the work initially. But that's just a temporary use of certain tools, just like using your soldering iron and solder (which will still be necessary!) to assemble parts on a circuit board.

Once the PIC is programmed, it stands alone as an embedded component whose only function is to flash the SOS code on the LED when the 9 V battery is connected. No other connection is necessary to the outside world, except for the 9 V battery and LED of course. You would need a three-terminal voltage regulator to drop the 9 V battery down to 5 V, and perhaps an FET driver for the LED (depending on LED power requirements).
 
Nah it's a Morse key plugged into my neighbors hijacked internet I'm also stealing his cable via 2k+ feet of stolen coaxial. But shhhh.... ;-P

Ok I apologize to all I may have offended what I meant by my earlier comment was simply that if I need to brush up on my basic, dos, python, c#, or c++ just to program a single chip rather than something that can be grabbed off the shelf good to go then and only then is it in 'my opinion' not solely an old fashioned diy 'guy/gal' in the garage type of project.

Please don't misunderstand me I have nothing against microcontrollers I just don't own one and those that I have used/borrowed in the past are no longer available to me via they are several hundred miles/km away.

Which is why I was hoping to brush up on skills of building something I thought might be useful that could be assembled with off the wall/out of the drawer parts that would not need to be programmed.

So again I apologize as I meant no offense.
 
I sympathize with your position. My own opinion used to be rather like yours in respect to processors and their 'take-over' of the simplest tasks although it has tempered somewhat over the years as I've grown to use and appreciate them better.

But I also appreciate the thought processes that can go behind resolving design issues such as this morse code device you're trying to build.

Back in (around) 1987 (blimey, that's 30 years ago now!!!!!!) I designed and built a similar device for the RNLI (Royal National Lifeboat Institute - the biggest independent sea-rescue organisation in the UK). It was a circuit board modification to an ICOM ICM-11 handheld VHF transceiver that, upon receiving a two-tone audio signal, would retransmit an SOS audio signal via VHF. They used it for practising S&R operations without using a 'body' in the water by polling it and DF-ing to the location.

The board replaced the original diode matrix channel programming board that sits in the back of the radio and had a couple of SMD IC's on it and an LS154 (CMOS version) IIRC but for the life of me I can't remember how I did it!

So what you want CAN be done in discreet parts and could be achieved even more efficiently with better and smaller SMD parts available today.

I'll get my thinking cap back on and see what I can come up with.
 
The problem with the 4017 approach is all of those 15 diodes. Still thinkin ...

As documented in my posting history, I'm not a huge of any one-size-fits-all part, including the 555. OK, except the CD4093.

But I keep going back to a 555 with three timing resistors, one for the space, one for a dah, and one that is added in parallel with the dah resistor to shorten it to a dit. Duty cycles of 25% (dah) and 50% (dit). The hangup is a symmetrical divide by three counter that drives the switch. Right now we're at 49 IC/transistor pins plus 30 pins for the diodes. That could be two 4013's plus gating for 50 pins and one diode. Still trying to get the body count down to 2 ICs.

ak
 
Right now we're at 49 IC/transistor pins plus 30 pins for the diodes. That could be two 4013's plus gating for 50 pins and one diode. Still trying to get the body count down to 2 ICs.
Or you could do the cheat version with 1 IC, like this :-
SOSOS-sender.PNG View attachment 37903
U1a is the basic oscillator which operates at one of two frequencies depending on whether Q2 is switched on or not. When Q1 and Q2 are on, the U1a pulses are integrated on cap C2. When U1b upper threshold is reached (3 short pulses integrated) U1b output goes low, Q2 turns off to reduce the pulse frequency, U1c output goes high and Q1 turns off. C2 then discharges via R6 and D2. When the U1b lower threshold is reached (after three long pulses), U1B changes state again and the cycle repeats.
SOSOSsenderOutput.PNG
R4 and R6 are critical to the 3-pulse count, so would need to be tweaked.
 

Attachments

  • SOS-sender.asc
    2.8 KB · Views: 134
Last edited:
Close, but -

The space between dahs is one dit. If a dit is 1 sec (for round numbers), the dit LED on time is 1 sec, the dah LED on time is 3 sec, and the LED off time is 1 sec for both dits and dahs. Tricky.

315px-International_Morse_Code.svg.png


Almost done with a counter schematic. It cheats because it has the space between S and O at 1 unit, but the space between O and S at 3 units. maybe.

ak
 
You're right about the timing, of course, but I think most people would recognise it as an SOS signal, regardless of the precise pulse durations and intervals.
 
First pass. R1-C1 form the space timer, approx. 0.5 s. R2 adds in for a three-times longer dah mark time. R3 is paralleled with R2 for the shorter dit mark time, a few percent longer than the space time. U1A-D4-D5 form a divide-by-three circuit. U2A is a toggle ff that uses D6 to switch R3 in and out of the 555 circuit on every other third output pulse.

ak
SOS-Morse-1-c.gif
 

hevans1944

Hop - AC8NS
So again I apologize as I meant no offense.
Apology accepted, but it was not necessary. Everyone is entitled to their own opinion. And I can also appreciate the desire to make "something from scratch" instead of having to wade into unknown waters trying to program who-knows-what kind of microprocessor.

Many years ago, near the end of the TTL (Transistor-Transistor Logic) era, and at the beginning of the CMOS logic era, I became interested in generating NTSC composite sync for use in a video game I was attempting to design. So, having some time on my hands and a large stock of TTL parts, I designed and bread-boarded a complete NTSC fully interlaced composite sync generator. I was soooo happy when I finally got it to work and had the interlace timing correct. Then, a few weeks later IIRC, I ran across an integrated circuit that did exactly the same thing for a really cheap price. I was crushed! All that work (weeks of it) just to re-invent someone else's wheel! I was determined to never let that happen to me again. And so led the path down the road to microprocessors... And I never did get around to finishing that video game because others beat me to it.

I like programming at the machine level, or register-level programming as some call it, "banging on the bits" with ones and zeroes of machine code. However, this gets tedious after hand-keying in a few dozen machine instructions. Hence the need at the beginning for a boot loader program you key in once and then use to load other programs, typically from a punched paper tape reader back then. From the ones and zeroes of machine language you advance to symbolic assembly language. More structure there, but still not very abstract yet. What is needed is a "microphone mouse" you can pick up, like Scotty did in the Star Trek movie "The Voyage Home," and say to it, "Computer! Design me a Morse Code flasher! Keep It Simple Stupid Computer."

So all those languages and operating systems you mentioned are just "fluff" the computer weenies have piled on top of machine language, to try to get us to the "microphone mouse" stage of "computer programming." IMO we're not there yet, no matter how sincerely Siri tries to help us.

I almost missed the second microprocessor revolution where ordinary Joes and Janes, armed with a laptop and an inexpensive USB interface pod, could create and download programs into embedded microprocessors dedicated to performing just one task, usually a task waaaay below the potential capability of the μP. Said use was eminently practical 'cause the μP devices had become dirt cheap. Some were less expensive than a quality socket to mount them to a circuit board. Compare that to the thousand-dollar-plus development system I needed to develop Intel 8085 applications from the late 1970s through the early 1990s.

By 2000 I had given up on embedded microprocessors, although I did try to keep abreast of new developments, in particular the extremely low-power Texas Instruments MSP430 series, available with insanely high-precision analog-to-digital converters. I still thought the entry level price was too high for hobby use, but somewhere between then and now that all changed. @KrisBlueNZ, before he unexpectedly died, clued me in on Microchip PICs and how easy and inexpensive it was to work with them. Later, I worked with @chopnhack to help him design an interface between a PIC and an Allegro current sensor.

Haven't done anything lately since we moved to Florida last December, but definitely plan to pick it up again. I might even design and program an LED Morse Code flasher... with optional sound beeps to make it easier to locate by ear. Or maybe program it to send CQ CQ CQ de AC8NS CQ CQ CQ K. On demand, of course, for use while walking around the flea market at a hamfest. Or maybe use it to control an electronic keyer on my ham radio transceiver, so I can automagically send out requests for contacts, giving my wrist a break at the telegraph key. All of this already exists of course in one form or another. I would be re-inventing someone else's wheel, but at least it would be a custom wheel of my own design.:D

So try out the ideas of @Alec_t and the @AnalogKid, and if you get something that does what you want it to do, there is probably an itsy bitsy teeny weenie surface-mount version available too. The important thing is to have FUN with whatever technology you choose.
 

hevans1944

Hop - AC8NS
Close, but -

The space between dahs is one dit. If a dit is 1 sec (for round numbers), the dit LED on time is 1 sec, the dah LED on time is 3 sec, and the LED off time is 1 sec for both dits and dahs. Tricky.






315px-International_Morse_Code.svg.png
The International Distress Signal is a pro-sign consisting of a string of three dits, three dahs, and three dits all sent as one symbol. There is NOT the usual three unit spaces between the three dits and the three dahs, as if these were separate "S" and "O" characters. In other words, Rule 4 above does not apply. There is only one unit interval between the first three dits and the three dahs and between the three dahs and the last three dits. OTOH, the space after "SOS" is seven units in accordance with Rule 5 above. Adding up all the time slots allocated to dits (one each), dahs (three each), time between dits or time between dahs (one each), and the seven time slots at the end of the pro-sign sequence means there are a total of 30 time slots occupied by dit.dit.dit.dah.dah.dah.dit.dit.dit........
 
Top