Welcome to the W2RF SDR-Bridge download page

Click to download: SDR-Bridge v1.5.1 release
NOTE: The previous v1.1.3 beta expired at the end of February 2016. Download the new v1.5 release version, available now!

Updated! Extremely useful quickstart and troubleshooting guide by Al NN4ZZ. New 2/18/2016 version!
New! Blog post on contesting with SDR-Bridge by Lee W9OY
Great blog post on the new SPLIT feature by Lee W9OY
For an amazing experience, get CW Skimmer by Alex VE3NEA and WriteLog by Wayne W5XD

1.5.1: New! Configure FlexControl knobs without restart. Permanent activation for Servers
1.5.0: Support for FlexControl knobs. Permanent activation for SDR-Bridge

Previous versions:
1.1.3: Compatibility with CW and RTTY Skimmer Server for SmartSDR 1.4
1.1.2: New! CW Skimmer and WriteLog enhancements, contest proven!
1.1.1: New SPLIT integrated with diversity; Sync improvements; Bug fixes
1.1.0: New SPLIT support for DXing; Compatible with SmartSDR 1.4 and beyond
1.0.4: ARRL Centennial Edition; activation until February 25, 2015
1.0.2: Automatic repair of Skimmer INI settings; activation until August 25, 2014
1.0.1: Launch Skimmer on 32-bit OS; enable path editing
1.0.0: Initial release May 10, 2014


Quickstart for v1.5 and the new FlexControl knob support

SDR-Bridge v1.5 contains new spport for either a single or for multiple FlexControls. This support is enabled and controlled from the Knobs tab. Knob support is independent of Skimmer and WriteLog integration. No Skimmers are needed to use the knobs.

To use knobs with SDR-Bridge, start it first. Otherwise knobs will get assigned to other apps.

The first three checkboxes on the Knobs tab control enabling and the overall behavior of the knobs. The first checkbox must be checked to enable knob support. In addition at least one of the next two checkboxes must be checked. If you have a single knob, check the second checkbox. This will cause your knob to track the active slice. If you have multiple knobs, check the third checkbox. This will assign up to four knobs, one to each IQ slot. The knob will control the slice selected in the Slice column of the IQ slot. After configuring these first two checkboxes, restarting SDR-Bridge is not required.

All knobs work the same. AUX1 controls RIT and AUX3 controls XIT. Click either button to enable. Long press or double click either button to clear the offset. AUX2 controls either AGC-T or AF volume for the slice. Long press or double click AUX2 to toggle between the two. Click the main knob to enable tuning.

There are two more checkboxes on the Knobs tab.

The first makes the XIT offset and RIT offset the same. This is the way all other rigs work, and it has some operational advantages.

The second switches (toggles) between RIT and XIT so they are never on at the same time. This also has operational advantages, especially in the following scenario:

Let’s say you are trying to work a DX station simplex, and find that he is tuning all around his frequency. This happens very often in contests. So with both boxes checked:

Click RIT and tune to the station he is responding to.

Click XIT. This returns you to listening on the DX frequency, but transmitting on the calling station’s frequency.

Neither of these options require a restart.

SDR-Bridge v1.5 is a full release, not a beta. This means that the code will not expire. It is based on the latest version of the FlexAPI. New versions will become available with new features, bug fixes, and to cooridnate with changes in SmartSDR and the FlexAPI.


Introducing SDR-Bridge

Welcome to the first open beta of SDR-Bridge 1.0. You may have seen earlier prototypes demoed at the Flex booth at various hamfests. Here you have the real thing.

Most of the work so far has been focused on the core functional structure, the DNA of the program. It is based on a structure that will take SDR-Bridge far beyond these initial capabilities.

But the initial capabilities are actually quite competent:

We have a great SDR, the Flex-6000 series. We have a great skimming program, CW Skimmer. And we have a great logger, WriteLog.

The problem is, they speak different languages, and can’t talk to each other. There is a limited connection through CAT. But it doesn’t touch what is possible.

So when you click a spot on CW Skimmer, what happens? Nothing.

But with SDR-Bridge, both the radio and WriteLog QSY to the frequency, WriteLog displays the callsign in the Entry panel, and receives the focus ready for the QSO.

Or if you click a spot in WriteLog, both Skimmer and the radio QSY to the spot.

Or if you click a frequency in the radio, both WriteLog and Skimmer synchronize with the frequency.

Then there is callsign coloring. SDR-Bridge links CW Skimmer to the status of every call in WriteLog, whether mult (new country), new station, or dupe, and colors the entry appropriately.

This kind of integration is the reason for SDR-Bridge. It is built on a core architecture designed to facilitate this kind of integration. And it is capable of much more. This is just the beginning.

But we are at the beginning, with a 1.0 beta app, and have to make sure things are set up properly.

First, if you were a prototype tester, there were shortcuts that were needed to start Skimmer. Delete them.

Second, for things to work properly be sure you have the latest version of CWSkimmer. It is available at http://dxatlas.com/CwSkimmer/Files/CwSkimmer.zip. Install Skimmer in the default location.

