XDR-GTK v1.0

I am pleased to announce that the long-awaited 1.0 version of XDR-GTK has just been released. As usually, XDR-I2C upgrade to the latest version (2016-04-20) is also required.


The main window contains new interference detectors: CCI (co-channel) and ACI (adjacent channel) which make the antenna pointing easier for the best signal to interference and noise ratio.

The CCI detector, based on a multipath meter, is a good indication of interference on a channel. The strongest signal level doesn’t always mean the best quality, as other unwanted stations on the same frequency may interfere more with an antenna set on the exact azimuth. The CCI value may decrease by few percents on a weak signals while using RF gain boost, which slightly lowers the tuner noise figure, but may also increase due to overload of the RF input on very strong signals. With IF+ there will be no improvement at all.

The ACI is an indication of the adjacent interference based on noise level in MPX signal above RDS subcarrier. This detector is less reliable than CCI and is modulation dependent. It may be useful for observing the adjacent channels (±100-200kHz) with a sensitivity around -30dBc.

The most significant change in this release is a rewritten spectral scan feature. Peak hold function displays the highest levels in the background of a current scan results. Hold function keeps current scan as a white curve. The signal spectrum is much smoother and a horizontal signal level grid is now also included. In order to tune to a frequency click or hold left mouse button. It is possible to toggle a vertical frequency mark with a right button. Currently tuned frequency can be optionally marked with a thicker white line. The frequency and signal value of a focused point is now displayed as an overlay on the spectrum.


The configuration handling has been also rewritten. Now it is saved to …\Local Settings\Application Data\xdr-gtk (Windows) or ~/.config/xdr-gtk/ (Linux) directory by default. The configuration file can be changed with “-c” command line option.

There are new options to make the application as small as possible. First of all it is possible to hide window decorations in settings. In order to move the window without them hold Shift, left button and use mouse to set new position. Statusbar with clock and new interference detectors can be hidden as well in settings. There is also a new compact mode which hides two horizontal lines with buttons. To toggle it triple click with left mouse button on the window area.


The mono reception can be forced now by clicking right mouse button on the stereo indicator. 


New features and improvements:
– interference detectors (CCI and ACI)
– external event handling (physical button connected to Arduino board)
– forced mono option (right click on ST indicator)
– smoother signal level samples
– improved squelch (both signal & stereo)
– rotator delay between direction change
– red color for active rotation direction, orange for waiting
– count signal samples and provide average level (as tooltip)
– compact mode (triple click on a window to toggle)
– StationList-M support (via SRCP)
– reverse antenna pattern plot

– initial frequency
– signal graph reset on frequency change
– disconnect confirmation
– signal level offset
– automatic next reconnect
– swap rotator buttons
– hide statusbar
– hide window dectorations (move window with shift + mouse)
– selectable log and screenshot directory
– restore last window position
– RDS PS mode and spectral scan keyboard shortcut
– preserve volume level in configuration
– rewritten configuration handling
– selectable profiles (-c option with a filename)

Spectral scan:
– peak hold function
– current hold function
– frequency marks (right click)
– current frequency mark
– signal level scale
– tune button replaced with “hold left button and sweep”
– freq & signal overlay on spectrum

– PI code decoding from a previously tuned frequency
– wrong signal level of firstly checked frequency in spectral scan
– many other fixes and improvements

For more info and download check XDR-GTK page.

4 thoughts on “XDR-GTK v1.0

  1. I did the Seeeduino modifications to my spare XDR-F1HD on Sunday. It works very well with the XDR-GTK software — RDS decode is VERY FAST!

    I can’t get it to work with any other software though! I have Putty and TeraTerm installed on my PC. I set them to 115200 baud, 8-N-1, COM6. When I plug in the USB cable (to power up the Seeeduino) and turn on the radio… the controller doesn’t send anything to the PC. Any commands I send *from* the PC are ignored. (I believe I have to send “x” first to start the controller?)

    Again, if I use the same COM6 port and the same USB cable, it works perfectly with XDR-GTK!

    I think I’m doing something wrong in Teraterm but can’t figure out what…


  2. It worked with the Serial Monitor in the Arduino IDE, and that led me to the answer. I had the wrong line ending.

    It wants LF only, but neither Putty nor TeraTerm will do LF only. Serial Monitor will. You can use Putty or TeraTerm if you press Control-J instead of Enter.

    My next step is a Perl program to do an automatic band scan and log the PI codes on each frequency.

    1. The rotator control is very simple. The controller sets HIGH state on digital pin 6 (for CW direction) or pin 7 (for CCW direction). Of course, you can adapt it for your own purpose. It’s open source!

      You need a rotator interface that will use these signals.

Leave a Reply

Your email address will not be published. Required fields are marked *