What is OpenWebRX?

OpenWebRX is a software application specifically for listening to On-Line SDRs using a web browser. It is a web based server and interface for remotely accessing RTL-SDRs and SDRPlay's. The software was written by Andras Retzler, an open source enthusiast, engineer, and radio amateur. He wrote OpenWebRX for his Bachelor's degree in electronic engineering for his thesis. Andras published his thesis for all to read. You can download it here. It's very good!  

Here are some selected YouTube Videos I recommend that you watch on OpenWebSDR.

The first time I saw this application, I was really impressed. So I contacted Andras to get me started using my RTL-SDR dongle and my NooElec Ham-It-Up converter to serve 40 meters (or any band I configure) over the internet using a RaspBerry Pi 3. I was able to come up with the following webpage by following Andras's instructions:

Click on image to enlarge

Sadly, I have decided to discontinue serving my RTL-SDR on OpenWebRX. It was a great run for about 4 years. I have moved the RTL-SDR to my WebSDR site so I can serve up two to three bands simultaneously. Trying to minimize the number of Raspberry PI's I have running all at the same time and redeploy them for other projects.

There are so many other SDR's available from SDR.hu. There are well over 90 available SDR's! Unfortunately, Andras has finished all of his development work on OpenWebRX. He worked on it for over 6 years and is pursuing other projects.

For now, from Andras's blogsite:

1) OpenWebRX will not be further developed, but as promised, it will remain on GitHub to serve future amateur radio experiments. There are some known limitations of the last version though (including potentially reduced security as its dependency, Python 2.7 will be obsolete soon).

2) The SDR.hu website and CSDR project will still be maintained.

Andras has a lot of success with this project. His code was used at ~480 receivers on 6 continents.His CSDR tool was used at NASA during a Mars landing attempt.He had the opportunity to give some conference talks and publish some papers on his work on OpenWebRX and CSDR. Can only say 'Thanks' to Andras for sharing hiw work with the SDR and ham communities.

If you are interested in sharing your SDR receiver so that others can listen in from all over the world, you can go to OpenWebRX to get the instructions. I also listed them below. They are from Andras's blog page. This is what I followed to set up my server on my Raspberry Pi. Linux commands are in Blue.

#install dependencies

sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev nmap

#nmap itself is not used by OpenWebRX at all, but we need to install it because the ncat tool is packaged with it.

#ncat is a netcat alternative which is used by OpenWebRX for internally distributing I/Q data.

#  and also solves the incompatibility problems among netcat versions.

#Fetch and build rtl-sdr, skip if already done subdirectories will be created under the current directory).

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

cd rtl-sdr/

mkdir build

cd build



sudo make install

sudo ldconfig

cd ../..

#Disable the DVB-T driver, which would prevent the rtl_sdr tool from accessing the stick

#(if you want to use it for DVB-T reception later, you should undo this change):

sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'

sudo rmmod dvb_usb_rtl28xxu

# disable that kernel module for the current session

#Download OpenWebRX and libcsdr (subdirectories will be created under the current directory).

git clone https://github.com/simonyiszk/openwebrx.git

git clone https://github.com/simonyiszk/csdr.git

#Compile libcsdr (which is a dependency of OpenWebRX)

cd csdr


sudo make install

#Edit OpenWebRX config or leave defaults

nano ../openwebrx/config_webrx.py

#Run OpenWebRX

cd ../openwebrx


There is a configuration file config_webrx.py that needs to be updated so that you can craft the page to your requirements. It took me a while to figure things out but once I did, everthing turned out very nice. Here are excerpts from my config_webrx.py file that I hope you find helpful if you set up your own server.

Web Server and Web Gui Configuration:

# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/simonyiszk/openwebrx/wiki

# ==== Server settings ====
server_hostname="n8mdp.dyndns.org" # If this contains an incorrect value, the web UI may freeze on load (it can't open websocket)

# ==== Web GUI configuration ====
receiver_location="Cleveland, OH, US"
receiver_device="RTL-SDR + Ham It Up"
Receiver is operated by: <a href="mailto:%[RX_ADMIN]">%[RX_ADMIN]</a><br/>
Device: %[RX_DEVICE]<br />
Antenna: %[RX_ANT]<br />
Website: <a href="http://n8mdp.dyndns.org:8073" target="_blank">http://n8mdp.dyndns.org:8073</a>

Because I was using the NooElec Ham-It-Up upconverter and I wanted to display the frequency at 80 meters, I had to configure a different center frequency and what center frequency would actually be displayed. Why is this. The Ham-it-Up uses a 125MHz LO mixer to upconvert to a frequency that the RTL-SDR dongle receives on. The RTL-SDT frequency range is 25MHz-1750MHz. In order to get the 80 meter 3 MHz signal received, the upconverter mixes the 3 MHz signal with the 125 MHz LO such that the 80 meter signal is now received up at 128 MHz. In order for me to serve the SSB portion of the 80 meter band (3.75 - 4.00 MHz), I set the center frequency to 128,880,000 Hz. That allows me to cover the majority of the SSB portion of the band.

For the 3.75 - 4.00 MHz to show up on the spectrum in OpenWebRX, I set the 'show center frequency' to 3,880,000 Hz. This allows the software to easily translate the signals received mixed up by 125 Mhz to be shown from 3.75 - 4.00 MHz. This is where Andras did a really great job to handle many different types of SDRs. Show below are my DSP/RX settings:

# ==== DSP/RX settings ====
fft_voverlap_factor=0.3 #If it is above 0, multiple FFTs will be used for creating a line on the diagram.
samp_rate = 250000
center_freq = 128880000
shown_center_freq = 3880000
rf_gain = 5 #in dB. For an RTL-SDR, rf_gain=0 will set the tuner to auto gain mode, else it will be in manual gain mode.
ppm = 0

The end result is the webpage that serves my SDR for the 80 meter band that I chose.

Untitled Document

SDR Topics




SDR Space





Global Tuners

Listen to N8MDP's Live WebSDR

Heard of WebSDR? Listen to my 40 and 20 meter SDR using the WebSDR tool. Click on the image below:

Latest Propogation Data


Latest DX Spots








Back to top of page

Untitled Document
|   Home   |    SSTV   |    DSSTV   |    SDR   |    Aviation   |    Projects   |    Weather   |    Logbook    |    Contact   |

© 2024 , Jonathan Tucker N8MDP. All Rights Reserved.
Image by macrovector_official on Freepik