CW Beacon

I am planning a CW beacon on 10 meters using a PC to key the radio. I will be running Arch Linux, using CWdaemon and perl.
I have built a keyer using the following design.

PTT/CW Keyer

Page with a few other keyers and some info on PSK31.

Below is the perl script I used to start cwdaemon and key the radio. I’ve tested this on my 2 meter all mode with no issues. Can’t wait to move the 10 meter mobile in the shack and run this full time.


use IO::Socket::INET;

my $pid;
die “cant fork $!\n” unless defined($pid=fork());
if($pid) {
print “Starting the process!\n”;
my $in=;
while ($in ne ‘stop’) {
chomp $in;
print “$in is your input\n”;
if($in eq ‘stop’) {
print “exiting………\n”;
else {
print “Time to make the donuts…\n”;
#check for cwdaemon
open PROS, “ps -ef|grep cwdaemon |”;
while ($line = ){
unless ($line =~ m/grep/){
print “it is running\n”;

my $cw = IO::Socket::INET->new(PeerAddr => “localhost”,
PeerPort => “6789”, Proto => “udp”, Type => SOCK_DGRAM,)
or die “Cannot open socket for CWdaemon.\n”;
print $cw chr(27).”2 20”;
print $cw $text;
close $cw;
sleep 15;

goto LOOP1;

print “cwdaemon isn’t running\n”;
exec ‘/usr/sbin/cwdaemon -d ttyS0 &’;

goto LOOP1;

print “Time for me to FLY\n”;
kill (“TERM”,$pid);


This entry was posted in General. Bookmark the permalink.