Everything works fine without a logger, but if you want to test logger integration, any version of WriteLog should do. The latest is available at http://www.writelog.com.

Of course you need to download SDR-Bridge from the above link, install, and run the program.

The new 1.0 beta version of SDR-Bridge launches Skimmer when you check the appropriate box on the Bridge tab. If you uncheck the box, it minimizes Skimmer. And if you have the box checked when you exit, SDR-Bridge will start Skimmer on that IQ the next time it is run.

The first time you launch a Skimmer from the Bridge panel, it will start with a preconfigured INI file. SDR-Bridge checks the audio configuration of your computer so it should be ready to go. If you make any changes in Skimmer Settings, when you exit Skimmer the changes will be recorded in the INI file.

I suggest starting with just one Skimmer. Once you have it configured, the next thing is to assign a slice. The slice doesn’t have to be in the same panadapter that is being skimmed, but for starters I suggest starting with slice A in the panadapter that is assigned to IQ 1. On the DAX control panel select 96khz and activate that IQ. That should get synchronization going between Skimmer and the radio.

Now for some details on the various tab panels.



On the Bridge tab, in the Sync panel, checking a Skim box will open a Skimmer for that IQ channel. The screenshot shows all four IQ channels active. Each is assigned a slice. The A slice is red because it is the TX slice. Active slices show yellow, to match the SmartSDR display.

If Stream is showing a single number, it is the panadapter center frequency. Once Skimmer is connected, it reports the actual frequency band it is skimming. Note that the panadapters are adjusted so that Skimmer is looking a bit below the band edge. That is because the IQ stream is actually about 80% of the selected bandwidth, so signals are not skimmed in the bottom and top few khz of the stream.

Right click on a slice frequency to bring up a context menu that sets Transmit and Active slice status. Hover over a digit to tune the slice frequency with the mouse scroll wheel.

On Bridge View, you can bring the DAX panel up by clicking its button. If SkimSrv is installed in its default location the Skimmer Server button will start the app. Due to the way Windows initializes items in the system tray, both the DAX panel and the SkimSrv panel need to be opened for the first time from the tray. After that the Bridge buttons should work correctly.



The Radio tab shows a live list of active slices.

The MuteAllButActive option is checked by default. It mutes all slices but the active one, as the name implies. This is true whether or not the slice is assigned to a DAX channel. That is why it is on the Radio tab. It is a radio global feature.

In the future there will be a pan assignment for slices that will allow more complex positioning of slices in the auditory field and more information about radio status. Also more  control features will appear on this tab.

The SyncAlternatingSlices option is an experimental feature that causes slice A to lock with slice C, B with D, etc. This is useful if you want to have one panadapter containing say slice A, that is zoomed in to a few khz “microscope” view, and a second panadapter containing slice C that is zoomed out to say 100khz showing the “grand view.” SyncAlternatingSlices locks these together. The reason they alternate is because for slice A, the split would be slice B. Slice B would lock with slice D. If this sounds confusing, try it. But be sure both panadapters are on the same band when you enable SyncAlternating.



The Skimmer tab contains several useful options. The first three are checked by default.

Normally Skimmer tunes the radio when a callsign is clicked. FrequencyClickTune extends this to tuning when the Skimmer waterfall is clicked.

LockSliceToGreenBox synchronizes the Skimmer demod cursor with the radio slice. This is very useful but under some circumstances you might want to disable it.

Normally on a Skimmer click the associated slice is made active. ActivateTxOnClickTune makes the slice both active and TX.

Normally Skimmer clicks do not change the slice mode. The AllClicksAreCW option overrides this.

In the future this panel will fill out with more information about Skimmer status, and further options.



On the Logger tab, as of now there is only one logger, WriteLog. If you have WriteLog (even older versions should work fine), just start the program. After a few seconds, synchronization starts automatically. No port assignments are necessary because SDR-Bridge is CAT-free.

Currently Skimmer spots are transferred to the WriteLog bandmap and spotlist, and the status of a call is transferred from WriteLog back to color the callsign in Skimmer. I showed this to my xYL and she said “but isn’t that the way it should work?” My response, “yes, but turn off SDR-Bridge and nothing happens.”



The Telnet tab is planned but not implemented. It will bring in a whole new vista of integration!

The Advanced tab is a staging area for experimenting with new features.

In closing, I would like to thank the expert developers and testers that helped make this possible. Alex VE3NEA added features to CWSkimmer that allow full spectrum skimming and frequency synchronization. Some advanced features of Wayne W5XD’s dedicated work on WriteLog for over two decades are critical to integration. At Flex special thanks to Eric KE5DTO for the masterful execution of FlexLib; Tim W4TME for the installer, inspiration and enthusiastic support; and Steve N5AC for masterminding the Flex 6000 series and also especially for putting up with my constant badgering. Prototype testers included Phil K3TUF, Mack W4AX, Paul RN3A, and Greg AB7R, among others. Without the support of this array of talent, SDR-Bridge would not have been possible. Thank you!

The first prototype of SDR-Bridge required a dozen manual steps to get everything going. Much effort has been put into simplifying the operation and improving the user experience. Let us know of further suggestions for features or improvements. And enjoy the show!