explaingit

f4exb/sdrangel

3,770C++Audience · developerComplexity · 4/5LicenseSetup · hard

TLDR

SDRangel is a desktop application that lets you receive and transmit radio signals on a wide range of frequencies using popular USB software-defined radio hardware and a graphical interface.

Mindmap

mindmap
  root((SDRangel))
    Hardware
      RTL-SDR
      HackRF
      LimeSDR
      PlutoSDR
    Protocols
      DMR digital radio
      D-STAR
      DPMR
    Interface
      Qt5 GUI
      OpenGL rendering
      Web remote control
    Deployment
      Desktop app
      Headless server
      Docker container
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Listen to and decode digital radio protocols like DMR and D-STAR using an RTL-SDR dongle

USE CASE 2

Run a headless SDR server on a Raspberry Pi and control it remotely via the SDRangelcli web app

USE CASE 3

Transmit and receive signals with HackRF or LimeSDR for amateur radio experimentation

USE CASE 4

Build a containerized SDR monitoring station using the SDRangel-Docker companion project

Tech stack

C++Qt5OpenGLDockerCMake

Getting it running

Difficulty · hard Time to first run · 1h+

Requires compatible SDR hardware such as RTL-SDR or HackRF and Qt5 libraries, all documentation lives on the project Wiki, not in the README.

Open-source, specific license not detailed in the explanation but the project is freely available.

In plain English

SDRangel is an open-source application for working with software-defined radio hardware. SDR (software-defined radio) moves the signal processing that would traditionally be done by dedicated electronics into software running on an ordinary computer, so the same physical USB dongle or device can tune to many different frequency ranges and decode many types of signals depending on what software is handling the data. The application provides a graphical interface built with Qt5 and uses OpenGL for rendering. It supports a range of popular SDR hardware devices, including Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay, and FunCube. The repository topics indicate it handles digital radio protocols such as DMR (Digital Mobile Radio), D-STAR, and DPMR, which appear in both amateur and commercial radio contexts. The software supports both receiving and transmitting signals, depending on which hardware you have connected. The README itself is brief and directs users to the project Wiki for documentation and setup guidance. The developers recommend reading at least the Home and Quick Start pages before running the program for the first time. A community discussion group is also available for questions and help from other users who run the software. Two companion projects extend SDRangel in different directions. SDRangelcli is a web application that can control a headless (no graphical interface) instance of SDRangel running on a server, or serve as a remote control panel for the regular GUI version running on another machine. SDRangel-Docker provides Docker files and scripts for building and running SDRangel in a container, supporting both the graphical and server-only modes.

Copy-paste prompts

Prompt 1
I have an RTL-SDR dongle and SDRangel installed. Walk me through setting it up to receive and decode DMR digital radio traffic, including which demodulator plugin to load and how to configure the frequency.
Prompt 2
Show me how to run SDRangel in headless server mode with Docker so I can control it remotely using the SDRangelcli web interface from another machine.
Prompt 3
I want to write a custom plugin for SDRangel that decodes a simple FSK signal. Point me to the plugin architecture documentation and show me the minimal C++ class structure required.
Prompt 4
Explain what hardware I need to both transmit and receive with SDRangel, which supported devices are full-duplex and what are the legal considerations for transmitting?
Open on GitHub → Explain another repo

← f4exb on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.