Tagged: radio scanner

Talk: Monitoring the Spectrum: Building Your Own Distributed RF Scanner Array

Andrew Reiter a researcher at Veracode has given a talk at the Chaos Communication Congress about building a distributed RF scanner array using cheap RTL-SDR dongles. This talk has been uploaded to YouTube.

Software-Defined Radio (SDR) has increased in popularity in recent years due to the decrease in hardware costs and increase in processing power. One example of such a class of devices is the RTL-SDR USB dongles based on the Realtek RTL2832U demodulator. This talk will discuss my experience in building a distributed RF scanner array for monitoring and spectrum mapping using such cheap SDR devices. The goal is to help the audience understand the what, why, and how of building their own RF monitoring array so that they will be able to do it themselves. In this era of increasingly being “watched”, we must be prepared to do our own “watching”.

Software-Defined Radio (SDR) has increased in popularity in recent years due to the decrease in hardware costs and increase in processing power.One example of such a class of devices is the RTL-SDR USB dongles based on the Realtek RTL2832U demodulator. This work investigates building and running an RF scanner array for monitoring and spectrum mapping using cheap SDR devices. The array allows for both RF sampling and power analysis to be split over multiple systems in order to increase capture and spectrum analysis capabilities. The system allows for “strong signal capture” as well as, simply, signal modeling with “strong signal alerting”. Also discussed will be using the array versus USRPs and the issue of antennae for all of the devices. I will explain the mistakes I made in building the array and what I did to attempt toovercome such pitfalls. The code for running the array will be introduced and released for public consumption. In addition, while we target the RTL-SDR devices, we will discuss the feasibility of including non-traditional SDR hardware in the array, including non-Realtek tuner cards and inclusion of HackRF devices.

Using Unitrunker with SDRSharp

Trunking radio is a radio system where a finite number of frequency channels are shared between multiple radio users. This allows support of a much larger number of radio users. A special control frequency is used to determine which frequency a radio should be tuned to.

This all means that following a radio conversation with a software defined radio such as the rtl-sdr can be difficult, as the conversation can hop around multiple frequencies. Fortunately there is software called unitrunker which can listen to the control channel, and determine what voice frequencies need to be tuned to. More information about unitrunker and the signals it can decode is shown on this RadioReference wiki page.

A tutorial on how to set up unitrunker with SDRSharp has been posted here. Essentially, to follow trunked radio conversations you will need two rtl-sdr dongles (or any two software radios), unitrunker and virtual audio cable. One radio will be used for the control channel and unitrunker, and the other will be used for the listening to the voice channel. This can also be done with one software radio, and one hardware radio with discriminator tap if one have one of those. If you are trying to track digital voice communications, it can be done with one dongle and this is discussed in the tutorial too.

Continue reading

Quick Start Guide

This page 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.

******* RTL-SDR Blog V3/V4 Users *******

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.

We suggest the following reading order:

  1. Quickstart Guide: rtl-sdr.com/QSG - Current page. Helps you install the software and set up your dongle.
  2. V3 Features Guide: rtl-sdr.com/V3 - Learn how to use special V3 features like the direct sampling HF mode and bias tee.
    V4 Features Guide: rtl-sdr.com/V4 - Learn how to use special V4 features and how to install the required drivers for V4 models.
  3. SDR# Users Guide: rtl-sdr.com/SDRSHARP - Learn about the setting in SDR#.
  4. Dipole Antenna Guide: rtl-sdr.com/DIPOLE - Learn how to use your RTL-SDR Blog multipurpose dipole antenna (if purchased in set)

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.

***************************************

Equipment Guide

We recommend purchasing one of our RTL-SDR Blog V3 or V4 dongles. See the Buy RTL-SDR dongles page for more information on purchasing.

Generally at least a dual core processor will be required to run most SDR software smoothly. Some command line software and ADS-B decoders may work on less powerful hardware.

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.

SDR# (SDRSharp) Set Up Guide (Tested on Windows 11/10/8/7) (XP/Vista Incompatible) (Works with RTL-SDR Blog V4/V3)

