Tagged: sdr#

SDR++ Version 1.0.0 Released

SDR++ is an open source, cross platform, C++ based GUI general receiver program for various SDRs including the RTL-SDR. Since it's alpha release in mid 2020, it has undergone huge amount of development, and is quickly becoming the main program of choice for many users due to it's efficiency, cross platform and multi-SDR hardware support and increasing feature set. And with an easy GUI very similar to that of SDR#, it's easy for most users to learn.

Recently version 1.0.0 of the SDR++ software has recently been released. This is the first non-beta stable version, so represents a major milestone in development. Over on Reddit programmer u/xX_WhatsTheGeek_Xx summarizes the latest developments.

After over a year of work, I'm proud to released version 1.0.0 of SDR++!

For those who don't know, SDR++ is a crossplatform (Windows, Linux, MacOS, BSD) and open-source (https://github.com/AlexandreRouma/SDRPlusPlus/releases) general purpose receiver software meant to be simple and easy to use. It has advances features like multi-vfo and uses a fully custom DSP making it very efficient.

Here are the following additions compared to the last version:

  • Support for the SpyServer protocol
  • Support for all SDRplay devices
  • Support for all BladeRF devices
  • Support for all LimeSDR devices
  • Optional IQ correction
  • Optional Decimation
  • Broadcast FM Stereo
  • Frequency manager to create lists of frequency and optionally display them directly on the FFT/Waterfall
  • Network sink to stream the audio output via TCP or UDP
  • Options to set the FFT framerate, FFT size and FFT window.
  • Theming with Dark and Light themes supplied by default
  • RigCTL server module to control SDR++ from, for example, gpredict.
  • A bunch of keyboard shortcuts (see wiki on the github page)
  • SNR meter
  • More info when hovering a VFO
  • Colored VFOs to easily identify which is which at a glance
  • Meteor M2 demodulator compatible with LRPTOfflineDecoder and Satdump
  • Ability to resize VFOs by directly dragging the sides on the FFT and waterfall
  • Module manager to easily add or remove any module on the fly without having to restart or edit the config manually
  • File dialogs to select directories in the recorder or files in the file source (instead of having to type in the path)
  • Ability to disable modules that support it (Radio and Meteor M2 demodulator) with one click (to save CPU power or just if they're not needed)
  • Lots of performance improvements
  • Ludicrous amounts of bugfix :)

I'd like to thank the many contributors, patrons and companies (SDRplay, Airspy, Nuand, LimeMicro) who helped make this project possible!

If you have any issue with the software, please open a github issue or contact me directly on the SDR++ discord (see readme on github)

I hope this software comes in useful to at least some of you ;)

We also wanted to highlight the fact that SDR++ runs smoothly with about 50% CPU usage on a Raspberry Pi 4 with an RTL-SDR.

Also according to @cemaxecuter who created DragonOS, if rtaudio is installed on Linux , then an easy to use virtual audio sink becomes usable from SDR++, allowing audio to be easily passed to other programs such as WSJT-X just like on Windows.

A ready to use zip file for Windows is available on the GitHub Releases page, as well as amd64 .deb and .pkg install files for Ubuntu, Debian and MacOS systems. For other systems the compilation instructions are available on the readme or Git main page.

SDR++ V1.0.0 Screenshot

Lessons Learned Using SDR in the Classroom

Recently SDR-Boston hosted an online panel titled "Lessons Learned – Using SDR in the Classroom", and the video is now up on YouTube. A presentation was given by three panelists and moderator on the topic of how software defined radio has been used in University curriculum. Many of the courses make use of RTL-SDR dongles, as well as more advanced transmit capable SDRs.

Software-defined radio (SDR) technology is extensively being used across a wide range of research activities to help demonstrate feasibility of new algorithms and approaches that are rapidly defining the new current state-of-the-art in emerging wireless technologies (e.g., 5G/6G, drone networks) as well as providing new opportunities to explore the electromagentic (EM) spectrum world around us (e.g., radio astronomy, satellite communications, radar). Although SDR has become mainstream in research activities, it has not been widely used in the classroom environment to help students leap from theoretical concepts to practical hands-on learning.

The following presentations were given (more information available on the panel website):

1,024 ways to teach with SDR: Dr. Fraida Fund, New York University

Educators who are considering using software defined radio in the classroom face a dizzying array of choices, including hardware, software, and curriculum decisions. In this presentation, I will describe my experiences using software defined radio in different ways for a range of audiences, from high school to graduate school. I will share the decisions I made in designing each course or curriculum module, and the tradeoffs associated with those decisions.

