Tagged: rtl2832u

New SDR# Plugin Manager and Colorizer Available

SDR# plugin developer Eddie Mac has again released a new plugin for SDR# called "SDR# Plugin Manager". This plugin is designed to make it easy to install, remove and re-order other SDR# plugins. Also included is a repository browser. This is a repository of many known SDR# plugin links which can be used to download and install a plugin with a simple click of a button.

Eddie has also recently released another plugin called "Spectrum Colorizer". This simply changes the background color of the spectrum analyzer window.

SDRSharp Plugin Manager
SDRSharp Plugin Manager
SDR# Plugin Repository
SDR# Plugin Repository

If you are interested in programming your own plugins, Eddie also offers the following advice which he posted in our forum:

A good place to get started programming plugins is to download the express version of .NET (free for personal use) and install at least the C# pack. Then go to the Airspy website and download Youssef's zipped examples on coding plugins. 
While they are not documented you can use them as an example of the steps involved.

If you know a bit of c++ that is great it should be a good spring board to learn C#. In fact, you can even program simple plugins (like my tuner knob) in Visual Basic. Both C# and VB.NET compile to Common Language Run time anyway so to SDR# it's not much difference. The only caveat is that if you want to create any plugins to do processing on signals of any sort you MUST use C# as it supports the data types SDR# uses and VB does not. As well, VB does not allow unsafe code which C# can be instructed to allow. 

Another great resource for learning to program plugins for SDR# is GitHUb and another great place is Andrej Mohar's website where he actually has a tutorial and an good explanation of the plugin coding process. You can find it here http://www.andrej-mohar.com/plugin-basics-for-sdr 

If you would like an example of a "stencil" as you call it - a template, I would be happy to share a template in both VB and C# for you to use to start to learn. However, I would suggest begginning with C# from the start.

The basics of it is that the "plugin" is actually in interface that is called while SDR# loads. The "Plugins.xml" file tells SDR# what your dll is called and what the name of the plugin is. Once it has initialized your plugin, SDR# sharp asks the plugin for a "panel" control which contains the controls for your plugin. In also returns to you a "control" object interface that allows you to receive notifications of program value changes or to set program values. There are more complex things you can do but the basics are simple.

SDRSharp Users Guide

This is an excerpt from our book on RTL-SDR which we've decided to post given that many new users struggle to understand all the settings in SDR#.

SDR# is currently the most popular SDR program used with the RTL-SDR. It's easy to set up and use. To install SDR#, go through our Quickstart Guide. Below we explain some of the settings and displays in SDR#.

Upon opening SDR# you'll be greeted with the screen shown below. Here we have highlighted the main parts of SDR#

After opening SDR# for the first time, we suggest that you immediately remember to perform the following steps (if you don’t know what some of these steps are, continue reading further below for more information):

  1. Increase the RF gain from zero to a higher value in the configure menu.
  2. Reduce the range slider on the right of the SDR# window to about -70 (for RTL-SDR dongles).
  3. Enable the “Correct IQ” setting to remove the center spike if using an R820T/R820T2, or enable “Offset Tuning” in the configure menu if using an E4000/FC0012/13.
  4. Turn off the “Snap to grid” setting, or adjust the PPM offset accordingly.
  5. Set the 'Mode' to the correct setting for the signal that you are listing to.

Continue reading

Reading Household Wireless Utility Meters with an RTL-SDR and Plotting the Data in Home Automation Software

Over on YouTube Debashish Sahu has uploaded a video showing how he uses an RTL-SDR to capture and decode consumption data from his home electric/gas/water utility meters. He uses the rtl_amr software which already supports a wide range of meters such as Debashish's gas meter. Later in the video he shows a Python script that he's written which continuously grabs the data from rtl_amr, and passes it into the Home Assistant software using JSON. Then in Home Assistant the data is graphed, and he is able to determine points of interest, such as when appliances turned on or off.

Using RTL-SDR to read values from wireless electric/gas/water meters

An Enhanced Version of Freqshow for Raspberry Pi’s with Touch Screens