SDR# is the most commonly used SDR program on Windows. We recommend it as one of the easiest to setup and use with the RTL-SDR.

  1. Purchase an RTL-SDR dongle. We recommend purchasing one of our RTL-SDR Blog V3 or V4 dongles. Information on purchasing one can be found here.

  2. You must have the Microsoft .NET 8.0 x86 Desktop Runtime installed to use SDRSharp. Most modern PCs will have automatically updated to this already unless you have specifically blocked these updates on your PC.

  3. You will also need the Microsoft Visual C++ redistributable installed. Most PCs will have this already installed, but if you do not you can download the x86 version from here.
     
  4. Go to www.airspy.com and find the downloads button on the top menu. Next to the "Software Defined Radio Package" heading click on the download button to download sdrsharp-x86.zip. Do not download the community managed edition, as this is often broken.


     
  5. Extract (unzip) sdrsharp-x86.zip to a folder on your PC. (Important! Many people who have issues forget this step! DO NOT run the files from within the zip file or the following steps will fail). (Also, do not extract into a folder within the Program Files directory, or installation may fail as these folders are often automatically made read only by Windows).
     
  6. Double click on install-rtlsdr.bat from within the extracted folder. On some versions of Windows you may get a SmartScreen warning. Click on More Info, then Run Anyway. This will start a command prompt that will download all the drivers required to make SDRSharp work with RTL-SDR. Once completed, press any key to close the command prompt.

    If the batch file ran successfully the files rtlsdr.dll and zadig.exe will be downloaded into the SDR# directory. If they were not downloaded then your PC or anti virus solution may be misconfigured and may have trouble running batch files (Check that the folder is not read only, and not located in the Program Files directory).
     
    If install-rtlsdr.bat fails to download the dll or zadig, do a manual driver installation. If Zadig is smaller than 5000kB (5MB), the download has failed and you should download Zadig manually.

     
  7. Plug in your dongle. Do not install any of the software that it came with (if any), and ensure that you wait a few seconds for plug and play to finish attempting to install the dongle (it will either fail or install Windows DVB-T TV drivers). If you've already installed the DVB-T drivers that came on the CD bundled with some dongles, uninstall them first.

  8. In the folder where you extracted the sdrsharp files find the file called zadig.exe. Right click this file and select "Run as administrator".

  9. In Zadig, go to "Options->List All Devices" and make sure this option is checked. If you are using Windows 10 or 11, in some cases you may need to also uncheck "Ignore Hubs or Composite Parents".

    zadig_1 
  10. Select "Bulk-In, Interface (Interface 0)" from the drop down list. Make sure it is Interface 0 (ZERO), and not "1". Note on some PCs you may see something like RTL2832UHIDIR or RTL2832U or Blog V4 instead of the bulk in interface. This is also a valid selection. Double check that USB ID shows "0BDA 2838 00" as this indicates that the dongle is selected.

    WARNING: DO NOT select anything else or you will overwrite that device's driver! DO NOT click around randomly in Zadig. If you do you are likely to overwrite your mouse, keyboard, printer, soundcard etc drivers. Many bad reviews we get are due to people clicking around randomly in Zadig, so PLEASE check what you are doing first.

  11. Make sure the box to the right of the arrow shows WinUSB. The box to the left of the green arrow is not important, and it may show (NONE) or (RTL...). This left hand box indicates the currently installed driver, and the box to the right the driver that will be installed after clicking Replace/Install Driver. 

     
  12. Click Replace Driver. On some PC's you might get a warning that the publisher cannot be verified, but just accept it by clicking on "Install this driver software anyway". This will install the drivers necessary to run the dongle as a software defined radio.

    zadig_warning 
  13. Open SDRSharp.exe and set the "Source" to 'RTL-SDR USB'. The source menu is in the top left Hamburger Menu (the three horizontal lines).

     
  14. Press the Play button  (the right facing triangle in the top left of the program). Your RTL-SDR software radio should now be set up and ready to use! If everything has worked you should be able to start tuning to frequencies.

  15. Important! Don't forget to also adjust the RF gain settings by adjusting it in the Source window, in the lower left of SDR#. By default the RF gain is set at zero. A gain of zero will probably receive nothing but very strong broadcast FM - increase the gain until you start seeing other signals.

    To receive HF signals below 24 MHz with an RTL-SDR Blog V3, please see our V3 users guide.

What's Next?

After getting your RTL-SDR set up with SDR# we recommend investigating the following:

  1. If you are using a RTL-SDR.com V3 dongle, view our V3 users guide to learn how to use the special features like HF direct sampling and the bias tee. If it is a newer V4 dongle, visit our V4 users guide.
     
  2. Read our SDR# Users Guide to learn what each setting in SDR# does. You may also want to check out the more up to date and comprehensive "SDR# Big Book" which is available on the Airspy downloads page.
     
  3. Check out all our featured articles on this blog for various RTL-SDR related projects and tutorials.
     
  4. Upgrade from the stock antenna. For optimal reception you should use an outdoor roof mounted antenna. The optimal antenna will depend on the frequency and project you are interested in, but for a general all purpose antenna we recommend a Discone or planar disk antenna (pdf).
     
  5. If you are using your RTL-SDR for HF with direct sampling mode or an upconverter then we recommended using SDR# with the special decimation drivers. This will allow you to zoom in on the small bandwidth signals used on HF without loosing resolution.
     
  6. Check out our store for various RF accessories such as filters, LNA's and antennas.
     
  7. Also check out the official list of SDRSharp plugins which can be found here and also our unofficial list of plugins which can be found here.