Teaching SDR and DSP to Undergrads within CS: Dr. Marc Lichtman, University of Maryland

Dr. Lichtman will briefly discuss the course he designed and taught at The University of Maryland within the CS dept, introducing students in their senior year to SDR and DSP, as an elective. The first half of the course acts as a DSP and wireless comms primer, essentially condensing several courses that are normally taught at the graduate level within ECE, providing students with the necessary background by teaching DSP theory using diagrams, animations, practical demos, and code examples rather than a mathematically rigorous theoretical approach. The remainder of the course focuses on using SDRs to implement the DSP techniques they had learned. He has recently created a free online textbook based on his course, teaching SDR and DSP with Python, https://pysdr.org.

Teaching Introductory Communication Systems using SDR: Challenges, Benefits, and Lessons Learned: Dr. Cory J. Prust, Milwaukee School of Engineering

Exposure to software-defined radio (SDR) technology is a valuable experience for undergraduate electrical and computer engineering students. Decreasing hardware costs and easy-to-use software tools have made SDR experimentation readily available to the undergraduate laboratory setting. However, especially for students who are still learning the fundamentals of communication systems, laboratory exercises must be carefully designed to reinforce foundational concepts, meaningfully engage and motivate students, and be presented at an appropriate technical level. This presentation will describe the development and deployment of hands-on SDR-based laboratories used in an introductory communication systems course. Lessons learned from multiple offerings of the course will be discussed.

Hands-On Wireless Communications Education: It’s More Than I/Q Representation: Dr. Alexander M. Wyglinski, Worcester Polytechnic Institute

In most undergraduate and graduate courses focusing on digital communication systems engineering, the concept of representing all information in terms of in-phase (I) and quadrature (Q) comes up and becomes the foundation for many other concepts taught throughout the rest of the course. However, the treatment of I/Q tends to be over idealized and the real-world effects affecting this very important source of information is saved “for the next course”. With SDR technology, those real-world effects that are impacting the successful recovery of I/Q samples are experienced right away and the true challenges of digital communication systems engineering are experienced first hand. This introduction will provide some initial insight on the practical considerations when extracting I/Q samples from over-the-air and attempting to decode them for the purposes of recovering binary information.

SDR-Boston Panel Event: "Lessons Learned - Using SDR in the Classroom"

RTL433 Plugin for SDR# Now Available

UPDATE 19 Feb 2024: Marc has released an updated version of the plugin at https://github.com/marco402/plugin-Rtl433-for-SdrSharp

Recently Marc has released his RTL433 plugin for SDR# over on GitHub and his Wixsite. RTL433 is a commonly used RTL-SDR command line program that provides decoders for a wide range of 433.92 MHz, 868 MHz, 315 MHz, 345 MHz, and 915 MHz ISM band devices. Examples of such devices include weather stations, alarm sensors, utility monitors, tire pressure monitors and more.

To install the plugin, go to the GitHub page and click on the green Code button, and select Download Zip. In the zip file open the "install" folder and extract the three .dll files into the SDR# folder. Now open the Plugins.xml file in Notepad and add the following line between the <sharpPlugins></sharpPlugins> tags.

<add key="RTL_433" value="SDRSharp.Rtl_433.Rtl_433_Plugin, SDRSharp.Rtl_433" />

Now you can add the plugin to the SDR# screen using the hamburger menu within SDR# on the top left. When a device is discovered it will open up a window for that device, logging data from it over time.

RTL433 SDRSharp Plugin
RTL433 SDR# Plugin Device Windows

Feeding Audio from SDR# To Multiple PCs over TCP

Thank you to M Khanfar for submitting his latest video that shows us how to use a launcher that he's created called "GUI SDR TCP STREAMER" (which is actually a combination of several freeware Windows programs including Advanced IP Scanner and TCP Streamer) to stream demodulated audio from SDR# to other PCs over a network connection.

TCP Streamer takes the audio from SDR# via VB-Cable, streams it over TCP to the client PC, then plays the audio on the client side speakers. We note that TCP Streamer should also work with any other SDR program that can output audio to VB-Cable.

SDR Audio TCP Streamer

SDR# Updated: Improved Performance and Better RTL-SDR Compatibility

SDR# (SDRSharp) is one of the most popular free software defined radio programs available with RTL-SDR support. Recently it has been updated to version 1811 and the new version brings improved performance and also improves RTL-SDR compatibility with some systems. The changelog reads:

Date:   Mon Mar 29 15:03:09 2021 +0200
Commit: d5cb6c3

More DSP optimizations;
Many fixes for RTL dongles (mainly workraounds for old libs);
Revert to libusb 1.0.20.11004 for backward compatibility;
Revert to portaudio 2016 for backward compatibility;
Code cleanup.

