SDR–: The Open-Source Modular Node-Based SDR Where You Patch Receivers Together

SDR-- modular node-based software-defined radio patch canvas showing RTL-SDR wired to decoders and audio sinks

TL;DR: SDR– (sdrminusminus / SDRMM) is a free, open-source software-defined radio application created by Newspicel that reimagines radio signal processing as a visual modular patch bay. Running locally on desktop or headlessly on a remote server, it lets you wire SDR hardware, multi-channel demodulators, decoders, and audio sinks together on an interactive canvas, then pin favorite controls to a streamlined rack interface.


What Is SDR–?

SDR– (also known as SDRMM or sdrminusminus) is a modern, open-source software-defined radio platform that models signal processing chains as an interactive visual node graph. Developed by Newspicel under the GPL-3.0 license, SDR– replaces the rigid, single-frequency layouts of conventional SDR software with a flexible Patch view where operators can drop and wire together receivers, digital filters, multi-mode decoders, and audio outputs before pinning their essential controls to a clean Rack view.

+------------------------------------------------------------------------+
|                          SDR-- Modular Patch Canvas                    |
+-------------------+      +-------------------+      +------------------+
|   Device Node     | IQ   |   Channel Node    | Audio|   Speaker Node   |
| · RTL-SDR / Airspy+----->| · WFM / SSB / AM  +----->| · Audio Output   |
| · 2.4 MS/s Stream |      | · Filter & S-Meter|      | · Level & Mute   |
+---------+---------+      +---------+---------+      +------------------+
          | IQ                       | Events / Data
          v                          v
+---------+---------+      +---------+---------+
| Spectrum / Water  |      | RDS / APRS / ADS-B|
| · Panadapter View |      | · Live Data Decode|
+-------------------+      +-------------------+

Traditional SDR programs lock users into fixed monolithic interfaces where adding a second receiver, recording a raw baseband stream, or decoding digital telemetry often requires juggling multiple external applications or cumbersome virtual audio cables. SDR– treats radio frequency data like modular audio synthesis, giving operators complete freedom over their signal routing.


The Dual-Interface Architecture: Patch vs Rack

SDR– separates signal chain engineering from everyday radio operation through two distinct view modes:

+------------------------------------------------------------------------+
|                          Patch View vs Rack View                       |
+-----------------------------------+------------------------------------+
| Patch View (The Signal Lab)       | Rack View (The Operator Console)   |
+-----------------------------------+------------------------------------+
| · Unlimited canvas node graph     | · Clean vertical rack layout       |
| · Color-coded cable patching      | · Pinned dials, sliders & meters   |
| · Visual IQ, audio, & data buses  | · Distraction-free daily listening |
| · Real-time signal flow inspection| · Fast frequency & bandwidth tuning|
+-----------------------------------+------------------------------------+

1. The Patch Canvas

In Patch View, every component of your radio station is an independent node with typed input and output jacks:

  • IQ Streams (Blue): High-speed raw complex baseband data from hardware tuners to demodulators.
  • Audio Streams (Green): Demodulated analog audio routed to local speakers, virtual soundcards, or network streams.
  • Events and Data (Yellow): Decoded digital telemetry, APRS text, AIS vessel beacons, and ADS-B aircraft positions.
  • Video Streams (Orange): Fast-scan amateur TV (ATV) and analog video signals.

2. The Daily Operator Rack

Once you have wired your receiver patch, pressing p on any node pins its primary controls (frequency dial, volume slider, S-meter, bandwidth filter) to the Rack View. This creates a sleek, distraction-free operating dashboard reminiscent of physical ham radio equipment racks.


Client-Server and Remote Antenna Architecture

SDR– features a decoupled architecture with a high-performance Rust digital signal processing core:

+-----------------------------------------------------------------------+
|                    Remote Antenna / Headless Server                   |
|  Raspberry Pi / Linux Server at Mast · Native Drivers · Rust DSP Core  |
+-----------------------------------+-----------------------------------+
                                    | WebSocket / WebRTC Streaming
                                    v
+-----------------------------------------------------------------------+
|                    Client Desktop & Browser Displays                  |
|  macOS · Windows · Linux · Chrome / Firefox / Safari (Port 8080)      |
+-----------------------------------------------------------------------+
  • Desktop Application: Run SDR– natively as a standalone desktop program on macOS, Windows, or Linux with a local USB SDR.
  • Headless Antenna Server: Install sdrmm on a Raspberry Pi or low-power server located directly at your outdoor antenna feedpoint. The server processes signals locally and streams compressed audio, waterfall FFTs, and decoded data over Wi-Fi or LAN to any web browser on port 8080, completely eliminating coax loss.

Comprehensive Hardware and Decoder Support

SDR– includes built-in drivers for leading amateur radio and commercial SDR hardware:

+-----------------------------------------------------------------------+
|                          Supported Hardware & Nodes                   |
+---------------------+---------------------+---------------------------+
| SDR Receivers       | Demodulators        | Decoders & Tools          |
+---------------------+---------------------+---------------------------+
| · RTL-SDR (v3/v4)   | · Broadcast WFM+RDS | · ADS-B Airplane Tracker  |
| · Airspy R2 / Mini  | · Narrowband FM     | · AIS Marine Vessel Map   |
| · Airspy HF+        | · AM & Synchronous  | · APRS Packet Monitor     |
| · HackRF One        | · Single Sideband   | · POCSAG & FLEX Pagers    |
| · SDRplay RSP       | · CW with S-Meter   | · FT8 / FT4 / WSPR Engine |
| · PlutoSDR / AD936x | · Digital Voice     | · SSTV Picture Decoder    |
| · KrakenSDR 5-Ch    | · Raw IQ Streamer   | · SigMF IQ Record/Playback|
+---------------------+---------------------+---------------------------+

Advanced Radio Capabilities

  • Coherent Multi-Channel Arrays: Native support for 5-channel KrakenSDR devices for radio direction finding (DoA), beamforming, and passive radar experiments.
  • Multiple Simultaneous Channels: Run dozens of independent VFO channels across the same wideband SDR slice (e.g. listening to airband ATC while decoding ADS-B and monitoring local APRS packets).
  • Automated Recording & SigMF Support: Record raw RF baseband with metadata in standard SigMF format for archival and post-event analysis.

Platform Comparison

The table below contrasts SDR– with other leading software-defined radio applications:

Feature / Dimension SDR– (SDRMM) SDR++ (SDRPlusPlus) GQRX GNU Radio Companion
Workflow Paradigm Modular Node Patch & Rack Multi-VFO Fixed Panels Single VFO Fixed Window Pure DSP Simulation Flow
User Interface Web & Native Canvas Native C++ / ImGui Qt Desktop Window Flowgraph Canvas (No Radio UI)
Remote Server Mode Yes (Built-in Web Server) Yes (SDR++ Server) rtl_tcp client only Requires custom TCP/UDP
Integrated Decoders ADS-B, AIS, APRS, Pagers, FT8 Limited Plugins No (External Audio) Full custom DSP blocks
Dual View (Patch/Rack) Yes (Modular + Clean) No (Side Panels) No No
Coherent Array Support Yes (KrakenSDR / DoA) No No Yes (Manual DSP Graph)
License & Price Open Source (GPL-3.0) Open Source (GPL) Open Source (GPL) Open Source (GPL)

Quick-Start Guide: Building Your First Receiver

Setting up a receiver in SDR– takes only five simple steps:

1. Installation

Install the desktop application or server using Homebrew on macOS/Linux:

brew tap newspicel/tap
brew install --cask sdrminusminus

Or install the standalone headless server:

brew install sdrmm
brew services start sdrmm

2. Patching the Hardware Node

  1. Connect your RTL-SDR or Airspy dongle via USB.
  2. Open SDR– and drop a Device node onto the Patch canvas.
  3. Select your SDR hardware and set the sample rate (e.g., 2.4 MS/s).

3. Adding Demodulators and Sinks

  1. Click + Node and select a WFM (Wideband FM) or NFM (Narrowband FM) channel.
  2. Drag a cable from the Device IQ output port to the Channel IQ input port.
  3. Add a Speaker node and wire Channel audio into Speaker audio.
  4. Add a Spectrum node to view the real-time panadapter.

4. Pinning to Rack View

Select your active channel node, press p to pin it to your Rack, and switch to Rack View for clean daily tuning.


Frequently Asked Questions

What is the difference between SDR– and traditional SDR software?

Traditional SDR software uses fixed layouts with single tuners. SDR– uses a visual node-based patch canvas, allowing you to route multiple tuners, filters, decoders, and outputs simultaneously, then pin controls to a simplified rack view.

Can SDR– run headlessly on a remote Raspberry Pi?

Yes. You can install the headless sdrmm server on a Raspberry Pi near your antenna mast and control it over Wi-Fi or LAN from any desktop web browser on port 8080.

Which SDR hardware devices are supported natively?

SDR– natively supports RTL-SDR (v3/v4), HackRF One, Airspy (R2, Mini, HF+), SDRplay RSP, PlutoSDR, KrakenSDR, SpyServer, and any device compatible with SoapySDR.

Does SDR– include digital mode decoders?

Yes. SDR– features integrated decoders for ADS-B aircraft tracking, AIS marine vessels, APRS packet radio, POCSAG/FLEX pagers, FT8/FT4, and SSTV slow-scan television.

Is SDR– free and open source?

Yes. SDR– is licensed under the GPL-3.0 license, with full source code hosted publicly on GitHub by Newspicel.


Sources and Further Reading

Post Comment