[expand title = "Troubleshooting (Click to Expand)"]

  • I am using a V4 dongle but it receives nothing, or signals appear to be at the wrong frequency.
    This will happen if you are not using our RTL-SDR Blog drivers. V4 units require our custom drivers to work. Please follow the instructions carefully.

  • I received a black colored dongle instead of a silver one. What is the difference?
    In early 2023 we are transitioning from silver colored enclosures to black colored dongles. The reasons are to try and seperate our brand from the clones that are copying us, and also as we need to add clearer FCC regulation text on the product to be compliant with regulations. There are no functional differences between silver and black RTL-SDR Blog units, the changes are purely cosmetic.

  • My dongle has an R860 tuner. Most posts talk about the R820T/2. Is the R860 a legitimate tuner?
    Yes, the R860 is the new batch of tuners, identical to the R820T/2. You might find them on new dongles purchased from 2021 onwards. The name appears to have been changed by the manufacturer simply for accounting and tracking purposes, since the R820T2 line for TV dongle usage has been officially discontinued, and the R860 is only sold specifically for SDR usage now.
     
  • I get the error "No Device Selected" when trying to start the dongle in SDR#.
    Make sure you have run the install-rtlsdr.bat file, and that it has successfully downloaded the rtlsdr.dll file into the SDR# folder. If it is not downloaded, check that your folder is not set to "read only" (this sometimes happens automatically if you install into Program Files, so do not install into that folder). Another source of problems is if you have accidentally installed the WinUSB drivers to Bulk Interface 1 instead of with Zadig. If you have done this, then SDR# will not recognize your dongle. To fix it go into device manager or Devices and Printers and uninstall the driver for Bulk Interface 1.
     
  • Installation with Zadig says "Cancelled by User" but I didn't cancel anything.
    This can happen when Windows is misconfigured in some way that stops new drivers being installed. Some users have had luck installing in Windows Safe Mode.
     
  • I clicked around randomly in SDR-Console V3 and changed the EEPROM. Now my Blog V4 no longer functions.
    Please do not edit the EEPROM on Blog V4 devices, as the drivers expect a certain string to be detected to differentiate V4 from other devices. If you overwrote it accidentally, please change the "Manufacturer" string back to "RTLSDRBlog", and the "Product ID" string back to "Blog V4"
     
  • I'm seeing weird wavy lines in the spectrum wherever I tune, and no signals.
    This is most likely due to your USB port underpowering the RTL-SDR. This can easily happen with long USB cables, or unpowered hubs. Please try connecting the RTL-SDR directly to the PC to confirm.
  • I get the error "No compatible devices found" when trying to start the dongle in SDR#
    Long low quality USB extension cables can sometimes cause this error. Some USB 3.0 ports are also incompatible with the dongle and cause this error. One user has had luck with this error by installing zadig from safe mode. Finally, there is a small chance that the dongle is actually faulty. If the dongle produces the same error on multiple computers the dongle is probably faulty and should be refunded or replaced.
  • Zadig just hangs when I try to install the driver
    One user has reported that this can happen when a Windows Update has failed, and is continuously running in the background without your knowledge. Another solution that people usually have success with is using an alternative Zadig tool available at visualgdb.com/UsbDriverTool. Use the tool to install the WinUSB driver.
  • Zadig shows NONE in the driver install screen.
    Some users have reported this as an issue, but this is normal. The box on the left indicates the CURRENTLY installed driver. The box on the right indicates the driver THAT WILL BE installed after clicking on the install button.
  • When trying to run Zadig I get an error "This app can't run on your PC", or "The version of this file is not compatible with the version of Windows you're running". I have a 64-bit PC.
    This is due to some sort of problem with your PC's configuration, although exactly what is unknown. Users have found that downloading the file manually with Chrome also produces the error, but downloading it with Edge browser results in a file that works. So try downloading from the Zadig website in Edge, or using the alternative tool at visualgdb.com/UsbDriverTool.
  • My dongle was working before but today it no longer works and displays an error when I click on Play.
    99% of the time this is because Windows automatic driver updates has automatically removed the SDR drivers and installed DVB-T drivers in its place. Make sure Windows automatic driver updates are turned off, and rerun zadig to reinstall the WinUSB driver.
     
  • Windows updates broke my dongle!
    Windows updates sometimes overwrite the SDR drivers with broken Windows ones. Simply run zadig again and install the drivers again to fix it.
     
  • My dongle gets extremely hot and stops working, or doesn't work at all. USB current measures well above 0.3A.
    It is normal for the dongle to be hot or warm during operation. But there is a small number of RTL8232U chips that come from the factory faulty (we measure this at less than 0.3%). They draw very high current, cause excessive heat and eventually fail. Some units will work for a few minutes to hours before exhibiting issues, and others will fail instantly. If you have a USB current meter you can check and see if the current draw is above 0.3A. If higher then something is wrong with the RTL2832U. If you suspect a fault like this contact the manufacturer of your dongle and ask for a refund or replacement.

    NOTE: This higher than normal current draw issue does not exist in batches of the RTL-SDR Blog V3 from 2019 onwards, but it may exist on other brands as we have not yet seen any copy our fixes for this problem. 
  • I get the error "1 compatible devices have been found but are all busy" or "libusb Open error -12"
    First check that another program is not using the RTL-SDR. Also some USB 3.0 ports are buggy, switch to a USB 2.0 port. Some users have also had success with installing everything from Windows safe mode.
     
    Make sure you are not selecting the "USB Receiver (Interface 0)" in zadig, and instead are selecting the Bulk in interface, or one that may say RTL2838UHIDIR or something else prefixed with RTL.
     
    If you don't see the correct Bulk in Interface make sure that "Options->List All Devices" is checked and that "Ignore Hubs or Composite Parents" is unchecked. Then you might see an entry like "RTLSDR (Composite)" which is what you should select with Zadig. READ this forum post especially if you are on Windows 10.
     
    Another thing to try may be to disable Windows automatic driver installation. Instructions for disabling this can be found here. This error also sometimes occurs after the computer has been suspended - to fix it simply disconnect and reconnect the dongle.
  • In SDR# get the error "Unable to load DLL 'rtlsdr': the specified module could not be found. (Exception from HRESULT: 0x8007007E)"
    Usually installing the Visual C++ Runtime solves this problem. Most PCs have this installed already, but if you are on a freshly installed version of Windows it may not have been installed yet.
     
  • With SDR# I get the error "The application has failed to start because its side-by-side configuration is incorrect".
    If you are using the x64 version try the x86 version. This can also indicate a corrupted .NET install on your PC. Attempt a .NET repair or reinstall.
  • There is a constant spike in the middle of the spectrum that won't go away.
    This is normal and is a side effect of the design of most RTL-SDR dongles. It can be removed algorithmically in the SDR# software by checking the "Correct IQ" box. If you are using an E4000 dongle select offset tuning instead.
  • I don't see Bulk-In, Interface (Interface 0)
    Ensure "Options->List All Devices" is checked. Sometimes you may also need to uncheck "Ignore Hubs or Composite Parents". Some people report seeing something else other than the bulk in interface. It may also show up as the brand of your dongle or something prefixed with "RTL", e.g. RTL2832U or RTL2832UHIDR. Any of those options should work too. In rare cases you may receive a faulty dongle that will not show up in Zadig no matter what USB port or computer you try it on. You should ask for a replacement in this case.
  • USB 3.0 ports don't work
    Unfortunately some cheap USB 3.0 controllers are buggy and don't work with some USB 2.0 devices. Generally, USB 3.0 works fine with the RTL-SDR, but there are some controllers that will just not recognize the dongle. In this case use a USB 2.0 port instead.
  • When running install-rtlsdr.bat I get errors on the command line like “The system cannot find the file specified” and the sdrsharp folder is not downloaded
    This is because you did not unzip the files and you are trying to run install-rtlsdr.bat from within the zip file. Remember to extract the files first, before running them. 
  • When I run install-rtlsdr.bat a CMD/DOS window flashes on the screen briefly then disappears. Nothing is installed.
    There seems to be a bug or misconfiguration with some versions of Windows where batch files cannot be run. One way around this is to install the RTL-SDR drivers manually. We have instructions for this here: rtl-sdr.com/manual-installation-of-sdr. Some antivirus solutions are also overly restrictive and do not allow .bat files to be run. In this case either disable or install a better antivirus, or perform a manual driver install.
  • Reception in SDR# seems very poor/receiver is insensitive
    Make sure you have increased the RF gain slider which can be accessed by clicking on the configure button. Also, in poor reception areas using the stock antenna indoors may not be sufficient. First test with the antenna placed up high outside. In some cases with the stock antenna the connection to the antenna can become disconnected in the antenna base causing unexpectedly poor reception. In rare cases if you still cannot receive any strong signals and another radio can, then you may have received a broken dongle and should ask for a replacement.
  • SDR# gives error "Application failed to initialize properly (0xc0000135).  Click OK to terminate."
    This might mean that you do not have the correct .NET Framework installed.
  • SDR# gives error "Object reference not set to an instance of an object"
    This may mean that you do not have an audio driver properly installed on your PC, or that you do not have any output audio devices enabled. Enable them in the windows Sound Playback properties.
  • The dongle constantly disconnects from the USB port
    First test to make sure that it is not the fault of a bad USB extension cable by plugging the dongle directly into the PC. Try other USB cables if possible. If the USB connector is loose, gently pressing on the top of the USB connector on the RTL-SDR and making a small indentation can help tighten the connection. If it still disconnects often the dongle may be faulty and you should ask for a replacement.
     
  • SDR# freezes when my display goes to sleep
    This appears to be a bug with SDR# or Windows. The solution right now is to simply turn display sleep off.
  • The dongle won't connect and the LED does not illuminate on models with an LED
    The dongle is faulty and should be refunded or replaced.
  • It seems that my PC is not powerful enough to run SDR# as it uses near 100% CPU
    For graphical GUI SDR software like SDR#, at least a dual core processor is recommended. If you have a borderline decent CPU and still experience high CPU usage, try reducing the sample rate to 1 MSPS or less, reducing the FFT display resolution (or turning it off), turning off Correct IQ and reducing the filter order.
  • I used zadig but it broke my keyboard/mouse/other USB device somehow
    This is because you would have clicked the install button in Zadig after selecting the wrong device in the drop down menu. Please don't randomly click things in Zadig and be sure to read step 9 very carefully. Make sure you select the correct RTL-SDR device, (Bulk-In Interface, Interface 0) first. Zadig overwrites previous drivers.
     
    To get the old drivers back you should be able to do so in Windows device manager, right click device -> Properties -> Driver Tab -> Update Driver -> Browse my computer for driver software -> Let me pick from a list of available drivers on my computer -> Pick the old driver and then click next and follow the instructions.
  • My R860 or R820T2 RTL-SDR shows up as an R820T when I run the diagnostic tool rtl_test
    The R860, R820T2 and R820T are identical electronically except for some minor changes in the maximum IF filter widths that occurred by accident from using higher quality silicon in the R820T2. The accidentally different filters and higher quality silicon may be the reason the R820T2 has generally better performance and less manufacturing variability. Thus a R820T2 will show up as an R820T on the PC, since there is no distinction between them in the digital part of the circuit. You can confirm that you have a R820T2 by checking the markings on the chip.
  • My antivirus shows SDR# as a virus.
    This is almost 100% a false positive. SDR# is updated often and thus a new .zip file is sometimes released almost daily. Poorly designed antivirus programs will sometimes assume that any file that is not downloaded often is a virus. With SDR# being updated so often it takes a while for many people to download the new version and build up trust with the antivirus company.
  • The Mode selection buttons in SDR# are graphically glitching and I cannot click on them.
    Some users have found that this bug is caused due to selection of a "custom scaling level" or "custom sizing options" in Windows. Reset this option back to default in Windows display settings to fix the bug.
  • When closing SDR# I get an error like "An error occurred loading a configuration file: Access to the path 'C:\Program Files\SDR\s14i12qq.tmp' is denied. (C:\Program Files\SDR\SDRSharp.exe.Config) ---> System.UnauthorizedAccessException: Access to the path 'C:\Program Files\SDR\s14i12qq.tmp' is denied."
    This is usually because you have copied the SDR# files into a folder that is read only. In Windows folders located in "C:\Program Files" are usually automatically read only. To fix, install SDR# into a non read only folder that is not located in Program Files, for example "C:\SDR".
  • My dongle came with a remote control. What is it for?
    Some sellers opt to include the remote control that is used for changing TV channels. It is only useful for when the dongle is used for its original purpose - as a DVB-T HDTV receiver. The remote control has no purpose when the dongle is used as an SDR.
  • I want to watch DVB-T with my dongle, how do I do it?
    The original purpose of the dongle was for DVB-T TV, and it can still do this. But please note that the DVB-T drivers and the SDR drivers are different, and they cannot both be installed at the same time. You can download the DVB-T drivers here. We recommend using Prog-DVB as the TV software.
      
  • I have a RTL-SDR V3 and can't get the HF signals to work
    You must turn on the direct sampling mode for HF reception. Please see the V3 users guide for information on how to activate the direct sampling mode.
     
  • I get the error "rtlsdr_demod_write_reg failed with -9" on command line based software like rtl_fm, rtl_test, the bias tee software etc.
    This usually means that there is some issue with the USB port on your PC not working correctly. Try other USB ports on your PC, and confirm that the dongle operates on another PC.
     
  • I have a modern Ryzen based motherboard with USB 3.0/3.1 and no software can detect and run my RTL-SDR.
    There appears to be a LibUSB bug/incompatibility with modern motherboards like this. We have published a version of our "rtl-sdr-blog" drivers that should have a fix for this here. Replace the rtlsdr.dll file in the SDR# folder with the rtlsdr.dll file from the zip. Someone else has has also published a fixed DLL here which works for some people. Modern firmware updates to Ryzen should eliminate this problem.
     
  • I get decoding, audio and/or visual spectrum glitches when I set the PPM offset to a non-zero value.
    This can happen if you have set the sampling rate to the maximum stable rate at 2.56 MSPS. Adjusting the PPM value actually slightly modifies the sampling rate, so you may be pushing it over the stable limit. To solve this you will need to go down to a sampling rate of 2.4 MSPS.
     
  • While using rtl_eeprom, I bumped or disconnected my dongle during an EEPROM write, and now the VID and PID's are all 0000 and the dongle isn't recognized!
    We have uploaded a special version of Windows drivers with an rtl_eeprom that can be used to reset the EEPROM back to a usable state. Download it from here, and use the command "rtl_eeprom -g realtek_oem" to write back a usable EEPROM state.

