CW Reflector

The club now has a custom CW reflector based upon the Morserino protocol, providing channelised CW modules for off-air practise QSO’s, listen only feeds and CW training events.

Functionality currently available:

  • simple connect and disconnect handshake
  • registering your callsign with the server for personal greeting and operator search capability
  • QSQ, QSS to request the server to send at a speed of your preference
  • calling channel (channel 0)
  • read only channel currently streaming random, live DX cluster spots in CQ CQ CQ DE <callsign>x3 announcements
  • request which is the next available channel
  • QSY to any channel
  • ask which channel another club member is active
  • ask what the current time is
  • regular server heartbeats to keep the Morserino from going to sleep (the server sends QSL as a heartbeat)

Future considerations:

  • An AI CW bot for training QSOs when nobody else is about
  • A streaming CW news feed
  • Leader based CW courses that are time optimised and efficient

How do I converse with the server?

We have tried to use standard Q codes wherever possible to aid in learning CW. All server interaction starts with a colon except for the initial logon, so, when you want to ask the server to do something you start the instruction with a colon and all server responses start with a colon. That way the server knows your message is to it and you know the response is from it. QSL?

The server tracks the speed you would like to have responses – it starts at 20wpm but any request to speed up/slow down will be stored and any future communications will be at that speed until changed.


Logon – HI

When connecting to the server, you should send a “hi” message. If you have not sent a hi message all traffic you send will be ignored – this stops unregistered users from leveraging the service. The server will either respond with “:hi <callsign>”, if it knows you, or “:qrz” if it doesn’t. If it sends :qrz, you should response with your callsign. It will then reply with your callsign confirming your instruction. If you make a mistake, see the item “how to change my callsign” below. Note, the callsign is registered to your IP address – this is just how it is – if your IP address changes (maybe your ISP allocates a new address or you may be tethered to your mobile phone), it will send :qrz again when you send “hi”.

Logout – :73

To disconnect from the server, you should send “:73”, the server will respond with “:73 sk”. This will simply mark you as disconnected – to date this makes no difference to the server.

Callsign correction/change – :DE

To correct or change your callsign, send “:DE”. The server will respond with “:rr qrz”, acknowledging your request and asking you “who’s calling?”. You then respond with your callsign as per the initial login.

Change server & bot speed

Slow down – :QRS

By sending “:QRS” the server (and bots) will transmit to you 1 wpm slower than your previously selected speed.

Slow down to my sending speed – :QRSS

By sending “:QRSS” the server (and bots) will match your current sending speed – this is a shortcut to quickly slow down the server responses.

Speed up – :QRQ

By sending “:QRQ” the server (and bots) will transmit to you 1 wpm faster than your previously selected speed.

Revert back to default 20wpm speed – :QRQQ

By sending “:QRQQ” the server will reset it’s sending speed to the default of 20wpm.

Set speed to actual value – :QRS<number> or :QRQ<number>

If either :QRS or :QRQ is sent followed directly by a number, the speed will be set to the number sent. As a safety the server will not send at less than 10wpm or above 40wpm.

Channel management

The CW reflector has an unlimited number of channels available for use. Channel zero has been designated as a calling channel and will be the default channel you will connect to when first connecting to the reflector. Channel one is currently a listen-only channel where messages are produced by a bot which is connected to our club DX cluster. All other channels are available for use for practise, QSO or other usage.

What’s the next available free channel? – :QSY

To ask which is the next available channel send “:QSY”. The server will check the channel usage and will respond with the next free channel.

Switch to channel – :QSY<number>

To change channel send “:QSY<number>”, the server will switch your channel and respond with “:RR QSY <number>”. Your current channel will be stored in your profile, so if you happened to lose your connection you will be reconnected to the same channel once a connection has been re-established.

What channel am I currently on? – :QRG

To ask which channel you are currently on send “:QRG”. The server will respond with your current channel number.

Which channel is <callsign> on? – :QSX<callsign>

The server knows who is currently connected and which channel they are currently active on. By sending “:QSX<callsign>” the server will search the database for the callsign and respond with the channel the operator is currently on, in the form “:QSX <chan number>. If the operator is not currently connected or not in the database the server will respond with “:QSX N/A”.


What’s the current time? – :QTR

You can ask the server what is the current UTC time by sending “:QTR”. The server will respond with “:QTR <hours>:<minutes>:<seconds>”.

more to come…

If you can think of other server capabilities that might be useful please notify

1 thought on “CW Reflector”

  1. Michael Purnell

    What can I say, Awsome project and stunning coding. I still feel syntax like :qsx g4xix is more apropriate than :qsxg4xix
    Just a thought from an OB CW op 73

Leave a Reply