So, you've got a Raspberry Pi (v2 or newer) and a NooElec NESDR SMArt and you would like to get them working together. By the time you have followed the steps in this post, you will be listening to your favorite FM radio station.
First let us take a moment to discuss the RasPi and radio software. The RasPi has plenty of power to run command line utilities to control the SDR dongle and play the audio, but doesn't really have the necessary computing power to run a full GUI-based SDR application. But this need not limit you to command line usage only.
I will also show you how to setup your RasPi to act as a server, feeding your app data, to a conventional PC over the network. You then run the GUI-based software on that PC. The software on your PC acts as the frontend to a radio receiver on the backend.
For this example I am going to use the RASPBIAN STRETCH LITE distro. (Minimal image based on Debian Stretch) which does not come with a GUI. I chose that distro because chances are (after going through this tutorial) you will probably end up using your RasPi as a server for another application on another computer. This way you won't be burdening the RasPi with the GUI. This means you will probably also access and administer your RasPi via SSH.
The first step to installing any software on just about any Linux computer is to update the operating system software and get the latest libraries.
Since we are talking about the RasPi, this is the code you need to type
sudo apt-get update sudo apt-get upgrade
Answer Yes to any questions asking you if it should make changes. What these steps are doing is updating your computer.
With the update & upgrade completed, your RasPi is up to date and knows where to find the latest versions of the packages available for your use. The package that we are interested in is
sudo apt-get install rtl-sdr
When that package is installed, it installs some drivers that conflict with the drivers already installed on the RasPi. What is needed is to remove the original drivers so the new drivers can be utilized. You do this by "blacklisting" the old drivers, so they don't load.
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
Then do a
With things rebooted, it is time to test the installation.
Then play a radio station. Change the frequency to a station in your area.
rtl_fm -f 93.3e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48000 -f S16_LE
Now that you have confirmed that the turner is capable of receiving radio signals, let's shut it down for now with a ctrl-c.
The command to get the turner working to receive remote direction is simple enough. The only tricky part is knowing your proper IP address.
rtl_tcp -a 192.168.1.45
If you are going to be running a Windows box, you probably should start with SDR# (SDRSharp).
If you are on Windows 10, you may need to install Microsoft Visual C++ Redistributable 2012 64-bit. This will fix things if you get an error like "The type initializer for 'PortAudioSharp.PortAudioAPI' threw an exception." when attempting to run SDRSharp.
Fire up SDR# and it will be set to use a local AirSpy dongle. Change it to RTL-SDR (tcp). Then click on the settings cog and enter the IP address of your RasPi. Then tune in to your favorite FM radio station. You should hear everything just fine.
From here you should start to experiment and join the fabulous SDR community.