If you continue to have issues please feel free to post in the troubleshooting section of our Forums.

[/expand]

Alternative Software

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.

Installing Zadig drivers

  1. Purchase an RTL-SDR dongle. The cheapest and best for most applications is the R820T/R820T2/R860 dongle. Information on purchasing one can be found here.
  1. Plug in your dongle and do not install any of the software that it came with, but ensure you let plug and play finish trying to install it. If you've already installed the software drivers it came with previously, uninstall them first.
  1. Go to zadig.akeo.ie and download Zadig.
  1. In Zadig, go to Options->List All Devices and make sure this option is checked.
  1. Select "Bulk-In, Interface (Interface 0)" from the drop down list. Note on some PCs you may see something like RTL2832UHIDIR or RTL2832U or Blog V4 instead of the bulk in interface. This is also a valid selection. Double check that USB ID shows "0BDA 2838 00" as this indicates that the dongle is selected.

    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.

  1. Make sure the box to the right of the arrow shows WinUSB. You might get a warning that the publisher cannot be verified, but just accept it by clicking on Install this driver software anyway. This will install the drivers necessary to run the dongle as a software defined radio. Note that you may need to run zadig.exe again if you move the dongle to another USB port, or want to use two or more dongles together.

zadig_warning

SDR++ Setup Guide (Tested on Windows 7, 10, 11) (Works with RTL-SDR Blog V4/V3)

