Setting Up WriteLog to Send K3DVR Messages

For several years I tried using the sound card in my station PC to handle voice keying. No matter how much I messed with it, I could never make it sound great. The audio would be too hot or too quiet. I did a contest at P40L where the voice keying was done using the Elecraft K3 built-in DVR module. It sounded great so I added the DVR to both of my K3 radios.

WriteLog has the ability to send commands to the radio. The commands can be triggered from the keyboard. It is not difficult to do, but it is not obvious and I wanted to have a record if (when) I need to do it again.

The first step is to tell WriteLog what radio commands to send. You do this by editing the writelog.ini file and adding a section Elecraft_K3_commands.


The K3 has a bunch of commands to do things like clear the RIT, go split, etc. See the Elecraft K3 programmer manual for explanation.

The next step is to connect the radio commands above to the messages. You replace the normal <msg#.wav> file with the link to the radio command. That uses %GK and the macro number. See below for how it looks in the SSB memory dialog.

If you want to program your DVR messages on the fly, you can add the Shifted SSB memories as well. Or you can just use the buttons on the front of K3 to do message programming since it is not something that you typically need to do often.

The memories are stored with the log so you will need to set them up for each new contest. Once you have it working for one phone contest, you can copy them in by using the Browse button on the memory setting dialog and select a .wl log file that is already set up.

That’s it, you’re done! Pressing the F1 function key will play macro 14, which is message M1 on my K3.

The best thing about this is that your audio through the DVR will always play with the same settings as the audio from your microphone.

Sending Commands with Keyboard Shortcuts

The example above is for using the internal K3 DVR to send voice messages. It is also possible to configure keyboard shortcuts to send other commands to the radio. For example, I set up a macro to command the rig to set VFO A = VFO B, then move VFO B up 1 Khz, then go into split mode.

As before, the first step is to add the K3 commands to the writelog.ini file. Here are some examples:



  • SWT13 is a switch-emulation command that has the same effect as tapping A>B .
  • FT1 enters split mode.
  • The number 5 in UPB4 is not a value in kHz, but an index into the table of step sizes (in this case 1 kHz). VFO displacement, n: 0=1 Hz; 1 or not used=10 Hz; 2=20 Hz; 3=50 Hz; 4=1 kHz; 5=2 kHz; 6=3 kHz; 7=5 kHz; 8=100 Hz; 9=200 Hz.
  • RT0 and XT0 turn off RIT and XIT.

The next step is to use the keyboard shortcuts dialog to define which key will trigger which macro. In the example below, I have set the Ctrl+DASH key combo to send macro 21 to the K3.

The K3 programmer’s reference manuals are available online at