The Freqshow software is an RTL-SDR compatible tool for Raspberry Pi devices that can render live spectrum and waterfall displays. It is designed to run on portable touchscreens that plug into the Raspberry Pi. We've posted about freqshow a few times in the past.

Recently Dan Stixrud has created an enhanced version of Freqshow. Over on the his post on the Adafruit forums, Dan explains the improvements as follows:

The additional features are many. Additional features include: Full resolution zooming, I and Q Swap, 9 different pre FFT windowing functions to choose from. Center frequency offset or shift. PPM correction for the RTL2832. FFT averaging or FFT peaking. Easy frequency up and down from main screen. Easy Scale adjustment from main screen.

On YouTube he's also posted a video that demonstrates the software in action when running on an Adafruit 2.8" and Pi Foundation 7" TFT capacitive touch screen. Dan uses the software as a panadapter for his ham radio.

RTL_TCP SDR: iOS Software Defined Radio App with Spectrum Display

In the post a few days ago about the newly released "SDR Receiver" app for iOS, we briefly mentioned that another iOS app called "RTL_TCP SDR" has just been released out of beta and put onto the Apple store as well.

"RTL_TCP SDR" is a little different to "SDR Receiver" because it contains a full spectrum analyzer and waterfall display, whereas "SDR Receiver" only allows you to listen via presets or manual tuning. Both apps can not access the RTL-SDR directly on the iOS device due to Apple limitations. An external server on a Raspberry Pi or PC running rtl_tcp is required. Programmer HotPaw writes about his App:

An RTL-SDR Software Defined Radio receiver for iOS devices (requires an external rtl_tcp server). Listen to VHF AM and FM radio signals. View a waterfall of the RF spectrum. Connect, via the rtl_tcp network protocol, to a networked RTL-SDR USB peripheral. 

iOS devices do not currently support the direct connection of USB devices such as an RTL-SDR. Thus, the use of this app requires network access to a server, such as a Raspberry Pi (or Mac), with an RTL-SDR unit plugged into its USB port, and running the rtl_tcp protocol at an TCP/IP network address accessible from your iOS device. The Raspberry Pi acts, essentially, as a USB port adapter for your iOS device. 

No support is provided for installing any of the software needed to use this app with a Raspberry Pi. Please do not download this app unless you are already familiar with Software Defined Radio, have an RTL-SDR USB device, and have already installed and tested rtl_tcp on your Raspberry Pi, Mac, or other server.

Over on his Reddit discussion thread he also mentions:

Since Apple's iOS doesn't allow an RTL-SDR to be plugged directly into a Lightning port (even with a USB adapter), an rtl_tcp adapter, such as a Raspberry Pi (or Pi Zero) server is required.

This app is an experiment in real-time DSP and SDR coding using Apple's Swift and Metal GPU-shader programming languages. It includes a spectrum waterfall, and supports demodulating FM, AM, and SSB. Also, includes beta test support for the AirSpy HF+.

HotPaw's "RTL_TCP SDR" running on an iPad.
HotPaw's "RTL_TCP SDR" running on an iPad.

PLSDR: A Python Based SDR App with RTL-SDR Support

Programmer P. Lutus has recently released a new Python based software defined radio application that he calls "PLSDR". PLSDR is a full receiver, with spectrum and waterfall displays, a frequency manager, and support for multiple modes such as AM/FM/SSB/CW. Being Python based PLSDR supports both Linux and Windows. Compatible hardware includes the RTL-SDR, HackRF and SDRplay, however Lutus notes that he could only get the SDRplay working on Linux.

The PLSDR download page also contains various bits of information about the DSP math behind designing the SSB demodulator. Essentially he found that no online examples of GNU Radio based SSB demodulators were correctly implemented, so he decided to research and implement his own design. He also notes that PLSDR was designed by initially prototyping each function in GNU Radio first, before moving it over to Python. This approach allowed him to easily check his fundamental design before optimizing it for Python. If you are interested Lutus also has a very useful page dedicated to explaining the DSP basics behind SDRs.

PLSDR is fully open sourced and available on GitHub. Exploring the code may be a good way to learn about SDR concepts.

