DIY RTL SDR: Building a 100kHz-1.7GHz Software Defined Radio
Using a common DVB-T USB stick (w/ RTL2832U chip) is clearly the cheapest way to get into the world of Software Defined Radios. But there is a huge drawback: RX below ~50MHz is not possible. So if you are looking for a solution which covers HF frequencies, a DVB-T stick is not an option. Browsing through eBay I found SDR’s which cover a range from 100kHz up to 1.7GHz. Those particular SDR’s are available either fully assembled (~ 50 USD) or as an assembly kit (~ 25 USD). To keep my hand in soldering I decided to order the assembly kit which took ~ 2 weeks to arrive from China. If you consider buying one of those kits make sure you got a proper soldering tip: Two 0.1mm wires need to be soldered to the RTL2832U chip.
Running the SDR – Windows & Linux
It doesn’t take much for MS Windows users to get this SDR to work: First of all, download Zadig and replace the driver (“Options” – “List All Devices”). After a reboot, download and install SDR# or any other software package you are comfortable with (HDSDR, etc.). Set the sampling rate to 2048 and choose “Direct sampling Q branch” when listening to HF frequencies. For VHF/UHF frequencies the standard setting “Quadrature sampling” is perfectly fine.
Linux users may test the SDR by installing the Osmocom RTL SDR package. After setting up all necessary packages, type the following command into the CLI:
root@debian:~# rtl_test -t
The output should look like this:
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.
To listen to any FM radio station, use the following command (XXX.XM represents the frequency in MHz, eg. 104.7M):
root@debian:~# rtl_fm -f XXX.XM -s 200000 -r 48000 - | aplay -r 48k -f S16_LE
Another option featuring a nice GUI would be CubicSDR. It probably took me longer to install all necessary packages than assembling the SDR itself but it is definitely worth it: