KaikuSDR

Your receiver

KaikuSDR works with RTL-SDR dongles (for example the RTL-SDR Blog V3, V4 and V4 Lite), Airspy receivers (R2 and Mini), the Airspy HF+ (Discovery and Dual Port), the HydraSDR RFOne, the HackRF One, the bladeRF (2.0 and the original), the Fobos SDR and the SDRplay RSP series (RSP1, RSP1A, RSP1B, RSP2, RSPduo, RSPdx and RSPdx-R2).

Several receivers can scan side by side. The bands are divided between them. While one receiver stays on a transmission, the others of the same kind sweep its other tunings as well, so the whole band remains covered; they hand the tunings back when the receiver is free again.

Without a receiver, the app runs the demo.

RTL-SDR dongles ↑

A dongle is used through rtl_tcp, a small free program that reads the dongle and passes its signal to KaikuSDR. Installing rtl_tcp is the only manual step. KaikuSDR starts and stops it for each dongle.

On a Mac

  1. Install rtl_tcp with Homebrew: brew install librtlsdr in Terminal. KaikuSDR finds it where Homebrew or MacPorts installs it. If you keep it elsewhere, choose Find rtl_tcp… under Add a receiver and select it once; KaikuSDR remembers the location.
  2. Connect the dongle. In KaikuSDR, open Settings › Receivers and choose Add a receiver. The dongle is detected, and KaikuSDR offers to start rtl_tcp for it on a free port. Change the port only if another program needs it. Choose Start rtl_tcp.

On Windows

Three things are needed, each once per computer. KaikuSDR tells you under Add a receiver which one is missing, with the steps.

  1. The USB driver. Windows has no driver that lets a program use the dongle directly. Install one with Zadig, a free tool:

    1. Connect the dongle. Download Zadig from zadig.akeo.ie and open it. When Windows asks whether the program may make changes, answer Yes.
    2. In Zadig, open the Options menu and choose List All Devices.
    3. In the device list, choose Bulk-In, Interface (Interface 0). Not Interface 1, which is the dongle's infrared remote receiver and is not needed. With several dongles the entry appears more than once; any of them will do, and one installation covers all dongles of the same kind.
    4. Check that WinUSB is shown to the right of the green arrow, then choose Install Driver (or Replace Driver). This takes about a minute. Close Zadig.
  2. rtl_tcp.exe. Choose Get rtl_tcp.exe under Add a receiver. KaikuSDR downloads the RTL-SDR Blog's Release.zip from github.com/rtlsdrblog/rtl-sdr-blog, verifies it, and keeps rtl_tcp.exe in a folder of its own. Nothing else is installed or changed.

    To get it by hand instead: download Release.zip from the Releases page at github.com/rtlsdrblog/rtl-sdr-blog, right-click it in your Downloads folder and choose Extract All. KaikuSDR finds rtl_tcp.exe there, next to the app, or in a folder at the top of a drive such as C:\rtl (up to three folders deep). Nothing needs to be added to the PATH. KaikuSDR only reads file names in those folders, and nothing leaves your computer.

    Before starting rtl_tcp for a dongle, KaikuSDR shows which rtl_tcp.exe it found. To use another, choose Find rtl_tcp.exe… or Choose another… and select it once; KaikuSDR remembers it and prefers it from then on.

  3. Microsoft's Visual C++ runtime, if the app asks for it. rtl_tcp.exe, speech detection and speech to text all need it. Most computers already have it. If not, KaikuSDR shows a notice with a Download from Microsoft button: run the installer it fetches, then choose Look again.

Then connect the dongle, open Settings › Receivers and choose Add a receiver. The dongle is detected, and KaikuSDR offers to start rtl_tcp for it on a free port. Change the port only if another program needs it. Choose Start rtl_tcp.

If Windows reports Unknown USB Device, or KaikuSDR reports a USB device that could not be started: disconnect the dongle, wait a few seconds, and connect it directly to the computer rather than through a hub. Then choose Look again.

If something is missing, Add a receiver says so. A connected dongle without rtl_tcp is named, with what to install, and Look again checks once more. Every other kind of receiver is reported in the same way once it is connected.

KaikuSDR remembers your dongles, starts rtl_tcp for them on the next start, and stops it when you quit. If rtl_tcp cannot be started, the receiver says why: the dongle is not connected, another program is using it, rtl_tcp is not installed, or the port is taken.

An rtl_tcp you start yourself (rtl_tcp -d 0 -p 1234), or one running on another computer, works as well. Add a receiver finds one running on your computer. For another computer, choose Connect to an rtl_tcp server by its address… and enter its address and port.

For shortwave (below 24 MHz) with an RTL-SDR Blog V3 and a suitable antenna, set Direct sampling (shortwave) under Show advanced settings to Q branch. While it is on, only shortwave can be tuned: the higher bands wait, the list shows how many channels are out of reach, and your region's shortwave bands, the CW segments of the amateur bands, are offered in What to scan. Set it back to Off for everything else.