PLSDR GUI
PLSDR GUI

New RTL-SDR Receiver App for iOS Released

SDR Receiver on iOS Screenshot
SDR Receiver on iOS Screenshot

A new RTL-SDR compatible app for Apple iOS (iPhone, iPad) has recently been released on the Apple App store. The app is called "SDR Receiver", costs US$9.99, and is used together with an RTL-SDR (or Airspy HF+) server running on a separate networked device such as a Raspberry Pi or PC. Limitations by Apple mean that the RTL-SDR can not run directly on iOS  devices. The software description reads:

SDR Receiver, a new iOS app for RTL-SDR and Airspy HF+, is now available on the App Store. The app works with an RTL-SDR or Airspy HF+ that is attached to a host Mac, PC or Raspberry Pi running the rtl_tcp server or equivalent. The iOS device, which may be an iPhone or an iPad, communicates over the network with the host computer which may be anywhere on the network that is reachable by TCP/IP and that can sustain the required bandwidth. 

  • SDR Receiver demodulates AM, narrowband FM and wideband FM signals. Key features include:
  • Easily entered and managed lists of stations to simplify station selection.
  • Adjustable squelch that works for both AM and FM signals.
  • Adjustable LNA gain for RTL-SDR.
  • Adjustable audio high pass and low pass filters.
  • Signal strength indicator that shows power level in the signal passband.
  • Multiple sampling rates down to 240Ksps for RTL-SDR.
  • Sampling rate of 768Ksps for Airspy HF+.

Streaming from an RTL-SDR requires installation of the librtlsdr package including the rtl_tcp utility on the host computer. Streaming from an Airspy HF+ requires installation of server software on the host computer that supports the Airspy HF+ and that streams data according to the protocol used by the rtl_tcp utility. One such server has been made available by Ron Nicholson in source code form on GitHub.

Requires an RTL-SDR or Airspy HF+, a host computer and server software which are not provided with the application.

Another RTL-SDR client for iOS is "RTL_TCP SDR" by Ron Nicholson which we posted about back in March when it was still in beta testing. RTL_TCP SDR includes a spectrum analyzer and FFT display. SDR Receiver appears to have no spectrum display, so is mostly useful for listening to preset frequencies, whilst RTL_TCP SDR appears to be more useful for spectrum exploring.

Reprogramming Vaisala RS-41 Radiosondes to Transmit APRS, RTTY, CW in the Ham or ISM Bands

Radiosondes are light weight sensor packages that are attached to weather balloons. They transmit live RF weather telemetry down to earth as they rise. With an RTL-SDR and appropriate antenna it can be possible to decode this telemetry. One related hobby that a few people enjoy is radiosonde chasing, which is tracking and collecting radiosondes once they have fallen back to the earth. Some people collect them as trophies, and others like to repurpose them. For example in this previous post we've seen how some radiosondes can be repurposed into L-band antennas for RTL-SDR's.

Another way to repurpose radiosondes has recently been submitted to us by regular contributor 'happysat' who wrote in and let us know that it is actually possible to reprogram the commonly used Vaisala RS-41 radiosondes into being able to transmit ham radio APRS, RTTY or CW mode signals in the ISM or ham bands. The initial hack was first performed by SQ5RWU, and then OM3BC who managed to create easier to use software that could reflash the radiosondes internal firmware via the serial port on the radiosonde. This hack could be useful for any ham requiring a cheap transmitter for their own high altitude balloon experiments.

Happysat ended up testing this software with some RS-41 radiosondes that he had, and managed to receive some generated signals with an RTL-SDR of his. Some photos that he's submitted are shown at the end of this post.

In addition to the above, happysat also wanted to mention his other radiosonde re-purposing project which was turning a DFM-06 and DFM-09 into a functional GPS unit that could be used for navigation when connected to a laptop, or to sync time on PCs.

Transmit APRS
PE2BZ's Modded RS41 with Solar Panels
RS41 Programmer
Transmit APRS PE2BZ's Modded RS41 with Solar Panels RS41 Programmer

