Welcome to pyFldigi’s documentation!

Summary / Context

pyFldigi is a small Python library that can control the Fldigi application via XML-RPC.

Fldigi is a digital modem application that is widely used in the amateur radio community. It acts as a digital modem, intended to be coupled with a standard SSB or FM transceiver radio.


  • Full implementation of the available XML-RPC client commands]
  • Get FLDIGI version, name, etc.
  • Modem: Get and set the modem type, carrier frequency, bandwidth, etc.
  • Modem: Get and set various modem configuration options for Olivia, WEFAX, and NAVTEX
  • Transmit: Set RX/TX mode to Transmit, Receive, or Tune.
  • Abort a transmit or tune.
  • Squelch: Get or set the squelch
  • Rig control: Get or set various rig controls, such as frequency, mode, etc.
  • Logging: Get and set various log field contents. This is in the context of ham contact logs, not debug logs.
  • Text: Send text to FLdigi to be transmitted
  • Text: Get text from FLdigi that has been received
  • Terminate the Program: Terminate the program gracefully by asking it to close.
  • Application monitoring and launching. It is possible to launch FLdigi from a Python command, and monitor it. Also the program can be killed if it refuses to shut down gracefully.
  • Configuration: TBD. Reading and writing of the configuration file(s). Requires a restart of FLdigi.

Applications and Intended Usage

  • Remote weather stations.
  • Portable HF setups. Typically, HF digital setups are bulky and require several interconnected pieces of hardware, usually via audio cables. This library, along with some custom hardware, could allow a walkie-talkie sized HF digital radio that’s completely integrated.
  • Emcomm
  • ‘Headless’ operation on a Raspberry Pi, BeagleBone, or any number of other Linux-based single-board computers.
  • Putting a more ‘user-friendly’ GUI on top of FLdigi.
  • Web enabled FLDIGI via HTML5 and some Javascript, that could be accessed from anywhere. Python’s Flask / Django along with Bootstrap, and a few REST calls, for example.
  • Allow a phone or tablet to send and receive FLDIGI messages via a custom app. There is an Android version of FLDIGI, but that might not be the best approach for every problem. A more custom application could be created to use only a particular mode and send pre-formatted data, for example, with considerably less work than it would be to fork the FLDIGI mobile application and update it.



Indices and tables