If you experience problems with SDR#, SDR++ is our second choice software that we also highly recommend.

  1. Follow the Zadig guide above to install the RTL-SDR drivers via Zadig.
     
  2. Head to www.sdrpp.org and click on the button to Download the latest release.
     
  3. In the "Assets" list click on "sdrpp_windows_x64.zip"
     
     
  4. Extract the zip file onto a folder on your PC.
     
  5. (V4 USERS - V3 OPTIONAL) - Download the latest RTL-SDR Blog drivers from the GitHub releases page. Open the x64 folder in Releases.zip and copy the rtlsdr.dll file into the SDR++ folder, replacing the old one.
      
  6. In the extracted folder, double click on "sdrpp.exe" to start the software.

     
  7. In the top left find the "Source" menu, and select "RTL-SDR" from the drop down menu.

     
  8. Click on the Play button in the top bar.
     
  9. You should begin to see the spectrum and waterfall. You can tune to a new frequency with the frequency tuner in the top bar, and within the active bandwidth by clicking on the spectrum.

     
  10. Remember to set the Gain using the slider under the Source menu on the side.

     
  11. And remember to select the correct demodulation mode for the signal you are tuned to via the "Radio"  menu on the left.

     

HDSDR Setup Guide (Tested on Win XP and above) (Works with RTL-SDR Blog V4/V3)

  1. Follow the Zadig guide above to install the RTL-SDR drivers via Zadig.
     
  2. Download HDSDR from http://hdsdr.de/, using the download button at the bottom of the page.

  3. Use the installer you just downloaded to install HDSDR.
  1. Go to https://github.com/hayguen/ExtIO_RTL/releases and download the latest 2023 version of the ExtIO zip file. Open the Zip File.
  1. Copy the ExtIO_RTL.dll file into the HDSDR install folder which is by default set to C:\Program Files (x86)\HDSDR.
  1. Open HDSDR. You might be asked to select a .dll file. If it asks choose the ExtIO_RTLU.dll file you just copied over and then click Open. It is okay if you do not see this screen as long as you have copied the ExtIO_RTL.dll file over properly in the last step.

