Start |
You are here: Start » SDR

HA6QZ: Rasberry Pi as
Remote Software-defined radio (SDR) Server
for 100kHz ... 1.5GHz

Software-defined radio (SDR) is a radio communication system where hardware components are implemented (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) by means of software on a personal computer or embedded system.

You can get a cheap DVB-T usb dongle and connect it to the Raspberry Pi which act as the server, operating the DVB-T usb dongle and functioning as the SDR Remote Internet Server.

For the Rasberry Pi I am using the software tools from RTL-SDR: http://sdr.osmocom.org/trac/wiki/rtl-sdr

DVB-T dongles must based on the Realtek RTL2832U chipset since the chip allows transferring the raw I/Q samples to the host, which is officially used for DAB/DAB+/FM demodulation.

If you want to use it for hamradio / amateur radio you can use a special RTL SDR which covers 100KHz to 1.5GHz.
It contains the tuner itself and converter for HF bands plus a Low Noise Amplifier for HF.
My friend - Jani, HG8LFK - designed and built this special RTL SDR and that is what I am using for my Raspberry Pi.

You can order it from here: http://janielectronics.com/index.php?route=product/product&product_id=94

Let`s start the project... go to the SDR Configuration tab

DVB-T usb dongle

On the Raspberry Pi (latest Wheezy) run the followings:

sudo apt-get install pkg-config
sudo apt-get install libusb-1.0
sudo apt-get install cmake

sudo apt-get install git

git clone git://git.osmocom.org/rtl-sdr.git

cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig

and now connect your DVB-T dongle and run the following (of course enter your own Raspberry Pi`s IP address) :

rtl_tcp -a 192.168.0.22

and now your Remote Software-defined radio (SDR) Server up and running !!!

Start a client application on your computer anywhere in the world, I prefer to use SDRSharp and select RTL-SDR/TCP and enter the IP address of
the Remote Raspberry Pi (port by defult:1234) and click Play. (Of course you need to make a port foward for the used port in your home router)

Now you can listen anything which can be heard by the Remote SDR Raspberry Pi Server from anywhere in the world !!!

This solution is useful for "Remote QTH" where you can connect it to your large array of yagis or HF beam or long wire antennas and listen in from anywhere over the Internet.

I have created a video record of the Raspberry Pi configuration and using the SDRSharp application.
Watch it in High Definition to see the linux commands.

Good luck with it !


Raspberry PI ADS-B
(1090MHz)
Aircraft Monitoring Network Server

If you have already configured your Raspberry Pi for SDR (see my article Remote Software-defined radio) then you can also use it for a flight traffic monitoring device.

If you have already configured your Raspberry Pi for SDR (see my article Remote Software-defined radio) then you can also use it for a flight traffic monitoring device.
To get a good reception on 1090MHz it is better to build an antenna tuned on this band.
Note:
On this high frequency you will have relatively high loss on any type of coaxial cable but if you add WIFI adapter to your Raspberry Pi then you can place it up on the roof near the ADS-B antenna, so there won`t be needed long coaxial cable, much less signal loss.

Raspberry Pi configuration is the following (once the SDR is configured):

git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make

Now let`s try, when you type "./dump1090 --interactive", if you've got everything installed, compiled and connected correctly then you should see a screen displaying aircraft being received by your Raspberry Pi.

./dump1090 --interactive

Now let`s make the Raspberry Pi act as a network server supplying flight traffic data captured by the SDR to your remote host, which can be for example a Plane Plotter software running on a Windows computer anywhere in the world.

We are telling now the Raspberry Pi to start the ADS-B in network mode.

./dump1090 --interactive --net

You should see the same display as before on the Raspberry Pi screen, but the extra command switches should enable a network server that will allow the Plane Plotte software running on your PC to connect to the Raspberry Pi.

To run the command so that it continues to work after you logout from the Raspberry Pi, you can run a command such as:

./dump1090 --quiet --net &

Next, you need to configure Plane Plotter to talk to the Raspberry Pi.

1) Start Plane Plotter on your PC.

2) Select Options => Mode-S Receiver => RTL dongle RPi dump1090 => Setup TCP/IP client.

3) In the window that appears, type in the IP address of your RPi on your local network, followed by ":30005". So in my case "192.168.0.22:30005". Then click OK.

4) Select Options => I/O settings.

5) In the dialog that appears check the Input data, Mode-S/ADS-B box, and select "RTL > RPi+Dump1090" from the list window to the right.

6) Press the green circle on the toolbar to start Plane Plotter monitoring. The planes that are appearing on the Raspberry Pi screen should now start to appear on your Plane Plotter screen.

See my screenshot showing the locally captured aircrafts in my area, near Bern Airport in Switzerland.

For example flight HB-AER is an airplane of Skywork Airlines.


HB9CZV: Dongle Tests with Android

Tests of the dongle and the antenna can be made by means of an Android phone or tablet:
Apps: SDR Touch, SDR Touch Key, RTL2832U driver

My device: Nexus 7 tablet (you can use any Android device)
My extras: Antenna cable for BNC connectors

Option:
Server App for Android: VMLite VNC Server (for world-wide remote access)

My present dongles:
NooElec R820D SDR & DVB-T (UHF/VHF only)


The special RTL SDR

The special RTL SDR which covers 100KHz to 1.5GHz from http://janielectronics.com/index.php?route=product/product&product_id=94
For lower frequencies (refer to picture):
1 Use antenna connection for lower frequencies
2 Switch to the according antenna connection
3 Add 100 MHz (eg. 114.200 MHz if you want to hear 14.200 MHz)


Start SDR Server

Open Terminal and login
Enter: rtl_tcp -a 192.168.1.110&

192.168.1.110
>>> example of an internal IP-Address)
& >>> add '&' if you want to run the server after the terminal windows has been closed


Start SDR Sharp and configure Hostname (examles: 192.168.1.110 or hb9czv.dyndns.org).
Update Settings and close the setting window.
Play

Raspy sends raw data to the Windows SDR#.
There is currently not enough bandwith to access the SDR server remotely via Internet (VNC).