TLF logo a Linux based ham radio contest logger

This is the new home for the TLF project. This project has been taken over from Rein Couperus, PA0R, in 2009 by Thomas Beierlein, DL1JBE, for maintenance and further development.

What is TLF?

TLF is a curses based console mode general logging and contest program for amateur radio.

It supports the CQWW, the WPX, the ARRL-DX, the ARRL-FD, the PACC and the EU SPRINT shortwave contests (single operator) as well as a LOT MORE basic contests, general QSO and DXpedition mode.

It interfaces with cwdaemon or winkeyer daemon for morse code generation and with your sound card for CW/VOICE keying, connects to a number of radios via the Hamlib library and has a built-in client for DX cluster connection.


Main Features

  • Network based CW Keyer 6-60 wpm with 24 CW messages

  • Integrated voice keyer (14 messages)


  • Built-in contests

  • Own contest definitions (with some limitations) supported

  • DX-pedition and QSO mode

  • DXCC database

  • Intelligent dupe checking

  • Radio control via Hamlib library for many tranceivers

  • MUF calculator

  • IP networking for M/S or M/M operation

  • Built-in telnet client and TNC terminal for cluster connection

  • nearly TRLog output compatible

  • configurable Cabrillo output

Some more minor features

  • Built-in CW practising simulator to learn TLF (cqww)

  • On-line log file sync over the network

  • Band info output on parallel port (top ten decoder compatible)

  • RTTY contesting with gMFSK or fldigi (soundcard program)

  • Sound recorder facility to record voice keyer messages and complete contest.

Supported Contests
  • CQWW (SO, M/S and M/M)

  • WPX (SO, M/S and M/M)

  • ARRL Sweepstakes (SO, M/S )



  • ARRL-DX (both sides)


  • ARRL 10m

  • ARRL 160m

  • Region1 field day

  • SP DX contest

  • PACC (both sides)

  • NRAU - scandinavian

  • Wysiwyg mults mode (per band or per contest)

  • WAEDX (New in TLF-1.2.2 See doc/README_QTC.txt)

Download and Installation

You can download the source code for the last packaged version (TLF-1.4.1) here. It must be compiled after unpacking (see below). You will need some further packages for building TLF.

Build Dependencies

Building TLF requires some other components to be installed before. It depends on

  • the Hamlib library for controlling your radio,

  • ncurses and tinfo for text screen handling,

  • the XMLRPC_C library for communication with programs like FlDigi,

  • Glib-2.0 for supporting C functions and

  • GNU Autoconf for configuring and building the code.

If you are using a distribution of the Debian family make sure to install also the needed header files with

sudo apt install autoconf libglib2.0-dev libhamlib-dev libncurses5-dev libtinfo-dev libxmlrpc-core-c3-dev

While not a strict build dependency installing the following packages is helpful too:

  • sox for audio signal handling during SSB contests and

  • xplanet which allows you to see the latest DX spots on the globe.

Quick install

TLF uses automake and autoconf for building. Starting with TLF-1.0.0 you need pkg-config too.

The easiest way to install TLF from packaged source is by typing:

cd <packagedirectory>
make install

If you want to compile the newest code from the git repo (, please run the following command just after download and unpack:

autoreconf --install

By default TLF will be installed into /usr/local/bin, together with the shell-scripts in the scripts directory. Data files will be installed into /usr/local/share/tlf. If you want to change any of these paths, you can do this with configure too, e.g.

./configure --prefix=/usr --datadir=/usr/share

will install TLF and scripts into /usr/bin and datafiles into /usr/share/tlf.

If you are doing a lot of contesting in digimodes using Fldigi there is support for reading the audio frequency via xmlrpc. Make sure to install XMLRPC-c and configure TLF with

./configure --enable-fldigi-xmlrpc

How to get started

Work in progress…
  • Read man page

  • look into the help (the old one for now)

  • See doc/README, doc/README.ssb, …

  • Read the FAQ

Other ressources

Want to help making TLF better

  • If you want to contribute to TLF’s development you can

    • clone the repository, make changes and send patches or pull requests.

      git clone git://
    • test the contest rules and multiplier files, suggest new contests or

    • review the documentation and provide corrections or additional information.

All help is welcome.

Old documentation