image017

  1. Choose your output sound card by clicking on the Soundcard button  in the bottom left corner, or alternatively by pressing F5. The only important setting here is the “RX Output (to Speaker)” setting which you should set to your speakers, or desired audio piping software.

image019

  1. Click on the Bandwidth button  or alternatively press F6. Choose an output Sampling Rate of 48000 Hz for general NFM signals, or choose 192000 for wideband FM signals, like broadcast FM.

image021

  1. Press Start or alternatively press F2. This will start the SDR.
  2. To set the RTL-SDR sample rate, gain and frequency correction click on the green "SDR-Device" button.

  3. For the V4 make sure that "IF AGC" is NOT selected otherwise you may experience problems.
     
  4. To tune to a station, change the Local Oscillator frequency to a frequency near the frequency you are interested in. Then tune to the desired frequency either by clicking in the RF spectrum, or using the Tune numbers.

image024

  1. You can zoom in and out of the spectrum by using the Zoom slider which is to the left of the word zoom.

image025

  1. The mode can be altered by clicking on the mode buttons.

image026

  1. After clicking on the FM mode button, the FM bandwidth can be manually modified with the FM-BW slider.

image027

  1. To listen to a typical wideband broadcast FM station, you will need to change the audio sampling rate to 192000 Hz. Do this by clicking on the Bandwidth button or alternatively by pressing F6 and then selecting the output sampling rate as 192000 Hz.

Alternatively for HDSDR you can also use extio_rtl_tcp which will allow you to connect to an rtl_tcp server.

CubicSDR Set Up Guide (Tested on XP and above) (Works with RTL-SDR Blog V4/V3)

  1. Follow the Zadig guide above to install the RTL-SDR drivers via Zadig
     
  2. Go to cubicsdr.com and go to the downloads page. Find the download link for the latest version. Download the version suitable for your particular version of Windows. 
  1. Run the CubicSDR installer.
     
  2. (V4 USERS - V3 OPTIONAL) - Download the latest RTL-SDR Blog drivers from the GitHub releases page. Open the x64 folder in Releases.zip and copy the rtlsdr.dll file into the Program Files\CubicSDR folder, replacing the old one.
     
  3. Plug in your dongle and run CubicSDR from your start menu.
     
  4. You will be greeted with a SDR Devices menu. Choose your RTL-SDR from the menu and click on the "Use Selected" button.
     
  5. CubicSDR will automatically start.
     
  6. Click anywhere on the waterfall to start listening.

Other SDR Windows Software Compatible with RTL-SDR

See the Software Guide for a big list of other compatible RTL-SDR software.

Getting Started on Linux

These are the instructions for installing our RTL-SDR Blog drivers. Type them into the Linux terminal one by one.

First, if you already have some other drivers installed, please purge them from your system using the following commands:

sudo apt purge ^librtlsdr
sudo rm -rvf /usr/lib/librtlsdr* /usr/include/rtl-sdr* /usr/local/lib/librtlsdr* /usr/local/include/rtl-sdr* /usr/local/include/rtl_* /usr/local/bin/rtl_*

Next you can install the RTL-SDR Blog drivers using the following.

sudo apt-get install libusb-1.0-0-dev git cmake pkg-config build-essential
git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

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.

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf

Now you can restart your device. After it boots up again run "rtl_test" at the terminal with the RTL-SDR plugged in. It should start running.

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 http://gqrx.dk/download. We can also recommend the multi-platform CubicSDR which can be downloaded from http://www.cubicsdr.com.

Raspberry Pi IMPORTANT NOTE

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.

Getting Started on Mac OSX

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.

SDR++ is highly recommended for use on OSX. They now have support for both Intel an ARM Mac CPUs. Simply download the latest zip for your platform on their nightly Releases page.

GQRX is also an excellent SDR program that works well on OSX. It can be downloaded via Macports and/or Homebrew, or installed directly via the dmg on their Releases page

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.

CubicSDR is another option, but it has not been updated in a while. So it may not support the latest OS versions, or the newer ARM based Macs.


For a comprehensive book about the RTL-SDR you may be interested in our book available on Amazon. Available in physical and eBook formats.

The Hobbyist's Guide to the RTL-SDR: Really Cheap Software Defined radio.

About RTL-SDR

What is RTL-SDR?

RTL-SDR is a very cheap ~$30 USB dongle that can be used as a computer based radio scanner for receiving live radio signals in your area (no internet required). Depending on the particular model it could receive frequencies from 500 kHz up to 1.75 GHz. Most software for the RTL-SDR is also community developed, and provided free of charge. Note that RTL-SDRs cannot transmit.

The origins of RTL-SDR stem from mass produced DVB-T TV tuner dongles that were based on the RTL2832U chipset. With the combined efforts of Antti Palosaari, Eric Fry and Osmocom (in particular Steve Markgraf) it was found that the raw I/Q data on the RTL2832U chipset could be accessed directly, which allowed the DVB-T TV tuner to be converted into a wideband software defined radio via a custom software driver developed by Steve Markgraf. If you've ever enjoyed the RTL-SDR project please consider donating to Osmocom via Open Collective as they are the ones who developed the drivers and brought RTL-SDR to life.