New SDR# Plugin Manager and Colorizer Available

SDR# plugin developer Eddie Mac has again released a new plugin for SDR# called "SDR# Plugin Manager". This plugin is designed to make it easy to install, remove and re-order other SDR# plugins. Also included is a repository browser. This is a repository of many known SDR# plugin links which can be used to download and install a plugin with a simple click of a button.

Eddie has also recently released another plugin called "Spectrum Colorizer". This simply changes the background color of the spectrum analyzer window.

SDRSharp Plugin Manager
SDRSharp Plugin Manager
SDR# Plugin Repository
SDR# Plugin Repository

If you are interested in programming your own plugins, Eddie also offers the following advice which he posted in our forum:

A good place to get started programming plugins is to download the express version of .NET (free for personal use) and install at least the C# pack. Then go to the Airspy website and download Youssef's zipped examples on coding plugins. 
While they are not documented you can use them as an example of the steps involved.

If you know a bit of c++ that is great it should be a good spring board to learn C#. In fact, you can even program simple plugins (like my tuner knob) in Visual Basic. Both C# and VB.NET compile to Common Language Run time anyway so to SDR# it's not much difference. The only caveat is that if you want to create any plugins to do processing on signals of any sort you MUST use C# as it supports the data types SDR# uses and VB does not. As well, VB does not allow unsafe code which C# can be instructed to allow. 

Another great resource for learning to program plugins for SDR# is GitHUb and another great place is Andrej Mohar's website where he actually has a tutorial and an good explanation of the plugin coding process. You can find it here http://www.andrej-mohar.com/plugin-basics-for-sdr 

If you would like an example of a "stencil" as you call it - a template, I would be happy to share a template in both VB and C# for you to use to start to learn. However, I would suggest begginning with C# from the start.

The basics of it is that the "plugin" is actually in interface that is called while SDR# loads. The "Plugins.xml" file tells SDR# what your dll is called and what the name of the plugin is. Once it has initialized your plugin, SDR# sharp asks the plugin for a "panel" control which contains the controls for your plugin. In also returns to you a "control" object interface that allows you to receive notifications of program value changes or to set program values. There are more complex things you can do but the basics are simple.

SDRSharp Users Guide

This is an excerpt from our book on RTL-SDR which we've decided to post given that many new users struggle to understand all the settings in SDR#.

SDR# is currently the most popular SDR program used with the RTL-SDR. It's easy to set up and use. To install SDR#, go through our Quickstart Guide. Below we explain some of the settings and displays in SDR#.

Upon opening SDR# you'll be greeted with the screen shown below. Here we have highlighted the main parts of SDR#

After opening SDR# for the first time, we suggest that you immediately remember to perform the following steps (if you don’t know what some of these steps are, continue reading further below for more information):

  1. Increase the RF gain from zero to a higher value in the configure menu.
  2. Reduce the range slider on the right of the SDR# window to about -70 (for RTL-SDR dongles).
  3. Enable the “Correct IQ” setting to remove the center spike if using an R820T/R820T2, or enable “Offset Tuning” in the configure menu if using an E4000/FC0012/13.
  4. Turn off the “Snap to grid” setting, or adjust the PPM offset accordingly.
  5. Set the 'Mode' to the correct setting for the signal that you are listing to.

Continue reading

Reading Household Wireless Utility Meters with an RTL-SDR and Plotting the Data in Home Automation Software

Over on YouTube Debashish Sahu has uploaded a video showing how he uses an RTL-SDR to capture and decode consumption data from his home electric/gas/water utility meters. He uses the rtl_amr software which already supports a wide range of meters such as Debashish's gas meter. Later in the video he shows a Python script that he's written which continuously grabs the data from rtl_amr, and passes it into the Home Assistant software using JSON. Then in Home Assistant the data is graphed, and he is able to determine points of interest, such as when appliances turned on or off.

Using RTL-SDR to read values from wireless electric/gas/water meters

An Enhanced Version of Freqshow for Raspberry Pi’s with Touch Screens

