Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the k3ng_cw_keyer wiki!
Look to the right for documentation and help topics ---->
(Like most things in the open source world, this wiki is under construction / evolving. If you would like to volunteer to help make it better, your assistance would greatly appreciated and your name and callsign would be immortalized as a supporter of this project.)
The K3NG Keyer 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.
A circuit board and parts kits called the nanoKeyer is available from DJ0MY, and Hamshop offers a kit called Open CW Keyer which uses this software. RemoteQTH also offers the Open Interface which runs this code.
- CW speed adjustable from 1 to 999 WPM
- Up to six selectable transmitter keying lines
- Programming and interfacing via USB port (“command line interface”)
- 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
- Optional PTT outputs with configurable lead, tail, and hang times
- Optional LCD Display – Classic 4 bit mode , Adafruit I2C RGB display and I2C Character Backpack or YourDuino I2C LCD Display
- Up to 12 memories with macros
- Serial numbers
- CW keyboard (via a terminal server program like Putty or the Arduino Serial program)
- Speed potentiometer (optional – speed also adjustable with commands)
- QRSS and HSCW
- Beacon / Fox mode
- Iambic A and B
- Straight key support
- Ultimatic mode
- Bug mode
- CMOS Super Keyer Iambic B Timing
- Paddle reverse
- Hellschreiber mode (keyboard sending, memory macro, beacon)
- Farnsworth Timing
- Adjustable frequency sidetone
- Sidetone disable / sidetone high/low output for keying outboard audio oscillator
- Command mode for using the paddle to change settings, program memories, etc.
- Keying Compensation
- Dah to Dit Ratio adjustment
- Callsign receive practice
- Send practice
- Memory stacking
- “Dead Operator Watchdog”
- Wordspace Adjustment
- Pre-configured and Custom Prosigns
- Non-volatile storage of most settings
- Modular code design allowing selection of features and easy code modification
- Non-English Character Support
- CW Receive Decoder
- Rotary Encoder Speed Control
- Sleep Mode
- USB Mouse Support
- Mayhew LED Ring Support
- Alphabet Sending Practice
- QLF / “Messy” Straight Key Emulation
- USB Keyboard HID (Human Interface Device) Interface (Keyer = keyboard for your computer)
- TX/RX Sequencer
- Training Module
The K3NG Keyer has been feature in the following videos.
- K3NG Arduino CW Keyer
- nanoKeyer - K1EL Winkeyer compatible CW contest keyer (Arduino based)
- CW keyer OZ1JHM Hjalmar Skovholm Hansen
- K3NG Keyer on ATmega328 #1
Check the following pages for information on constructing your own keyer.
Also check out KF4BZT's article for lots of hints on working with the schematic for beginners and working with the components including lots of pictures.
Jmatonis has published on Thingiverse a 3D model of his keyer enclosure.