@lambdaprog (the SDR# programmer) has also tweeted showing how well SDR# can run on a 10 year old i7 4700 laptop with the new performance improvements. With a huge 160 MSPS baseband IQ file, the software is seen to be using very minimal CPU. 

Scanner School Podcast + Webinar: This is Why You Need an SDR

Scanner School is an online site providing tutorials, podcasts and reviews all about the radio scanning hobby. They are currently planning a Webinar for February 23, 2021 titled "Why Every Scanner User Needs an SDR: The #1 Underrated Tool that should be in your setup". You can sign up to the webinar here. In addition to the upcoming webinar they have also already released episode 165 of their podcast titled "This is Why You Need an SDR". The topics covered in the podcast are listed below.

  • An SDR means that anything normally handled by the hardware of the radio is now handled by the computer, and the physical hardware serves as an interface.
  • The only limitation on the SDR hardware you buy is the frequency range and the amount of RF it can digest.
  • SDR receivers have come a long way since they were first hacked into existence.
  • SDRs used to be difficult to set up, but that’s no longer true.
  • You don’t need advanced computer skills to run SDR software.
  • SDR software can run on PC, Linux, Mac, Raspberry PI, and even Android.
  • An SDR is more flexible and less expensive than a traditional radio.
  • You can turn a $30 USB stick into something as powerful as an SDS200 in an afternoon.
  • All you need to get started is an SDR USB stick, a computer, and the free starter software SDR Sharp.
  • Once you get set up with FM broadcast stations, aviation, and other analog systems, Phil’s SDR course will go into how to set up digital reception.
  • If you download DSD+ Fast Lane or Unitrunker you can monitor trunking systems.

Getting Started with Developing Plugins for SDR# on .NET 5

Recently we posted about how SDR# was updated to the latest .NET 5 framework, and this brought with it a new plugin SDK for developers. If you're wanting to get started with plugin development, Petri-Veikko Alajärvi (OH1GIU) has uploaded a tutorial showing how to get started with the free Visual Studio 2019 Community IDE. His post shows how to create a new project, how to add references to the SDRSharp plugin files and how to set up and test a basic GUI via an RDS information display example.

Creating a new SDR# Plugin with the .NET5 Plugin SDK

SDR++ Recent Updates: Plugins, Multi-VFO, Multi-Platform, Native RTL-SDR and More!

Back in July 2020 we first posted about the alpha release of "SDR++" which back then was a new project by "Whatsthegeek" that was determined to bring an open source, cross platform, C++ based GUI general receiver program for various SDRs including the RTL-SDR to the community. Over the past few months the author has been working hard on updating the software, and it's looking a lot more mature today. Recently he has released the following updates as mentioned on his Reddit post:

As some of you might remember, I posted back in june about my SDR++ project. During the past 6 months, I've been hard at work to make it into usable software! The versions I released in june and july were extremely buggy and unusable. All of those issues have now been fixed. It's now simple to build and install. Here's a small rundown of the features it now has:

  • Fully modular architecture (plugins)
  • Multi-VFO
  • Support for most SDRs through dedicated modules or SoapySDR
  • Both baseband and audio recording with a level meter and volume adjust
  • Multiple bandplans available (very easy to write your own)
  • Switchable waterall colormap
  • Low CPU usage (lower than GQRX, CubicSDR, SDRConsole and in some cases SDR#)
  • Full waterfall update when zooming or changing min/max level

Also, SDR++ now runs on Windows, Linux, OSX and BSD!
Do note that it still has a few quirks and misses some features (see https://github.com/AlexandreRouma/SDRPlusPlus/projects/2 for the todo list)
In addition to what's in the todo list, decoders for common satellites will be written very soon. They will allow decoding of Meteor and NOAA with no external software needed!

I'd like to thank Airspy, Analog Devices, SDRplay and Howard Su for sending samples of their hardware for development! Would never have been able to add support for their hardware without it!

I hope this software will be useful to the community :)

SDR++ GUI

Releases for Debian Linux and Windows can be found over on the GitHub Releases page

We note that over on Twitter Whatsthegeek (@ryzerth) has been releasing further updates. He notes that some of the latest code updates for SDR++ add a native RTL-SDR module including bias tee support, and that it is also now available as a package for Arch Linux users over on the user Repository. However these latest updates are not yet available as binaries on the releases page.

In a recent tweet he also demonstrates the very useful looking multi-vfo feature allowing him to decode three AERO signals with Jaero simultaneously on a single RTL-SDR dongle.