The Freqshow software is an RTL-SDR compatible tool for Raspberry Pi devices that can render live spectrum and waterfall displays. It is designed to run on portable touchscreens that plug into the Raspberry Pi. We've posted about freqshow a few times in the past.

Recently Dan Stixrud has created an enhanced version of Freqshow. Over on the his post on the Adafruit forums, Dan explains the improvements as follows:

The additional features are many. Additional features include: Full resolution zooming, I and Q Swap, 9 different pre FFT windowing functions to choose from. Center frequency offset or shift. PPM correction for the RTL2832. FFT averaging or FFT peaking. Easy frequency up and down from main screen. Easy Scale adjustment from main screen.

On YouTube he's also posted a video that demonstrates the software in action when running on an Adafruit 2.8" and Pi Foundation 7" TFT capacitive touch screen. Dan uses the software as a panadapter for his ham radio.

RTL_TCP SDR: iOS Software Defined Radio App with Spectrum Display

In the post a few days ago about the newly released "SDR Receiver" app for iOS, we briefly mentioned that another iOS app called "RTL_TCP SDR" has just been released out of beta and put onto the Apple store as well.

"RTL_TCP SDR" is a little different to "SDR Receiver" because it contains a full spectrum analyzer and waterfall display, whereas "SDR Receiver" only allows you to listen via presets or manual tuning. Both apps can not access the RTL-SDR directly on the iOS device due to Apple limitations. An external server on a Raspberry Pi or PC running rtl_tcp is required. Programmer HotPaw writes about his App:

An RTL-SDR Software Defined Radio receiver for iOS devices (requires an external rtl_tcp server). Listen to VHF AM and FM radio signals. View a waterfall of the RF spectrum. Connect, via the rtl_tcp network protocol, to a networked RTL-SDR USB peripheral. 

iOS devices do not currently support the direct connection of USB devices such as an RTL-SDR. Thus, the use of this app requires network access to a server, such as a Raspberry Pi (or Mac), with an RTL-SDR unit plugged into its USB port, and running the rtl_tcp protocol at an TCP/IP network address accessible from your iOS device. The Raspberry Pi acts, essentially, as a USB port adapter for your iOS device. 

No support is provided for installing any of the software needed to use this app with a Raspberry Pi. Please do not download this app unless you are already familiar with Software Defined Radio, have an RTL-SDR USB device, and have already installed and tested rtl_tcp on your Raspberry Pi, Mac, or other server.

Over on his Reddit discussion thread he also mentions:

Since Apple's iOS doesn't allow an RTL-SDR to be plugged directly into a Lightning port (even with a USB adapter), an rtl_tcp adapter, such as a Raspberry Pi (or Pi Zero) server is required.

This app is an experiment in real-time DSP and SDR coding using Apple's Swift and Metal GPU-shader programming languages. It includes a spectrum waterfall, and supports demodulating FM, AM, and SSB. Also, includes beta test support for the AirSpy HF+.

HotPaw's "RTL_TCP SDR" running on an iPad.
HotPaw's "RTL_TCP SDR" running on an iPad.

PLSDR: A Python Based SDR App with RTL-SDR Support

Programmer P. Lutus has recently released a new Python based software defined radio application that he calls "PLSDR". PLSDR is a full receiver, with spectrum and waterfall displays, a frequency manager, and support for multiple modes such as AM/FM/SSB/CW. Being Python based PLSDR supports both Linux and Windows. Compatible hardware includes the RTL-SDR, HackRF and SDRplay, however Lutus notes that he could only get the SDRplay working on Linux.

The PLSDR download page also contains various bits of information about the DSP math behind designing the SSB demodulator. Essentially he found that no online examples of GNU Radio based SSB demodulators were correctly implemented, so he decided to research and implement his own design. He also notes that PLSDR was designed by initially prototyping each function in GNU Radio first, before moving it over to Python. This approach allowed him to easily check his fundamental design before optimizing it for Python. If you are interested Lutus also has a very useful page dedicated to explaining the DSP basics behind SDRs.

PLSDR is fully open sourced and available on GitHub. Exploring the code may be a good way to learn about SDR concepts.

