fldigi - digital modem program for hamradio operators
Fldigi is a cross-platform multi-modem program for most of
the digital modes used by radio amateurs today: CW, PSK, MFSK, MT-63, RTTY,
Hellschreiber, DominoEX, Olivia, THOR and Throb are all supported. It can
also help calibrate a sound card to a time signal and do on-air frequency
measurement tests. Fldigi features basic rig control, logging, and contest
operation, “panoramic” PSK decoding, a PSK Reporter client,
and remote control via XML-RPC.
Long options begin with two hyphens and are handled by fldigi. The
option names may be abbreviated to any unambiguous substring, and the option
argument may be separated from the name by a space or equals sign, as per
Short options begin with a single hyphen and are passed directly
to FLTK. They may be abbreviated only as indicated.
Look for and store configuration files in directory
DIRECTORY, which is created if it does not exist. Defaults to
Set the receive message queue key. May be given in hex if
prefixed with “0x”. Defaults to “9876” or
Set the transmit message queue key. May be given in hex
if prefixed with “0x”. Defaults to “6789” or
Set the ARQ TCP server address. Defaults to
“127.0.0.1”. HOSTNAME may be any node name string
accepted by getaddrinfo(3).
Set the ARQ TCP server port. Defaults to
“7322”. PORT may be any service name string
accepted by getaddrinfo(3).
The --xmlrpc-* options are only available if fldigi was
built with XML-RPC support.
Set the XML-RPC server address. Defaults to
Set the XML-RPC server port. Defaults to
Allow only the methods whose names match REGEX.
REGEX is a POSIX extended regular expression.
Allow only the methods whose names do not match
List all available XML-RPC methods and exit. May be
preceded by the --xmlrpc-allow or --xmlrpc-deny options to
verify their effect.
Perform the CPU speed test that is normally done when
fldigi is run without an existing configuration directory. Results are shown
in the event log and options may be changed to the recommended values for the
measured CPU speed.
Unhide controls for adding noise to the transmitted
Hide all main window widgets except the menu bar and
waterfall (with its associated controls). Meant to be used with external
programs that control fldigi with XML-RPC.
Set the event log verbosity. LEVEL is clamped to
the range [0,5]; for Quiet, Error, Warning, Info,
Verbose and Debug. Defaults to “3”
Print version information and exit.
Print build information and exit.
Print options summary and exit.
Standard FLTK options¶
-bg, -background COLOUR
Set the background colour.
-bg2, -background2 COLOUR
Set the secondary (text) background colour.
-di, -display DISPLAY
Specifies the X server to connect to; see X(7).
-dn, -dnd or -nodn, -nodnd
Enable or disable drag and drop copy and paste in text
-fg, -foreground COLOUR
Set the foreground colour.
-g, -geometry GEOMETRY
Set the initial window size and position. Fldigi may
not honour this option.
Start fldigi in iconified state. Fldigi may not honour
-k, -kbd or -nok, -nokbd
Enable or disable visible keyboard focus in non-text
-na, -name CLASSNAME
Set the window class. Defaults to
-ti, -title WINDOWTITLE
Set the window title. Defaults to “fldigi -
Additional UI options¶
Set the widget font and (optionally) size. Defaults to
Options useful to developers¶
The --benchmark-* options are only enabled if fldigi was built
(exclusively) for benchmarking and batch decoding.
Specify the modem. Defaults to “25”
Set the modem frequency in Hz. Defaults to
Enable or disable modem AFC. Defaults to
Enable or disable modem squelch. Defaults to
Set the modem squelch level (1—100%). Defaults to
Specify the input. Must be a positive integer indicating
the number of samples of silence to generate as the input, or, if fldigi was
linked with libsndfile, the name of the input audio file. The filename must
contain non-digit characters.
Specify the output data file. Non-textual output (i.e.
Hellschreiber or MFSK images) cannot be saved. Default: decoder output is
Specify the sample rate conversion ratio. Defaults to
“1.0” (input is not resampled).
Set the sample rate conversion type. TYPE is an integer
in the range [0,4]. Defaults to “2” (“Fastest SINC
The following options should not be relied upon. They are
listed here only for the sake of completeness, and may be replaced by GUI
settings or removed altogether in a future version.
Set the waterfall width.
Set the waterfall height.
Set the minimum window width.
Set the minimum window height.
Run for approximately SECONDS seconds.
Set frames per buffer option to FRAMES when
creating PortAudio streams. Defaults to “0” (let PortAudio
Fldigi uses several environment variables, mainly set for child
processes created by the <EXEC> macro and the notifier.
The web browser to use for http and file URIs. Overrides
$BROWSER and xdg-open(1).
The following variables are created in the environment of the
child process that is forked by the <EXEC> macro. They are
empty if values are not available.
The receive message queue key.
The transmit message queue key.
The XML-RPC server address string.
The XML-RPC server port string.
The ARQ server address string.
The ARQ server port string.
The version string.
The process ID of the parent fldigi process.
The configuration directory.
The operator’s callsign.
The operator’s name.
The operator’s IARU (Maidenhead) locator.
The short modem name.
The long modem name.
The rig (radio) frequency.
The modem (audio) centre frequency.
The actual receive/transmit frequency, i.e. the sum of
rig and modem frequencies taking into account the rig sideband.
The text (frequency in MHz) contained in the QSO
Freq log field.
The text (QSO start time) contained in the (time)
On log field.
The text (QSO end time) contained in the (time)
Off log field.
The text (other station’s callsign) contained in
the Call log field.
The text (other station’s name) contained in the
Name log field.
The text (received RST) contained in the (RST) In
The text (sent RST) contained in the (RST) Out log
The text (other station’s QTH) contained in the
QTH log field.
The text (other station’s Maidenhead locator)
contained in the Loc log field.
The text (free-form notes) contained in the Notes
The text (azimuth in degrees to other station) contained
in the Az log field.
The following variables are created in the environment of child
processes created by the notifier.
These variables (i in [0,9]) contain substrings matched
by capturing groups in the event’s regular expression. 0 contains the
whole matched text.
The number of substrings available.
Builtin event types that match callsigns will place the
callsign in this variable.
The complete string that matched the event’s
The modem frequency.
The event type.
The station’s country name (for events of type
"station heard twice").
The following variables are only used if fldigi was built with
debugging support (--enable-debug), or they are only useful when
debugging specific modules.
If set, this variable disables glibc’s malloc
debugging, which fldigi enables by default when built for debugging.
Traces Fl::lock() calls.
Initialises hamlib in debug mode.
Fldigi is licensed under the GNU GPL, which grants you the right
to run the program for any purpose (freedom 0). However, permission to use
it for the transmission of radio signals can only be obtained from the
communications authority of your country. When given, this permission almost
always comes in the form of an amateur radio license.
If you do not have an amateur radio license you can still have fun
using fldigi as a shortwave listener. One way to do so is by using the
builtin PSK Reporter client to submit realtime spots of transmitting
stations; see RESOURCES below. All you need is a computer, homebrew SDR
receiver, and simple wire antenna!
Various files and subdirectories are created in $HOME/.fldigi.
Some of the most interesting ones are listed below.
The main settings file.
The “status” file. Stores window
geometries, button states, current modem, current audio frequency, squelch
level, and so on.
The event log.
The default macro file.
This directory contains waterfall palettes.
This directory is added to the PATH environment variable
of the child process that runs <EXEC> macros.
This directory contains logged received and sent text
(when such logging is enabled), including the default logbook database,
Received MFSK images are automatically saved in this
This file is written by the frequency analysis modem. The
fields are dial frequency, audio frequency, and offset. See documentation for
The following files are used if present. They must be downloaded
and copied to ~/.fldigi/ by the user.
List of DXCC entities and callsign prefixes; used to
display tooltips in the received text buffer, and also to auto-fill the
Country, Locator and Azimuth log fields. Available at
AGMemberList.txt or eqsl.txt
fldigi --wfall-height 144 --font sans:11 -fg "#c0c0c0"
-bg "#5f5f63" -bg2 "#19213b"
This is how the author of this document invokes
fldigi --xmlrpc-deny "main.(tx|tune|run_macro)"
Unregister XML-RPC methods that may transmit.
ssh -L 7362:localhost:7362 remote-host xvfb-run fldigi -display
Start fldigi on remote-host
“fake” X server. (The xvfb-run(1)
utility is available on Debian
systems). The remote “headless” fldigi is then controlled via
XML-RPC on port 7362, i.e from flrig, flamp etc.
fldigi --benchmark-input 480000 --benchmark-modem 1
Benchmark the DominoEX-4 modem with 480K audio
fldigi --benchmark-input audio.wav --benchmark-modem 25
--benchmark-frequency 1500 --benchmark-afc 1 --benchmark-squelch 1
--benchmark-squelch-level 5.0 --benchmark-output out.txt
Read audio.wav (whose sample rate must be 8000Hz
in this case) and decode BPSK-31 signals at 1500Hz. AFC is enabled and the
squelch is set to 5%. Decoded text is saved to out.txt.
fldigi-shell(1), gmfsk(1), gpsk31(1), grig(1), rigctl(1), xlog(1),
getaddrinfo(3), getopt(3), regex(7), X(7)
Fldigi was written by
•David Freese, W1HKJ.
•Stelios Bounanos, M0GLD.
•Leigh L. Klotz, Jr., WA5ZNU.
Fldigi also includes code written by others. Among them are
•Tomi Manninen, OH2BNS.
•Pawel Jalocha, SP9VRC.
•Hamish Moffatt, VK3SB.
This manual page was written by Stelios Bounanos
License GPLv3+: GNU GPL version 3 or later.