Local CW keyer for remote keying


Principle - arduino keyer identifies the played characters (enabled echo feature in K3NG code) and sending to server for playing with other hardware of the cw keyer or cw daemon (contains RemoteQTH server for Raspberry PI). This configuration is resistant to change internet latency during transmission, because not transmitted separately each dit/dash, but the entire ASCII character that perfectly transmiting the server side.

Main functions:

Back to web page

Configure Arduino firmware

Master key

  • Enable paddle echo in serial CLI with \*
  • Or default in firmware. Find this line
    byte cli_paddle_echo = 0;
    and set from 0 to 1
    byte cli_paddle_echo = 1;

Slave key

  • Disable sidetone \o
  • Disable CW send echo in serial CLI with \:
    • Or default in firmware. Find line
      byte cw_send_echo_inhibit = 0;
      and set from 0 to 1
      byte cw_send_echo_inhibit = 1;
  • Disable send ? after error char - disable (abt line 4655)
    //default: send_the_dits_and_dahs("..--..");break;
    and add new line between define other char (abt line 4617)
    case '?': send_the_dits_and_dahs("..--..");break;

Example firmware settings

Plug&play connecting in Linux

Udev rules

After connect Arduino nano show IDs with type dmesg in terminal, and edit udev rules

vim /etc/udev/rules.d/99-remoteqth.rules

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A702R984", SYMLINK+="ttyCW0", RUN+="/etc/cw.sh"

Connection script /etc/cw.sh

killall socat
sleep 3
socat UDP:$SERVER:$CWDPORT /dev/ttyCW0,raw,echo=0 &
exit 0

Connecting in Windows

Server side

Your need server (Raspberry PI) with CWdaemon, or next hardware arduino cw keyer connected via Ser2Net proxy.


Circuit diagram

  • Jumper JP1 choose output between headphone and external out on P1
  • K1 prepared for connection CW speed potentiometer
  • RV1 set CW sidetone volume
  • RV2 preset LCD contrast

✔ Components

❏ Solder J2, D1, D2

❏ All parts of backside (C1 sign wrong polarity on PCB)

❏ J1, four TACT switch


❏ Insert Arduino Nano

Back to web page