v6.62
🇬🇧 EN
TETRA · Windows · RTL-SDR v4 · No Linux

TETRA on Windows — 3 Ways Without Ubuntu

Use cropinghigh sdrpp-tetra-demodulator on Windows — completely without Ubuntu or WSL2. Three ways, from 10 to 60 minutes of effort, for every experience level.

⚠ Legal notice Emergency-services digital radio (police, fire brigade, 380–400 MHz) is encrypted with TEA2. Listening in is, under TKG §148, a criminal offence. This guide is for technical education and legal uses: FM radio, aviation, weather data, your own systems, unencrypted commercial TETRA networks where legally permitted.

Which way should I take?

SituationRecommendation
I want to try it quickly without much effortWay 3: GopherTrunk (10 minutes)
I want the cropinghigh plugin in SDR++ without LinuxWay 1: GitHub binary (20 minutes)
I want to build and understand everything myselfWay 2: MSYS2 (45–60 minutes)
The plugin doesn't run / the binary doesn't work→ Way 2: MSYS2 as a fallback
I'm completely new and don't want to see any codeWay 3: GopherTrunk

Preparation — Zadig driver (once, for all 3 ways)

Way 3 (GopherTrunk) already has Zadig built in! Start-menu shortcut "Install RTL-SDR driver". If you start with GopherTrunk, you can do this step there.
Z1
Download Zadig: zadig.akeo.ie
Z2
Plug in the RTL-SDR dongle, then run Zadig as Administrator start
Z3
Options → List All Devices → Bulk-In, Interface (Interface 0) select
Z4
On the right: WinUSB select → click "Install Driver" → wait
Way 1
GitHub Actions binary
20 min No Linux No code SDR++

📺 TETRA plugin for SDR# on Windows — installation & Setup (demonstration)

Important: GitHub only keeps these build files (artifacts) for 90 days. If the link has expired: use way 2 (MSYS2). For permanent use: do way 2 once and back up the DLL.
1
Download SDR++: github.com/AlexandreRouma/SDRPlusPlus/releases
sdrpp_windows_x64.zip download → extract to C:\SDRpp (no space in the path!)
2
GitHub Actions artifact: github.com/cropinghigh/sdrpp-tetra-demodulator
→ "Actions" tab → first green tick → "Artifacts" section → tetra_demodulator-windows download
No artifacts section? → GitHub login required (free account)
3
Copy the DLL into SDR++:
C:\SDRpp\
  sdrpp.exe
  modules\
    tetra_demodulator.dll  ← in here
If modules\ does not exist: create the folder.
4
Install the Visual C++ Redistributable (if SDR++ crashes):
vc_redist.x64.exe AND vc_redist.x86.exe — install both, even on 64-bit Windows.
5
Enable the plugin: Start SDR++ → puzzle icon (Module Manager) → tetra_demodulator find → enter a name ("TETRA") → click + → set the frequency → drag the VFO onto the signal → watch the constellation diagram
Way 2
MSYS2 build — compile natively on Windows
45–60 min No Linux Full control Permanent
MSYS2 is the technically cleanest Windows route. The resulting DLL runs natively on Windows — no expiry date like GitHub artifacts.
1
Install MSYS2: msys2.org → download the installer → C:\msys64 (default) → leave "Run MSYS2 now" ticked
2
In the MSYS2 terminal (purple):
pacman -Syu
pacman -Su
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake \
  mingw-w64-x86_64-pkg-config mingw-w64-x86_64-volk \
  mingw-w64-x86_64-fftw mingw-w64-x86_64-talloc \
  git curl patch make