Over the years since its discovery RTL-SDR has become extremely popular and has democratized access to the radio spectrum. Now anyone including hobbyists on a budget can access the radio spectrum. It's worth noting that this sort of SDR capability would have cost hundreds or even thousands of dollars just a few years ago. The RTL-SDR is also sometimes referred to as RTL2832U, DVB-T SDR, DVB-T dongle, RTL dongle, or the "cheap software defined radio".

There are now many other software defined radios better than the RTL-SDR, but they all come at a higher price. Currently we think that the Airspy ($169) and SDRPlay ($99) SDR's are the best low cost RX only SDR's. There is also the HackRF ($300USD) which can both transmit and receive.

What is Software Defined Radio?

Radio components such as modulators, demodulators and tuners are traditionally implemented in analogue hardware components. The advent of modern computing and analogue to digital converters allows most of these traditionally hardware based components to be implemented in software instead. Hence, the term software defined radio. This enables easy signal processing and thus cheap wide band scanner radios to be produced.

What are some RTL-SDR Radio Scanner Applications?

The RTL-SDR can be used as a wide band radio scanner. Applications include:

Furthermore, with an upconverter or V3/V4 RTL-SDR dongle to receive HF signals the applications are expanded to:

  • Listening to amateur radio hams on SSB with LSB/USB modulation.
  • Decoding digital amateur radio ham communications such as CW/PSK/RTTY/SSTV.
  • Receiving HF weatherfax.
  • Receiving digital radio mondiale shortwave radio (DRM).
  • Listening to international shortwave radio.
  • Looking for RADAR signals like over the horizon (OTH) radar, and HAARP signals.

Note that not all the applications listed may be legal in your country. Please be responsible.

What is the RTL-SDR frequency range?

This is dependent on the particular tuner variant used in the dongle, and the particular implementation. Some dongles, like our RTL-SDR Blog V3 and V4 also have hardware enhancements that enable reception below 24 MHz.

Tuner Frequency range
Elonics E4000 52 – 2200 MHz with a gap from 1100 MHz to 1250 MHz (varies)
Rafael Micro R820T/2/R860 24 – 1766 MHz (Can be improved to ~13 - 1864 MHz with experimental drivers)
Rafael Micro R828D RTL-SDR Blog V4 Model: 24 - 1766 MHz. Other models may have a cutoff around 1 GHz.
Fitipower FC0013 22 – 1100 MHz
Fitipower FC0012 22 – 948.6 MHz
FCI FC2580 146 – 308 MHz and 438 – 924 MHz (gap in between)

Table Source: Osmocom

As you can see from the table, the Elonics E4000 and Rafael Micro R820T/2/R860 and R828D dongles have the greatest frequency range.

What is the RTL-SDRs sample rate?

The maximum sample rate is 3.2 MS/s (mega samples per second). However, the RTL-SDR is unstable at this rate and may drop samples. The maximum sample rate that does not drop samples is 2.56 MS/s, however some people have had luck with 2.8MS/s and 3.2 MS/s working well on some USB 3.0 ports.

Dropped samples are okay if you are just visualizing the spectrum, but will cause problems if you want to demodulate/decode signals.

What is the RTL-SDR's ADC resolution?

The native resolution is 8 bits, but the Effective Number of Bits (ENOB) is estimated at ~7. Decimation in software may raise this value.

What is the RTL-SDR input impedance?

Since these dongles are intended for TV, most dongles will have an input impedance of approximately 75 Ohms, although it is unlikely to be exactly 75 Ohms over the entire frequency range.

Remember that the mismatch loss when using 50 Ohm cabling on a 75 Ohm input will be very minimal at less than 0.177 dB.

The 75 Ohm impedance for the R820T can be checked on the datasheet which can be downloaded here.

However, newer dongles that come with SMA connectors will be 50 Ohms.

What are the minimum PC requirements?

Generally, at least a dual core processor of some sort will be required for most general GUI based software defined radio software. Command line tools and ADS-B decoders may work with less powerful hardware. Single board PCs like the Raspberry Pi 3, and Android mobile devices can also run several applications.

What dongle should I buy?

We recommend purchasing either our RTL-SDR Blog V3 or RTL-SDR Blog V4 which are R860 and R8282D based dongles respectively. They can be bought for around $30USD.

The Elonics E4000 used to be the most common, but Elonics has closed and ceased chip production, making the E4000 rarer and much more expensive these days. Note that there seems to be a misconception that the E4000 is better than the R820T2/R860 because it costs more - this is not the case, the increased cost is only due to its rarity.

The R820T2 is generally regarded as having better performance and sensitivity for most interesting frequencies compared to the E4000. For ADS-B, the R820T2/R860/R828D is much more sensitive at 1090 MHz. There are now also the R820T2 dongles, which offer increased sensitivity over the R820T. For these reasons, the R820T2/R860 or R828D is currently the recommended dongle, unless you need the higher frequencies that the E4000 provides and are willing to pay a premium price.

Be careful when buying a dongle as certain sellers tend to misrepresent their devices (knowingly or unknowingly) as having compatible tuners, when in fact they may send out a device with an incompatible tuner. Also be wary when buying E4000 dongles from auction sites as there are many dodgy sellers incorrectly advertising R820T2 dongles as the rare E4000.

See our RTL-SDR store page for more information about where to obtain dongles from reputable sources. We now sell our own "RTL-SDR Blog V3" and "RTL-SDR Blog V4" dongles which come with several key improvements for the SDR crowd and we recommend these for users who want to mainly use their dongle for SDR.

