Fldigi Users Manual  4.1.17
Contest - How To

Contest Fields

Fldigi supports a generic and a few popular contesting formats. Select the menu item View/Contest fields to see how the QSO entry entry fields change for contest data. You will see that fldigi has fields to support received and sent contest numbers as well as generic contest exchange information. At the same time open the configuration dialog for contesting:


Select the type of logging fields which will be displayed by enabling either Generic, Field Day, CQWW RTTY, or BART RTTY as the contest type.

Generic Contest


The serial number out (#Out) is automatically initialized and updated by the built-in serial number generator. You can enter the appropriate exchange information via the keyboard or mouse. Text in the Rx pane can be selected by the usual left-click-swipe of highlighting. Then right click anywhere after highlighting the desired text and a popup menu will appear allowing you to select the destination QSO field. Make your selection and the info is placed in the correct text box. Note that the popup menu changes with the QSO logging view and also with a change in "Quick entry". A full description is found in the description of operating the Logbook. The important thing to note for contest operation is that the Call and Serial # are single word captures. The Xchg capture can be either single word or multiple word (mark / right click). If the Xchg field has text contents then the new capture is appended to end of the current text in that field. That means you can point to the word representing the field, right click and select from the menu. You do not need to highlight the text for the word capture. You can very rapidly fill in the serial number and the exchange data (even if multi value) by simply pointing and right clicking on the desired word.

Set up the Generic contesting on the UI/Contest tab. The Send Xchg control is the text you want the appropriate macro tag. ie...if the contest requires RST and name you would fill in the Exchange Out box with your name. The contents of this field are accessed from a macro with the <XOUT> tag. You will also need to check the RST always 599 box as this is the de-facto signal report in contests.

If you are participating in a CW contest you may want to select the "Send CW cut numbers", cut numbers is the norm for a CW contest. The cut numbers will send N for 9 and T for zero.

The next box contains the needed requirements to use serial numbers for a contest. You will always want to use leading zeros, start with 1 and use 3 digits. Press reset to initialize the #Out QSO field to the Start number.

Check the appropriate fields for determining if this is a duplicate call. If a duplicate is detected the Call entry will be highlighted as shown in the "Dup Color" button. Pressing this button opens a color selector so you may customize the color. There are many choices to alert you to a duplicate contact. The duplicate is based on the logical AND of all of the fields to be checked. The DUPE is cleared when you press the clear QSO log button (the brush icon).

After you have filled in all the required information, make sure you save and close.

Remember YOU MUST click the Reset button in the Serial number panel for the serial number counter to be initialized. You should also press the QSO clear button (broom) in the QSO entry widget for the other changes to take effect.

It would be best to create a new log for each contest. You create a new log by selecting the menu item File/Logs/New logbook. The default new log name will be newlog.adif on Linux and newlog.adi on Windows. You can rename the new log file now or later by using the system file manager or when you save the log. The import/export feature of fldigi will allow you to export the log into your everyday logging software or the built-in fldigi logbook.

Field Day Contest

The log fields and associated Rx Text popup menu changes to appropriate fields when the Field Day check box is enabled on the contest configuration tab:


The field day station station callsign is your fldigi user callsign. Enter the operator's call (if different). Enter the Class and Section for your station. These will all be available as macro tags for writing macros appropriate for participating in the field day event.

fldigi can connect to external Field Day logging programs such as N3FJP's FDlog and/or a TclTk application called "fdserver" that is a part of the family of fldigi programs. fdserver operation is described in a separate document.


Selecting the CQWW RTTY checkbox changes the logging controls and the Rx text popup menu items accordingly:



under development

Restarting a contest session

You might have closed down fldigi in the middle of a contest, everyone needs a break now and then. You then start fldigi and want to continue the contest. Here are the steps to insure that you continue operations with no glitches.

  • Load your macro file that contains your contest macros (more on that below)
  • Select the menu item View/Contest fields
  • Select the menu item View/Logbook
  • Make sure you have the contest logbook open ... if not then this is the time to open that logbook database.
    Select the menu item "File/Logs/Open logbook..." and find your log data file.
  • Look at the last record and check the serial number sent. Enter that number plus one in the Start entry on the config contest tab (see above).
  • Press the Reset button in that panel.

You are ready to keep on contesting

Remembering a contact

If you are copying a potential contact but you are not being heard you can save fldigi's modem state using one of two methods

  1. double click the signal on the waterfall
  2. right click on the Rx panel and select "Insert marker"

A line of text will be inserted at the end of the Rx text buffer. It will appear similar to this:

<<2008-12-30T10:06Z BPSK-31 @ 3580000+0781>>

The date-time, the mode, the transceiver operating frequency and the audio offset will be recorded. The text line is in blue and behaves in a way that you might expect a url reference to behave in a web browser window. Work a few more contacts (even on a different band or frequency) and then scroll the Rx pane to that special divider. Left click on the line of text and fldigi will restore the transceiver to its frequency, change the mode to the saved mode and put the waterfall cursor at the audio offset frequency. Changing the transceiver frequency will only work if you are using CAT control of your transceiver. If you are not using CAT control the mode and waterfall cursor will still be restored.

There is no limit to the number of divider lines that can be inserted into the Rx pane. They will all be removed when the Rx pane is cleared.

Saving the entire session

Select the menu item "File/Logs/Log all RX/TX text". If this toggle menu is checked your entire session of received and sent text will be saved to a file in the fldigi default files folder. It will be given a name synonymous with the date and time is is started, ie: fldigi20081230.log. You can review this log by selecting the menu item "File/Show config" which will open your OS default file explorer to the fldigi files folder. The file is an ASCII text file.

The format of the daily log is shown in Working Logs.

Contesting Macro Tips

OK, now we have fldigi setup for basic contesting, lets move on to some ideas on macros to use. I tend to make generic one size fits all macros. I recommend that you make a new macro file, mine is named contest.mdf, this will give you 48 macros to use based on the type of contest you are entering. Take a good look at the examples I have listed, you will notice there are no commas, hyphens or other extraneous items. I have seen just about every example of a poorly thought out macro there is or has ever been dreamed up. Classic examples are:

  • w3nr you are 599 in Alabama your serial number is 001-001-001 how copy ??
  • hello ed thanks for the call you are 599-599-001-001-001 QTH Alabama back to you

The list goes on and on. Just think, you have to try and capture the exchange, try it and you will see what I mean.

When you enter a contest you have to decide whether you are going to sit on one frequency and call CQ (Run) or are you going to tune the band looking for stations to work (S&P). So lets set up some macros that should cover both cases.

Several new macro tags have been created to facilitate contesting, these include the following tags.

<LOG> add QSO data to the logbook & clear the QSO data fields
<CNTR> insert current contest serial number into the text stream
<INCR> increment contest serial number
<DECR> decrement contest serial number
<XOUT> contest exchange
<QSOTIME> current log time in Zulu HHMM format
<LDT> local date time
<ILDT> LDT in iso-8601 format
<ZDT> Zulu date time
<IZDT> ZDT in iso-8601 format
actual time of execution of the macro ... useful where exact times are used to match contest log submissions
save entire contents of the expanded macro text to the "Exchange Out" field in the logbook
mark the beginning of a text string that is to be saved to the "Exchange Out" field in the logbook
mark the end of the text string that is to be saved to the "Exchange Out" field in the logbook
note: <SAVEXCHG> and the <XBEG>...<XEND> macro tags are mutually exclusive
<XBEG>...<XEND> is given priority if both all three are specified in a single macro

See Macros for additional information on editing and using the fldigi macro system.

RUN Macros

We need just a few, starting with a CQ macro - Put this in the F1 key definition

cq test de <MYCALL> <MYCALL> cq k

Notice that I left 2 spaces between my call and 3 spaces at the end before the k. This will make it easier for a station to grab my call and the k on the end eliminates garbage characters before my macro finishes. The tx/rx are on separate lines as I want to be sure my macro is on a line by itself and not mixed in with screen garbage.

Now the exchange macro - Put this in the F2 key definition

<CALL> 599  <CNTR> <CNTR>  <X1>  <X1> <CALL>  k

Why do I have his call at the beginning as well as the end, to make sure I have copied his call correctly. You will also see that I have not as yet logged the contact,why, well are you sure he does not need to correct his call or ask for a repeat.

You are asked to repeat the exchange, you can just re-send the exchange macro, this verifies all of the information. Now he sends you his info and if you have copied it correctly you need a TU macro. - Put this in the F3 key definition.

qsl tu qrz test  <MYCALL>  k

Here we have done all the necessary items to complete the exchange. Notice that I did not log the contact until after everything was correct. I have fldigi set to clear on save, so when the <LOG> part of the macro executes the QSO area is cleared.

Thats the end of my RUN macro setup, told you it was rather simplistic and generic.

S & P Macros

I rarely if ever use S&P, but there are times I need to, especially if my QSO rate drops while running. Again the macros are very generic with only the needed info. If band conditions warrant you may want to send your call 3 times. Put this in the F5 key definition


Why just my call ?? Well I assume the other guy already knows his call !

The exchange macro is basically the same as the RUN macro. Put this one in the F6 key definition

599  <CNTR>  <CNTR>  <X1>  <X1>    k

As you see I have not as yet logged the QSO or incremented the serial number. This is the final S&P macro. Put this one in the F7 key definition.


Now this is the most important macro you will ever need......trust me. Put it where you won't fail to find it. How about F9 ?

agn  agn  k

You will see that it is used many times during a contest, especially with weak stations and heavy QRN/QRM.


  • time sent in Tx stream
  • repeat execution of <QSOTIME> before a <LOG> macro or a save to log button press will resend the original time
  • <LOG> macro or a save-to-log button press appends the QSOTIME to the STX_STRING field in the adif log record and clears the QSOTIME.


  • use at end of a contest exchange to save the entire exchange string in STX_STRING
  • usurps QSOTIME if both are contained in same macro text, ie: "\<RST\> \<CNTR\> \<QSOTIME\>\<SAVEXCHG\>" will send an exchange as 599 024 1125 if RST = 599, Counter = 024 and time of execution is 1125
  • repeats the same as <QSOTIME >
  • <LOG> macro or a a save-to-log button press saves the associated macro text (after expansion). QSOTIME and the saved exchange text are cleared after the save occurs.

An example of the SAVEXCHG macro tag


Where RST = 599, CNTR = 0125, XOUT = AL, QSOTIME = 1433

Will save this string to the Exchange Out field in the logbook: "599 0125 AL 1433"

Please note that you should not include any text or macro tags that are not to be a part of Exchange Out. If your macro had this:



the saved Exchange Out field would contain: "W3NR UR 599 0125 AL 1433 de W1HKJ k"

Probably not what you want. Use separate function keys for the "\<TX\>CALL ..." and the "de \<MYCALL\> k\<RX\>" or use the next set of macro tags


These two macro tags are delimiters for capturing the transmitted exchange data, for example:


Will place the expanded <RST> <CNTR> <QSOTIME> into the Exchange Out field of the logbook when the contact is saved. This is much better illustrated with a screen shot. This one shows the macro editor contents, the logbook entry in Exchange Out, and the transmit text buffer.

Exchange Begin-End

Return to Top of Page
Return to Main Page