The RTL-SDR Blog V4 Lite has a newer tuner (the R828S) that only the updated rtl-sdr-blog driver supports. Install that driver's rtl_tcp, and the dongle works like any other. Its gain steps may differ slightly from the ones the app shows.

Airspy ↑

Airspy receivers need libairspy, a small free library. On a Mac: brew install airspy in Terminal. Connect the Airspy, and Add a receiver offers it by its serial number.

On Windows: install the Airspy USB driver from airspy.com's Windows package, and place airspy.dll next to KaikuSDR.exe or in a folder on the PATH. Then connect the Airspy and choose Add a receiver.

Airspy HF+ ↑

The HF+ Discovery and Dual Port need libairspyhf. On a Mac: brew install airspyhf. On Windows: the HF+ USB driver from airspy.com, and airspyhf.dll next to KaikuSDR.exe or in a folder on the PATH.

They tune shortwave (9 kHz to 31 MHz) and the VHF range (60 to 260 MHz), and nothing in between.

The gain slider is the HF+'s attenuator, under a switch for the device's own gain control, which performs very well on shortwave. Show advanced settings also offers the +6 dB preamplifier.

HydraSDR RFOne ↑

The RFOne needs libhydrasdr from hydrasdr.com. On Windows, from the same site: its USB driver, and hydrasdr.dll next to KaikuSDR.exe or in a folder on the PATH.

It behaves like an Airspy R2 with a wider range, up to 1.8 GHz, and is set up the same way: connect it, and Add a receiver offers it by its serial number.

SDRplay RSP ↑

An RSP needs SDRplay's own API software, free from sdrplay.com. It installs a small service that runs in the background and that KaikuSDR communicates with. KaikuSDR does not bundle it, because SDRplay's licence restricts it to their own devices. Note that the service may report your device to SDRplay.

Connect the RSP, and Add a receiver offers it by its serial number.

The gain slider is the IF gain in decibels. Show advanced settings also offers the front-end gain step, the notch filters for broadcast FM and DAB, the antenna socket on an RSPdx or RSP2, and antenna power.

On Windows: the same API installer from sdrplay.com/api, which also installs the USB driver and sdrplay_api.dll where KaikuSDR looks for it.

An upconverter or downconverter ↑

With a converter in front of a receiver, for example a Ham It Up that shifts shortwave up by 125 MHz, set the receiver's Converter offset under Show advanced settings: 125 for that converter, a negative number for a downconverter.

The chart, the lists and the log then show the frequency at the antenna, and the receiver is tuned by that offset.

HackRF One ↑

The HackRF needs libhackrf. On a Mac: brew install hackrf in Terminal. On Windows: hackrf.dll and the libusb-1.0.dll next to it from the HackRF release on GitHub, placed next to KaikuSDR.exe, and the USB driver installed once with Zadig (choose WinUSB, as for a dongle above).

Connect it, and Add a receiver offers it by its serial number.

Its gain slider is in decibels. Show advanced settings also offers the RF amplifier (+14 dB) for weak signals far from strong transmitters. The app asks for confirmation first, because a strong signal nearby could then damage the input.

bladeRF ↑

The bladeRF needs libbladeRF. On a Mac: brew install libbladerf. On Windows: Nuand's bladeRF installer from nuand.com, which installs bladeRF.dll, the USB driver and the FPGA images.

The bladeRF also needs its FPGA image, which KaikuSDR does not include. Install Nuand's bladeRF software with the image for your board, or configure the bladeRF to load the image from its own memory (bladeRF-cli -L, once). Without the image, the app says so and what to do.

Fobos SDR ↑

The Fobos needs libfobos, RigExpert's free library, available from the Fobos SDR page at RigExpert; there is no Homebrew package. On Windows, from the same page: its USB driver, and fobos.dll next to KaikuSDR.exe or in a folder on the PATH.

Connect it, and Add a receiver offers it by its serial number.

Settings for each receiver ↑

Settings › Receivers lists each receiver as a row: what it is, what it is doing and what it scans, with a warning mark when something on its page needs attention. Select the row to open the receiver's own page. All receivers returns to the list.

The page begins with the receiver's status: its sweep rate, how much of its data is arriving, its strongest signal level, and the remedy for any problem. The settings follow, in groups:

  • Gain: the amplification. Automatic gain (overload protection), on by default, lowers the gain when strong signals would overload the receiver and raises it again when they are gone.
  • Frequency: the bandwidth, how much of the band the receiver takes in at once (a wider bandwidth sweeps a band in fewer tunings), and the frequency correction in ppm.
  • Antenna: antenna power (bias tee; the app asks for confirmation, because it can damage equipment not designed for it), and whatever else the receiver offers there.

Show advanced settings reveals the rarely needed settings.

Remove this receiver, at the bottom of the page, asks for confirmation. The receiver's settings are kept in case it is added again.

The guide's contents