What is the difference between the R820T/2 and R860?

There is no difference. The R860 is just a name change for Rafael Micro's accounting purposes as presumably they wish to better track to which customers their chips are going.

I already have a USB TV Tuner, is it Compatible?

If your TV tuner contains an RTL2832U chip it is probably compatible. If it does not contain this chip, it is not compatible. A list (somewhat out of date) on compatible and incompatible tuners can be found on this reddit wiki page.

RTL-SDRs used to cost $10, why are they now double or triple the price?

The $10 dongles were the very basic TV dongles that had many problems when used for SDR purposes. Even so, our SDR specific improved dongles used to only cost $20, so why are they now $30, and some brands even costlier?

Over the years inflation has seen the price of components and labor in China slowly rise. But from 2021 onwards the pandemic and resulting supply chain crisis has resulted in very significant jumps in component and shipping costs.

We also saw the addition of new Chinese import tariffs which is a significant cost for US customers. Internet sales tax for EU countries has been made compulsory to pre-pay, and EU compliance costs have risen sharply because of these requirements.

In addition various overhead costs like marketplace selling fees and insurance costs have also risen sharply. 

Who owns RTL-SDR?

No person or company owns RTL-SDR and all it's supported software and hardware in it's entirety. However, it was the combined efforts of Antti Palosaari, Eric Fry and Osmocom (in particular Steve Markgraf) who first discovered that certain TV dongles could be used for SDR. Osmocom in particular developed the first RTL-SDR driver which was released as open source.

Since then RTL-SDR has become a community based phenomenon. Certain companies such as us at RTL-SDR Blog have taken it upon ourselves to produce our own flavor of RTL-SDR dongles that perform better than the standard TV dongle. But none of it is possible without the wider community development behind all the free software.

People Behind RTL-SDR:

Original pioneering discoverers: Antti Palosaari, Eric Fry and Osmocom. In particular Steve Markgraf from Osmocom who developed the first driver.
Hardware Sellers: Chinese factories producing and selling generic TV dongles. Sellers of RTL-SDRs improved for SDR use like RTL-SDR Blog.
Community Software/Hardware Devs: Anyone who has created software for the RTL-SDR, or has discovered and documented a hardware hack for the RTL-SDR.
Community Bloggers: RTL-SDR Blog, and other bloggers/content creators who write and popularize RTL-SDR applications.
Wider Community: Anyone using RTL-SDRs.

What is RTL-SDR Blog?

RTL-SDR.com (RTL-SDR Blog) started as a hobby where we could upload our RTL-SDR tutorials and to curate all other RTL-SDR related content onto a single blog. Since its inception we have continued to expand and have written many tutorials, written a guide book and started the signal identification wiki.

A few years ago we decided to create our own RTL-SDR dongle hardware that has significant improvements that benefit SDR users. Since then we've continued to improve our RTL-SDR hardware and are now at the V3 and V4 dongle.

Comparisons with other common Wideband Commercial Software Defined Radios

SDR Tune Low (MHz) Tune Max (MHz) RX Bandwidth (MHz) ADC Resolution (Bits) Transmit?(Yes/No) Price ($USD)
RTL-SDR (R820T/R860/R828D) 24  1766 3.2 / 2.56 Stable 8 No ~30
Funcube Pro+ 0.15
410
260
2050
0.192 16 No ~200
Airspy 24 1800 10 12 No 199
SDRPlay 0.1 2000 8 12 No 149
HackRF 30 6000 20 8 Yes 299
BladeRF 300 3800 40 12 Yes 400 & 650
USRP 1 DC 6000 64 12 Yes 700

For those who just want to receive a wide range of signals, we recommend the Airspy or SDRPlay as an upgrade to the RTL-SDR. If you are mainly interested in narrowband signals the Funcube Dongle Pro+ may be worth considering.

For a big list of more software defined radios see our roundup here https://www.rtl-sdr.com/roundup-software-defined-radios/.

RTL-SDR Schematics

No official schematic is available, but GGToshi has created his own reverse engineered schematic which is available at http://ggtoshi.at.webry.info/201406/article_6.html. Some application example schematics are also available in the R820T data sheet (see below).

Datasheets

The RTL2832U datasheet was under NDA, but has been leaked here. The R820T tuner datasheet is available and can be downloaded here.

The Register Description datasheet can be downloaded here.

Useful Links

http://sdr.osmocom.org/trac/wiki/rtl-sdr - Official RTL-SDR Osmocom website

http://www.reddit.com/r/RTLSDR - Reddit RTL-SDR forum

www.rtlsdr.org - RTL-SDR community Wiki (not updated in a while)

http://www.dxzone.com/ - A good ham related database useful for research

http://www.dangerousprototypes.com - A blog about open source hardware projects that often has SDR related posts.

http://www.hackaday.com - A blog about DIY hardware that also often has SDR related posts.

http://radioforeveryone.com/ - Formerly known as "SDR4Mariners". Another blog about RTL-SDR and radio projects.

http://labyrinth13.com/ - Strange Beacons. Radio user who records and makes videos about several interesting signals he finds. Often uses an RTL-SDR.

https://www.elecrow.com/ - Full Raspberry Pi Kit. Probably useful for an RTL-SDR carry kit.


For a comprehensive book about the RTL-SDR you may be interested in our eBook available on Amazon.

The Hobbyist's Guide to the RTL-SDR: Really Cheap Software Defined radio.