Programmable CW Morse beacon

The provided software is based on USB Virtual Com Port (VCP) device. The setup is done with command line interface using terminal from any PC. The setup is stored in the internal flash and PC is not required for normal operation. The mini beacon keyer can be used when powered with 5V.

Programmable CW Morse beacon

For proper operation VCP driver is required. It can be downloaded from or local copy: VCP_V1.4.0_Setup After installation connect the device, use terminal and have fun.

OK, not so quick. The microcontroller must be reprogrammed first. Every STM32F0xx come with USB bootloader from the factory. After assembling the single sided PCB, double checking all components, the real fun can start:

  1. Download and install DfuSe from
  2. Start DfuSe and update firmware with the following DFU file
  3. Restart the device and install VCP driver
  4. Connect the device and find which COM port has been assigned to the device
  5. Start your favorite terminal program
  6. Setup the device with provided commands
  7. Repeat step 6 if neccessary, store the setup(s)
  8. Enable one of the setups for autorun operation

Now the device can be used without PC. Power it with 5V, wait 10 seconds to start the autorun operation and make some “beaconing” online.

The source code is provided on GitHUB>>>

The device can be re-programmed with any SWD debugger (ulink, jlink, stlink, …)

Commands reference will be provided soon. Stay tuned.

Command line interface

Different sets of commands are provided for adjusting the operation of the device: audio settings, timing running and repetition, message entry and controlling settings storage in internal flash.

When invalid command is entered, the device displays brief help:

 MSG ...Text...
 DEL x
 ID ...Text...

Audio settings

Audio output is generated using internal timer programmed into PWM mode. The PWM width can be adjusted from 0 to 50% and frequency of the PWM can be set between 100Hz and 10kHz. All audio parameters are set with the command

AUD <V|R|F|C|[D]> <Vol>|<1|0>|<Freq>|<1|0>

Audio Volume

Audio volume is adjusted by changing PWM ratio between 0 and 50%. The volume parameter is 0 to 100%, where 100% volume sets the PWM to 50%. The command syntax is:

AUD V <Vol>

Where <Vol> is between 0 and 100.

Example: To set the volume to 5% enter command


and press enter.

Audio Frequency

Audio frequency is entered in Hz and sets the audio PWM to required frequency. The frequency can be set between 100Hz and 10kHz. The command syntax is:

AUD F <Freq>

Where <Freq> is between 100 and 10000.

Example: To set the frequency to 500Hz enter command

Read more: Programmable CW Morse beacon

This Post / Project can also be found using search terms:

  • programable Identification keyer diy
  • programmable cw beacon keyer using ardino

Leave a Comment

= 4 + 4

(Spamcheck Enabled)

Read previous post:
Blinky on Arduino Zero
Blinky on Arduino Zero

Run a powerful open source Operating System on Arduino Zero to blink an LED on the board and open up...

Scroll to top