From the Brainwagon Archive: Silly Arduino Project #1: A Trivial Beacon

October 30, 2009 | General | By: Mark VandeWettering

One year ago tody, I tinkered together a very simple program and keying circuit to use my Arduino to send out a simple Morse Code beacon message.

brainwagon » Blog Archive » Silly Arduino Project #1: A Trivial Beacon

It seems like complete overkill to me to use a $30 microcontroller to do this task though. A couple of different groups have created PICs and the like which can be used to do the same, with a total cost of well under $10 (the chips are probably around $2 or so a piece). I keep thinking that what I should do is code up a simple version of this kind of application in ATMEL AVR assembly code and make it available. I can envision a simple web based application that would enable you to enter a list of beacon messages you want, and then hit a button and download the necessary firmware, all assembled and ready to go. Just burn and go…

I need more hours in the day.

Addendum: K1EL makes a $6 Keyer chip. Expanded Spectrum Systems makes a nifty “Freakin’ Beacon” controller that includes the ability to sync with a GPS for timing.


Comment from Bruce VE9QRP
Time 10/30/2009 at 10:31 am

Mark —

Every ham is compelled by nature to make a CW keying micro-controller program at some point in his or her life 🙂

I couldn’t find an arduino CW library that used callback functions (so the programmer could ‘plug in’ whatever (s)he wants the controller to do at ‘on’ and ‘off’). So I packaged one in with the qrptracker code linked off the site above.

Moreover, doing this on the Arduino might not be overkill. Someone’s working on a Attiny45 port of the Arduino toolkit You could mock up your ideas on the full-blown device and then play with putting them on the $1 8-pin devices later.

Comment from Alan Yates
Time 11/2/2009 at 5:51 am


Bruce is right, I think about every ham has a go at a CW keyer at one point or another. I squeezed some fairly basic C into an 8-pin Atmel ATtiny13 for my 80 metre beacon project:

The code is linked towards the bottom of the article. The message is hard-coded in the firmware, converted into an intermediate form by a small pre-processor program. This saves putting the entire Morse table into the MCU, but would be inefficient for long messages. The typical beacon message fits well, but of course changing the message means a recompile/program/load cycle – for my purposes not a big deal.

Three outputs are available from the MCU; keying active low and high, and a tone line which can be LPFed for injection into an SSB rig (although its stability is limited), or used for local human consumption (side-tone).

My QRSS MEPT keyers are vaguely based on the same architecture, as is the experimental PSK-31 controller I haven’t got around to finishing yet.