CW Keyer and paddle

K3NG Arduino CW Keyer and single paddle key

The single paddle key was built with spare pieces I had on the shack:

  • 4 metal angle brackets

  • 5 screws and bolts

  • 3 terminals

  • 2 screw and bolts for contact gap adjustment

  • a computer slot bracket for the paddle

  • two picks glued together for the handle

  • 3.5 mm plug for keyer or radio (works with both equally well)

  • piece of cutting board and a piece of marble for the base

  • 4 rubber feets under the base

View from the top

The gap between the contacts can be adjusted precisely.

There are no other adjustments possible in this version.

A piece of marble with 4 rubber feets was glued under the white base, to provide weight and prevent the key move around when in use.

The K3NG Arduino CW Keyer was used for this project


This is an open source Arduino based CW (Morse Code) keyer with a lot of features and flexibility, rivaling commercial keyers which often cost significantly more. The code can be used with a full blown Arduino board or an AVR microcontroller chip can be programmed and used directly in a circuit. This keyer is suitable as a standalone keyer or for use permanently installed inside a rig, especially homebrew QRP rigs. It’s open source code so you can fully customize it to fit your needs and also perhaps learn from it or find coding ideas for other projects. (Paragraph from K3NG website.)

Used an old AM/FM radio front panel to hold the LCD screen and the speaker in a upright position when practising CW.

Close up of the 20 Columns by 4 rows LCD display (optional)

  • CW speed adjustable from 1 to 999 WPM
  • Up to six selectable transmitter keying lines
  • Programming and interfacing via USB port
  • USB or PS2 Keyboard Interface for CW keyboard operation without a computer
  • Logging and Contest Program Interfacing via K1EL Winkey 1.0 and 2.0 interface protocol emulation
  • Command Line Interface
  • Optional PTT outputs with configurable lead, tail, and hang times
  • Up to 12 memories with macros
  • CW keyboard (via a terminal server program like Putty or the Arduino Serial program, or a USB / PS2 keyboard)
  • Speed potentiometer (optional – speed also adjustable with commands)

Back of the unit

The top board is the LCD panel with its I2C controller.

The Arduino is in the center of the perfboard and it has 1 transistor, 1 capacitor, a couple resistors. It is a extremely simple circuit to build with a vast built-in functionality.

Single paddle key is connected via 3.5 mm jack.

Powered via the Arduino USB port with a phone charger.