XDR-GTK is a user interface for the XDR-F1HD Radio Tuner with XDR-I2C modification. Written in C/GTK+ for GNU/Linux and Windows operating systems.


Latest version: v1.0 (2016-05-01)

Important: Before using new version download the latest XDR-I2C and upload it using Arduino IDE to the Seeeduino board. Don’t forget to replace the tuner alignment settings file (align.ino) with your own values.

  • Compiled binaries: Windows
  • Source code: GitHub (GNU/Linux, Windows)

Previous versions:

FTDI USB Serial PortDriver installation

If you have already uploaded the XDR-I2C software using Arduino IDE, then you should have the USB driver installed. If you want to use this software on another PC, use drivers included in the zip package from a drivers directory. In XDR-GTK choose the same serial port COM numer as listed in the Device Manager.

Usage tips

  • click on frequency, PI code, PS name or RadioText to copy it to the clipboard
  • use right mouse button to toggle both RF and IF 6dB gain settings at the same time
  • click FM/AM to toggle the demodulation mode
  • clear the signal graph with a right mouse button
  • click on stereo indicator with left button to estimate the pilot injection level
  • click on stereo indicator with right button to force mono reception


Default key Action
Right Tune up
Left Tune down
Up Fine tune up
Down Fine tune down
Page Up Tune +1MHz
Page Down Tune -1MHz
B Tune back to the previous frequency
R Reset frequency to the nearest channel
S Save a screenshot
] Increase filter bandwidth
[ Decrease filter bandwidth
\ Set adaptive filter bandwidth
Home Rotate CW
End Rotate CCW
Delete Switch antenna
` Toggle RDS PS mode (progressive / normal)
Q Start/stop spectral scan
F1 … F12 Tune to a frequency preset
Shift + F1 … F12 Store a frequency preset

Spectral scan

Spectral scanning is a pseudo-spectrum analyzer function. The controller tunes to each frequency and reports a signal level. It is possible to tune to a desired frequency just with a mouse sweep. OIRT band is almost empty at my QTH, so I found out this function very useful during Sporadic-E openings. Note: The AM signal level meter has too long response time, so this feature is reliable only for the FM mode.


Antenna pattern

The antenna pattern plotting function requires a rotator with full 360° turn and quite linear rotation speed. Depending on a station, it may be necessary to use a signal attenuator due to AGC impact on a signal level meter. I have noticed that 15 ~ 65dBf signal level range is fully sufficient under real-world conditions, giving 50dB of dynamic range. It is possible to save all signal samples to a file or directly save an image plot. The following video shows pattern of my Körner 19.3 10m AGL. Asymmetrical sidelobes are caused by a multipath interference.


To start the server click on RDS Spy icon. You can also set server auto-start in settings, and RDS Spy auto-start (select the executable file). In RDS Spy choose Configure – Select RDS Source – ASCII G Protocol. Set the Connection Type to TCP/IP and TCP/IP Port to 7376 (or other specified in XDR-GTK settings). If you are using some level of error correction, you will notice that PS/RT loads slower with RDS Spy on weak signals, because RDS Spy gets only data marked by decoder as valid. Furthermore, the PI code is sent along with other RDS blocks after synchronisation, so again, it won’t appear in RDS Spy on weak signals.


  • 1.0 (2016-05-01) – XDR-I2C firmware update required
  • 0.3.1 (2015-01-22) – XDR-I2C firmware update recommended
  • 0.3 (2014-08-06) – XDR-I2C firmware update required
  • 0.2.3 (2014-08-06)
    – StationList support (SRCP)
  • 0.2.2 (2014-04-16)
    – RDS PS progressive correction
  • 0.2.1 (2014-02-20)
    – RDS Spy support
    – configurable keyboard shortcuts
    – new TCP/IP connection protocol
    – RDS timeout and other minor improvements
  • 0.2b (2013-12-17)
    – font loading without manual installation (Windows)
  • 0.2a (2013-11-23)
    – bug fix – XDR start-up with an IR diode
  • 0.2 (2013-11-12)  – XDR-I2C firmware update required
  • 0.1 (2013-01-06)  – XDR-I2C firmware update required
    – code optimizations, stability improvements
    – spectrum usage view
    – antenna input alignment dialog
    – NFM 9kHz filter, generated with Brian Beezley’s optimizer
    – higher resolution of the signal meter
    – RDS reception reliability improvement
    – selectable signal level display: graph, bar or text only
  • 0.0? (2012 – first public beta release)