Introduction
PodSDR is a complete software-defined-radio suite for OpenHPSDR-compatible hardware — Hermes, Hermes Lite 2, Angelia, Orion — written in Rust. It also drives conventional CAT-controlled transceivers (Xiegu X6100 and G90, QRP Labs QMX, Icom IC-7300/IC-705 and Icom network radios, Yaesu FTDX10/FTDX3000/FT-991A, BG2FX FX-4CR), and it ships its own radio emulator so you can try everything with no hardware at all.
This guide covers the parts you install and use as an operator:
| Component | What it is | Where it runs |
|---|---|---|
| podsdr-proxy (server bundle) | Serves the browser client, relays radio traffic over WebRTC, and optionally uplinks to the cloud broker for access from anywhere. Also hosts CAT radios and composite radios. | Raspberry Pi, Linux, macOS, Windows |
| podsdr-emu (in the server bundle) | A Protocol-1 radio emulator that appears on your LAN like real hardware. Try the whole stack without a radio. | Same platforms as the proxy |
| Desktop GUI | Native desktop client with spectrum/waterfall, full RX/TX control, CW keyer, digimodes. | Linux, macOS, Windows |
| Web client | The same radio experience in a browser, served by the proxy. Nothing to install on the operating position. | Any modern browser |
| Android app | Mobile client with touch spectrum, TX, CW keyer and background operation. | Android (arm64) |
Which setup do I want?
- Radio and operator at the same desk → install the Desktop GUI. It auto-discovers OpenHPSDR radios on the LAN; no server needed.
- Radio in the shack, operate from anywhere in the house → run the server bundle on a Raspberry Pi (or any always-on machine) next to the radio, then open the web client from any browser on the LAN.
- Operate from outside your network — no port forwarding → run the server bundle with the cloud broker uplink and pair it to your account; then connect from the web, desktop or Android client anywhere.
- No radio yet → start the bundled emulator and point any client at it.
How the pieces connect
LAN (UDP, OpenHPSDR Protocol 1/2)
Radio hardware ◄──────────────────────────────► podsdr-proxy ──┐
(or podsdr-emu) │ │ wss uplink
│HTTPS + │ (optional)
Desktop GUI ◄── direct UDP to the radio │WebRTC ▼
│ cloud broker
Browser / Android ◄────────────────────────────────────┘◄─── (podsdr-broker)
The desktop GUI talks to radios directly over UDP. Browsers can’t do raw UDP, so the proxy bridges radio traffic into a WebRTC data channel and serves the web app itself. The Android app connects the same way the browser does — via a proxy on the LAN or through the cloud broker.