3
Switch to MinGW64: Close the terminal → Start menu → MSYS2 MinGW x64 open (NOT "MSYS2 MSYS"!) → the prompt must show MINGW64 show
4
SDR++ headers:
cd ~
git clone https://github.com/AlexandreRouma/SDRPlusPlus.git
cd SDRPlusPlus && mkdir build_headers && cd build_headers
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DOPT_BUILD_RTLSDR_SOURCE=ON
make sdrpp_core -j$(nproc)
cmake --install . --component sdrpp_core
cd ~
5
Clone the plugin + patch the codec:
git clone https://github.com/cropinghigh/sdrpp-tetra-demodulator.git
cd sdrpp-tetra-demodulator
cd src/decoder/etsi_codec-patches
chmod +x download_and_patch.sh && ./download_and_patch.sh
cd ../../..
6
Compile:
mkdir build && cd build
cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# success: [100%] Built target tetra_demodulator
7
Copy the DLL and enable it:
cp ~/sdrpp-tetra-demodulator/build/tetra_demodulator.dll /c/SDRpp/modules/
ls /c/SDRpp/modules/
If SDR++ says "DLL not found": C:\msys64\mingw64\bin\libgcc*.dll, libstdc++*.dll, libwinpthread*.dll copy into the SDR++ folder.
Way 3
GopherTrunk — one EXE, get started right away ⭐
10 min One file No code P25+DMR+TETRA
GopherTrunk runs as a single ~10 MB EXE file without any dependencies. No librtlsdr, no libusb, no Linux. Operated through the browser.
TETRA in GopherTrunk as of July 2026: TMO control-channel decoding implemented (network info, GSSI). Voice decoding for TETRA: still in development (ACELP in progress). For spectrum + metadata: complete. For voice: way 1/2 (cropinghigh) is better.
1
Download GopherTrunk: github.com/MattCheramie/GopherTrunk/releases
GopherTrunk-Setup-windows-amd64.exe download (~10–15 MB)
2
Run the installer: Default path, tick "Add to PATH"; an "Install RTL-SDR driver (Zadig)" shortcut is created.
Start menu → run "Install RTL-SDR driver (Zadig)" — no separate Zadig download needed!
3
Create config.yaml (text editor):
C:\Users\BENUTZERNAME\Documents\GopherTrunk\config\config.yaml
# GopherTrunk minimal configuration for TETRA
sdr:
  device: rtlsdr
  serial: ""        # empty = first device found
  sample_rate: 2048000
  gain: 40
systems:
  - name: "TETRA Scan"
    protocol: tetra
    control_channel: 385012500   # 385.0125 MHz (example)
storage:
  path: C:/Users/USERNAME/Documents/GopherTrunk
web:
  enabled: true
  port: 8080
Adjust USERNAME in the path!
4
Start: Start menu → "GopherTrunk" → a black terminal appears → "Listening on :8080" = running
5
Open the browser: http://localhost:8080 → tabs "Systems", "Calls", "Signal Lab" (spectrum + constellation)
6
Frequency hunt mode (frequency unknown):
systems:
  - name: "TETRA Hunt"
    protocol: tetra
    hunt:
      enabled: true
      start_hz: 380000000   # 380 MHz
      stop_hz: 430000000    # 430 MHz
      step_hz: 25000        # 25 kHz steps
CriterionWay 1: GitHub binaryWay 2: MSYS2Way 3: GopherTrunk
Time required20 min45–60 min10 min ⭐
DifficultyEasyFairVery easy
Compiling requiredNoYesNo
Usable permanentlyOnly 90 daysYesYes
SDR++ integrationYes (plugin)Yes (plugin)Its own GUI
TETRA metadataYesYesYes
TETRA voiceYes (unencrypted)Yes (unencrypted)In development
Other protocolsTETRA onlyTETRA onlyP25, DMR, NXDN +10
RecommendationQuick startTechnically interestedAbsolute beginner ⭐
ProblemWaySolution
RTL-SDR not detected1+2+3Zadig: reinstall the WinUSB driver, re-plug the dongle
tetra_demodulator not in the module list1DLL in the wrong folder — must be in the modulessubfolder of SDR++
SDR++ won't start after copying the DLL1Install the Visual C++ Redistributable (x64 AND x86)
'DLL not found' in SDR++2MinGW DLLs from C:\msys64\mingw64\bin\ copy into the SDR++ folder
cmake error 'sdrpp_module.cmake not found'2Repeat the SDR++ headers step (step 4)
ETSI codec download fails1+2Check the network, disable VPN, install curl manually
GopherTrunk starts but finds no RTL-SDR3Check the Zadig driver, run GopherTrunk as administrator
Browser shows nothing at localhost:80803Allow GopherTrunk through the Windows firewall
config.yaml error on startup3Check YAML indentation (spaces only, no tabs!)
Constellation diagram stays empty1+2+3Wrong frequency or signal too weak — try another range
Artifact link expired (90 days)1Create a GitHub account OR use way 2