DL4YHF's PIC-Keyer

last updated: March 2013.

Main site: www.qsl.net/dl4yhf/key_soft.html
Backup: www.mydarc.de/dl4yhf/key_soft.html

QRP keyer software

The keyer software (or "firmware") is available as HEX-file which you have to load with your PIC programming tool. There are dozens of "PIC programmer" descriptions available, you may use any of those. I am using a very simple interface for the serial port, which is driven by a simple PIC programmer software (for Windoze)  which is available somewhere else on these pages.

Sorry but I can not send programmed devices to you (too little time, too much QRL). You will have to program the PIC yourself or find someone who can. The following file contains the firmware and (since 2011-07-03) the sourcecodes, which are now placed under the GNU General Purpose License:


The PIC16F84 is a quite old part, replaced with the 16F628. The latter has more memory also for the CW message. The PIC16F628 is cheaper than the F84 now. In the meantime, even the PIC16F628 is outdated (and should be replaced with the PIC16F628A).  I only use the PIC16F628 (not the -A) though, because I still have a few of those.
Note: Since July 2004, you don't need the 3.3 MOhm-resistor in the 16F628 variant any longer, because now the PIC's internal "slow" R/C-oscillator is used ! More details in the sourcecode, see 'KEYER628.ASM' in the zipped archive.

Since 2013-03-21, there is a second firmware variant, keyer628_semi_bk.hex, which drives the 'transmitter control output' (formerly 'QSK') in a slightly different way: It doesn't switch from TX to RX in the short gaps between characters - instead, it waits for ONE SECOND before switching back from 'TX' to 'RX'. You can modify the Semi-BK-time yourself; there are all details in the keyer sourcecode (keyer628.asm) . Assemble the sourcecode into a hex file (which can then be programmed into the PIC) with Microchip's MPLAB.

To 'burn' the firmware into the PIC, try any of the 'simple PIC programmers' (adaptors) out there. At least under Windows XP, the author's own PIC programmer (a software named "WinPIC") used to work well, and it supports the PIC16F84, PIC16F628, and PIC16F628A.

Since the PIC keyer firmware (machine code and sources) was put under the GPL (GNU General Public License) in 2011-07-03, you will find the sourcecode in the archive (*.zip, link above). You don't need the sources (*.asm) to run the PIC keyer, but you may want to understand how it works, or make your own improvements. You are invited to do so, but the GPL requires you to make the modified sources available to the public. Regardless of GPL or non-GPL (older versions), you are not allowed to use the keyer firmware for a commercial project trying to make "big money" from other's work. If you plan to make a kit from the PIC keyer, or sell programmed chips (for the price of the chip, plus a moderate fee to cover your efforts, shipping and handling) please get in touch with me.

Also, if you made modifications to the GPL'ed sourcecode, let me know the web address of the modified sources so I can place a link to your site here.

Keyer firmware modifications

Vlad, RX3QFM, modified the 16F84 firmware for VHF "QRO" work, with modified PTT control. There is a 300 ms delay before playing the 1st recorded message, and a 9 second pause in "loop mode".

keyer_rx3qfm.zip (PIC16F84, modified by Vlad RX3QFM, sourcecode + hexfile)


Keyer Overview

Translations of the PIC keyer documentation into other languages

Back to the Main Index