Thispage is a guide aimed at helping anyone set up a cheap radio scanner based on the RTL-SDR software defined radio as fast as possible on a Windows system. If you have any trouble during the installation, please see the troubleshooting guide further down the page. We also have brief instructions for getting started on Linux and OSX at the end of this page.
Please note that the RTL-SDR is not a plug and play device. You will need to have sufficient skills to perform basic PC operations such as unzipping files, installing software, moving and copying files and have the motivation to learn new software.
New RTL-SDR Blog V4 USERS: Please remember that you need to install our custom drivers in order to make the V4 work. The quickstart guides below show how to install them on common software. For other software we have generic instructions here
rtl-sdr.com/V4.
RTL-SDR BLOG V3/V4 BUYERS: PLEASE BE WARY OF COUNTERFEITERS. Opportunistic sellers are advertising all sorts of dongles under our brand "RTL-SDR Blog". The dongles with blue or green cases or square rectangular silver cases with four screws per panel (eight total), or those advertised as "Pro" are not ours. Those dongles use poorer quality components, are designed cheaply, and may not have all the V3 features. We cannot provide support for counterfeits and these do not help support the running of the blog and the design of new products. The best place to purchase RTL-SDR V3 dongles is directly from our store at
www.rtl-sdr.com/store.
To get the most enjoyment out of RTL-SDR you will need a decent antenna. Our packages that come with the dipole antenna set are a great start. Be sure to get them up high and outside (during good weather only) for best results. Units not sold by us may come with a smaller fixed length whip antenna with a magnetic mount base that is okay for testing, but overall is not that great. The recommended outdoor antenna for general scanning is a discone due to their wide band receiving properties. You can also cheaply build a wideband planar disk antenna (pdf warning) out of some metal pizza pans.
Below are various alternatives to SDR# that we also highly recommend. The first step to all installations is installing the drivers with Zadig. Follow the Zadig guide below when setting up a new dongle if you have not already done so during the SDR# installation.
Before following the next steps, please make sure you have installed the Microsoft Visual C++ x64 redistributable. Most PCs will have this already installed, but on some fresh installs this may not be the case.
WARNING: Do not select anything else or you will overwrite that device's driver! DO NOT click around randomly on Zadig. If you do you are likely to overwrite your mouse, keyboard, printer, soundcard etc drivers.
After installing the libraries you will likely need to unload the DVB-T drivers, which Linux uses by default. To unload them temporarily type "sudo rmmod dvb_usb_rtl28xxu" into terminal. This solution is only temporary as when you replug the dongle or restart the PC, the DVB-T drivers will be reloaded. For a permanent solution, create a text file "rtlsdr.conf" in /etc/modprobe.d and add the line "blacklist dvb_usb_rtl28xxu". You can use the one line command shown below to automatically write and create this file.
NOTE: Some devices like the Orange Pi zero have a bug in their current mainline OSes. Instead of blacklisting "dvb_usb_rtl28xxu", you will need to blacklist "dvb_usb_rtl2832u". If you installed rtl-sdr by "apt-get", you will need to update the black list file at /etc/modprobe.d/rtl-sdr-blacklist.conf manually too.
After installing the libraries and black listing the DVB-T drivers we recommend starting off with SDR++ or GQRX. Instructions for installing SDR++ are on their GitHub, and for GQRX it can be downloaded via the package manager in your Linux distribution or from We can also recommend the multi-platform CubicSDR which can be downloaded from
If you are running the latest Raspbian version with release date October 10th 2023, May 3rd 2023, please note that there is a kernel bug that causes the error "rtlsdr_demod_write_reg failed with -7". The fix is simple, simply run "sudo rpi-update" to update to the latest Kernel version. More information on this post.
There are several software options that we recommend for Macs. Most software (bit not all) now supports Intel and the newer ARM based CPUs. Make sure that you download the correct release for your CPU type.
Another option is SDRangel. This is a powerful piece of software with many built in decoders, but it has a bit of a harder to use UI, so it is not recommended for beginners. They have both Intel and ARM support and the latest dmg can be downloaded from their Releases page.
For about a decade and continuing on, your blog is the only one I need to visit for anything SDR related. I have bought the V3 from you, and everything is working flawlessly. I would like to express my gratitude to the
rtl-sdr.com team for allowing this gem of technology to flourish, shining brighter every year. Thank you so much.
DVB-T dongles based on the Realtek RTL2832U can be used as a cheap SDR, since the chip allows transferring the raw I/Q samples to the host, which is officially used for DAB/DAB+/FM demodulation. The possibility of this has been discovered by Eric Fry (History and Discovery of RTLSDR). Antti Palosaari has not been involved in development of rtl-sdr.
The RTL2832U outputs 8-bit I/Q-samples, and the highest theoretically possible sample-rate is 3.2 MS/s, however, the highest sample-rate without lost samples that has been tested wit regular USB controllers so far is 2.4 MS/s. A stable sample-rate of 3.2 MS/s without lost samples is only possible with the Etron EJ168/EJ188/EJ198 series of host controllers due to their specific maximum latency. The frequency range is highly dependent of the used tuner, dongles that use the Elonics E4000 offer the widest possible range (see table below).
Much software is available for the RTL2832. Most of the user-level packages rely on the librtlsdr library which comes as part of the rtl-sdr codebase. This codebase contains both the library itself and also a number of command line tools such as rtl_test, rtl_sdr, rtl_tcp, and rtl_fm. These command line tools use the library to test for the existence of RTL2832 devices and to perform basic data transfer functions to and from the device.
At the user level, there are several options for interacting with the hardware. The rtl-sdr codebase contains a basic FM receiver program that operates from the command line. The rtl_fm program is a command line tool that can initialize the RTL2832, tune to a given frequency, and output the received audio to a file or pipe the output to command line audio players such as the alsa aplay or the sox play commands. There is also the rtl_sdr program that will output the raw I-Q data to a file for more basic analysis.
If you want to do more advanced experiments, the GNU Radio collection of tools can be used to build custom radio devices. GNU Radio can be used both from a GUI perspective in which you can drag-and-drop radio components to build a radio and also programmatically where software programs written in C or Python are created that directly reference the internal GNU Radio functions.
The use of GNU Radio is attractive because of the large number of pre-built functions that can easily be connected together. However, be aware that this is a large body of software with dependencies on many libraries. Thankfully there is a simple script that will perform the installation but still, the time required can be on the order of hours. When starting out, it might be good to try the command line programs that come with the rtl-sdr package first and then install the GNU Radio system later.
While Osmocom in general is a very much Linux-centric development community, we are now finally publishing automatic weekly Windows binary builds for the most widely used Osmocom SDR related projects: rtl-sdr and osmo-fl2k.
In order to be able to use the dongle as a non-root user, you may install the appropriate udev rules file by calling cmake with -DINSTALL_UDEV_RULES=ON argument in the above build steps.
cmake ../ -DINSTALL_UDEV_RULES=ON
Please note: you always should build & install the latest version of the dependencies (librtlsdr in this case) before trying to build the gr source. The build system of gr-osmosdr will recognize them and enable specific source/sink components thereafter.
This application has been successfully crosscompiled for ARM and MIPS devices and is providing IQ data in a networked ADS-B setup at a rate of 2.4MSps. The gr-osmosdr source is being used together with an optimized gr-air-modes version (see Known Apps below).
It is also available as a package in OpenWRT.
To check the maximum samplerate possible on your machine, type (change the rate down until no sample loss occurs):
rtl_test -s 3.2e6
A samplerate of 2.4e6 is known to work even over tcp connections (see rtl_tcp above). A sample rate of 2.88e6 may work without lost samples but this may depend on your PC/Laptop's host interface.
To convert the data to a standard cfile, following GNU Radio Block can be used:br
The GNU Radio Companion flowgraph is available as rtl2832-cfile.grc. It is based on the FM demodulation flowgraph posted by Alistair Buxton on this thread.
So, the large one has almost the double radius and can also probe twice the area. It would be also nice if the probe end was a true circle (and not elliptic), but for my usage case it works just fine.
Now that you have the probes and the RTL-SDR, there are two ways to use them. One way is to use a USB extension to plug the dongle and then screw the probe straight on it. The other way is to plug your RTL-SDR dongle on a USB port then use an antenna extension cable to connect the probe to the dongle. The next pictures show the two setups.
3a8082e126