PLSDR GUI
PLSDR GUI

New RTL-SDR Receiver App for iOS Released

SDR Receiver on iOS Screenshot
SDR Receiver on iOS Screenshot

A new RTL-SDR compatible app for Apple iOS (iPhone, iPad) has recently been released on the Apple App store. The app is called "SDR Receiver", costs US$9.99, and is used together with an RTL-SDR (or Airspy HF+) server running on a separate networked device such as a Raspberry Pi or PC. Limitations by Apple mean that the RTL-SDR can not run directly on iOS  devices. The software description reads:

SDR Receiver, a new iOS app for RTL-SDR and Airspy HF+, is now available on the App Store. The app works with an RTL-SDR or Airspy HF+ that is attached to a host Mac, PC or Raspberry Pi running the rtl_tcp server or equivalent. The iOS device, which may be an iPhone or an iPad, communicates over the network with the host computer which may be anywhere on the network that is reachable by TCP/IP and that can sustain the required bandwidth. 

  • SDR Receiver demodulates AM, narrowband FM and wideband FM signals. Key features include:
  • Easily entered and managed lists of stations to simplify station selection.
  • Adjustable squelch that works for both AM and FM signals.
  • Adjustable LNA gain for RTL-SDR.
  • Adjustable audio high pass and low pass filters.
  • Signal strength indicator that shows power level in the signal passband.
  • Multiple sampling rates down to 240Ksps for RTL-SDR.
  • Sampling rate of 768Ksps for Airspy HF+.

Streaming from an RTL-SDR requires installation of the librtlsdr package including the rtl_tcp utility on the host computer. Streaming from an Airspy HF+ requires installation of server software on the host computer that supports the Airspy HF+ and that streams data according to the protocol used by the rtl_tcp utility. One such server has been made available by Ron Nicholson in source code form on GitHub.

Requires an RTL-SDR or Airspy HF+, a host computer and server software which are not provided with the application.

Another RTL-SDR client for iOS is "RTL_TCP SDR" by Ron Nicholson which we posted about back in March when it was still in beta testing. RTL_TCP SDR includes a spectrum analyzer and FFT display. SDR Receiver appears to have no spectrum display, so is mostly useful for listening to preset frequencies, whilst RTL_TCP SDR appears to be more useful for spectrum exploring.

Reprogramming Vaisala RS-41 Radiosondes to Transmit APRS, RTTY, CW in the Ham or ISM Bands

Radiosondes are light weight sensor packages that are attached to weather balloons. They transmit live RF weather telemetry down to earth as they rise. With an RTL-SDR and appropriate antenna it can be possible to decode this telemetry. One related hobby that a few people enjoy is radiosonde chasing, which is tracking and collecting radiosondes once they have fallen back to the earth. Some people collect them as trophies, and others like to repurpose them. For example in this previous post we've seen how some radiosondes can be repurposed into L-band antennas for RTL-SDR's.

Another way to repurpose radiosondes has recently been submitted to us by regular contributor 'happysat' who wrote in and let us know that it is actually possible to reprogram the commonly used Vaisala RS-41 radiosondes into being able to transmit ham radio APRS, RTTY or CW mode signals in the ISM or ham bands. The initial hack was first performed by SQ5RWU, and then OM3BC who managed to create easier to use software that could reflash the radiosondes internal firmware via the serial port on the radiosonde. This hack could be useful for any ham requiring a cheap transmitter for their own high altitude balloon experiments.

Happysat ended up testing this software with some RS-41 radiosondes that he had, and managed to receive some generated signals with an RTL-SDR of his. Some photos that he's submitted are shown at the end of this post.

In addition to the above, happysat also wanted to mention his other radiosonde re-purposing project which was turning a DFM-06 and DFM-09 into a functional GPS unit that could be used for navigation when connected to a laptop, or to sync time on PCs.

Transmit APRS
PE2BZ's Modded RS41 with Solar Panels
RS41 Programmer
Transmit APRS PE2BZ's Modded RS41 with Solar Panels RS41 Programmer