Morse Code Beacon Keyer

Updated October 25, 2013


This circuit stores a morse code message as bits in an EPROM chip, the message controls a relay which can key a CW transmitter. The keyer can output either a one-shot message such as "CQ DX DE WB0RIO", or a repeating message like "DE WB0RIO/B GS DM79IX [pause]. A One-shot message can be controlled by pressing the start/stop buttons, a repeating message can be sent by turning on the free run switch.

EPROMs other than the 2732 can be used if suitable changes are made to the address lines in the circuit. For larger EPROMs, just ground the higher order address input lines on the EPROM chip, and wire the appropriate chip select pins for outputs enabled and chip selected.

It is also possible to store more than one message in different banks of a larger EPROM, for instance, if a 2764 part were used, the A12 address line could be used to select the upper or lower message.

Note that the photo above shows a slightly different implementation of the circuit. A 5V power supply and a 555 timer sidetone oscillator have been added, the keyer relay has been removed and the EPROM is a 2716 type.


CMOS Nor gates U1c and U1d form a gated astable clock oscillator, the frequency can be adjusted by potentiometer VR1. Gates U1a and U1b form the run/stop flip-flop. In one-shot mode, this is activated by pressing the start switch, and deactivated either by pressing the stop switch, or by the end of message signal that comes from the EPROM d1 line.

The clock oscilator causes U2, a binary counter, to step through some of an 11 bit binary count. This sequence is used to step through the addresses on EPROM U3. Morse code data is stored in the EPROM d0 bit, it is used to turn on and off Q1 and RL1, the keying relay. At the end of a one-shot message, a single 1 bit arrives on U3 pin d1, causing the run/stop flip-flop to turn off, and resetting the U2 counter to zero. D1, C2 and R4 cause U2 to reset when the power is applied. R5 is used to prevent the U3 d1 line from being shorted to +5v when the stop switch is pressed.

Programming the EPROM

I have written a C language program called cw2hex that is used to convert a sequence of ASCII characters into a hex data image that can used for programming the EPROM chip that is used in this circuit. The program takes text input and produces an Intel Hex format file as output. The hex file should be readable by most modern EPROM programmers.

The C source code and Unix Makefile are in the file cw2hex122.tar.gz. A DOS executable version of the code (V1.2.1) is available as cw2hex.exe. It should be possible to compile cw2hex.c on any machine with a C compiler. The C program source files are available if you want to compile the code yourself.

Version 1.2.2 was released October 25, 2013 and adds a more complete set of special morse characters.
cw2hex122.tar.gz gzipped cw2hex source files, tested on Unix/Linux.

cw2hex.exe DOS binary of cw2hex 1.2.1

My Smooth Tone Clickless CW Sidetone Generator circuit can be used with this circuit, just connect the collector of Q1 to pin 2 of the sidetone generator's 4N35 opto-isolator LED cathode.

Email Me

Back to FC's Ham Radio Circuits page.