This article describes a simple programmable Morse Code Continuous Wave (CW) beacon keyer that can be built for less than $15. While older designs had the message hard-coded in a diode matrix or EPROM and other so called "programmable" designs require you to alter the microcontroller code or use some other clumsy method to change the message, this keyer design offers a much simpler programming interface using a PC. The board can be temporarily connected to the serial port of a computer and the message and keying speed can be changed using a regular terminal program. Once programmed, the board can be taken away and connected to the beacon transmitter. The message can be up to 55 characters in length which is sufficient for a typical beacon message that includes a callsign, grid locator and QSL/ report information. The keying speed can be programmed from 5 to 20 words per minute.
Circuit description
Click here to view the Schematic in PDF format.
The Atmel ATtiny2313 AVR microcontroller was chosen for this project since it contains a UART (serial port) and the necessary amount of on-chip memory resources. When programmed with the Beacon Keyer firmware, the '2313 performs all of the "smarts" that allow the board to be programmed by the PC and save the message in internal EEPROM, then convert the stored message to Morse Code and key it out. A 2N7000 FET provides ground-to-transmit keying to the transmitter via J2. A MAX-232 is used for true RS-232 serial level conversion. A DB-9 serial connector can be included on the board but I chose to make a separate programming cable in order to keep the physical board size as small as possible allowing it to be placed inside the cabinet of a transmitter. On my prototype, the serial I/O comes out to a 3-pin header at J3 where a small cable can be plugged in during programming and then removed for normal use of the keyer. The board is powered by 12vdc at J1 and a 78L05 regulator provides +5 volts for the 2 I.C.s.
The circuit is simple enough that it can be wired point-to-point on a piece of perf board but ambitious builders may want to etch their own pc board. The layout is not critical so there are no concerns about placement of the components as there are with RF circuits. Sockets were used for both I.C.s. All parts can be obtained from Digikey.
Chip Programming
Click here to download the HEX code.
Programming the firmware into microcontroller Flash memory is a one time procedure. The Atmel ATtiny2313 microcontroller can be programmed right on the keyer board if you include the In-Circuit-Serial-Programmer (ICSP) header, as outlined in the schematic. I chose to program the microcontroller using another board that I have and then I popped it into it's socket on the keyer board, eliminating the need for an ICSP header on the keyer board. This was another decision that was made to keep the size of the board as small as possible. To program your own micro, you will need some code loading software and a programming adapter. A code loading program called "Ponyprog" is available for free by downloading it from http://www.lancos.com/prog.html . "Ponyprog" can be used for a variety of microcontrollers and memory chips so it needs to be configured for the ATtiny2313. Be sure to set the configurations bits as follows: Only SUT1, CKSEL1 and CKSEL0 should be checked (where checked means the bit is programmed to = 0, all other bit unchecked = 1). A suitable programming adapter is also shown at the "Ponyprog" web site. Look for the "AVR ISP (STK200/300) parallel port interface" schematic. Or you can buy a bare ICSP adapter board here Inexpensive ICSP PC Board and build one up. (I have no a affiliation with EAS so please use the "Contact" link near the bottom of their page to inquire or place an order.)
Programming and Operation
Connect the board to your computer serial port and run "Hyperterminal" or your favorite terminal program set for 9600 Baud, No parity, 8 Data bits, 1 Stop bit (No handshaking).
When power is applied to the board, you will be greeted with a menu similar to this:
VA3TO Beacon Keyer
Current message: V V V de VA3BCN/B FN03 RPTS TO VA3BCN @ RAC.CA
Current Speed: 12 WPM
Menu:
1. Change Message
2. Change Speed
3. Exit
(1-3):
If you do not respond within 5 seconds, the board will begin keying out the message. Menu item 1 will allow you to change the beacon message. Legal characters include letters A to Z, numbers 0 to 9, punctuation characters comma (,) period (.) slash (/)
question mark (?) and space, as well as the new @ character which is useful for listing an e-mail address for QSL/ signal reporting information. Item 2 will allow you to program the CW speed from 5 to 20 words per minute. While the actual speed is not precise, the ability to increase or decrease it will allow you to fine tune it to your liking. Item 3 will exit the menu and the board will begin keying out the message.
Once the parameters have been programmed they are saved in EEPROM and the board can be disconnected from the computer. Just connect power to J1 and the KEY terminals at J2 to the keying lines of your transmitter and the beacon will begin keying out the message in a continuous loop.
Have fun de Hugh, VA3TO