Traditional (CAT) radios
The proxy can host conventional transceivers alongside SDRs: it controls the radio over CAT (serial or network), moves RX/TX audio over the radio’s USB audio interface, and presents the result to every PodSDR client like any other radio — same spectrum display, same controls, same web/cloud access.
Supported models
| Radio | radio = | Notes |
|---|---|---|
| Xiegu X6100 | x6100 | CI-V (R1CBU/Aether firmware supported) |
| Xiegu G90 | g90 | CI-V subset |
| QRP Labs QMX / QMX+ | qmx | Kenwood TS-480-style ASCII CAT |
| Icom IC-7300 | ic7300 | CI-V; supports cat_spectrum |
| Icom IC-705 | ic705 | CI-V over USB; supports cat_spectrum |
| Icom network radios | (set host instead of port) | IC-705 over WLAN, IC-9700, IC-7610, IC-905, IC-R8600, or any rig behind RS-BA1 — control and audio over the network, no cables |
| Yaesu FTDX10 | ftdx10 | |
| Yaesu FTDX3000 | ftdx3000 | |
| Yaesu FT-991A | ft991a | |
| BG2FX FX-4CR | fx4cr-v1 | stock firmware (TS-590S protocol) |
| BG2FX FX-4CR (f5bud firmware) | fx4cr-v2 |
Quick single-radio setup (CLI)
./podsdr-proxy --static-dir ./web --tls \
--cat-port /dev/ttyUSB0 --radio ic7300 \
--audio-in "USB Audio CODEC" --audio-out "USB Audio CODEC"
For more than one radio, or a network Icom, use [[traditional]] blocks in
the configuration file (or the web config panel / the
podsdr-proxy configure wizard, both of which can autodetect the serial
port).
Audio wiring
Traditional radios deliver audio, not IQ, so get the direction right:
audio_in— a capture device on the proxy host: the radio’s USB-audio output (what you hear).audio_out— a playback device: the radio’s USB-audio input (what gets transmitted).
Level trims: rx_audio_gain_db (config/web UI) balances quiet rigs against
your SDRs; tx_audio_gain_db (config, CLI, or live from the client’s audio
panel — the “TXa” control) sets drive into the rig. Both are −40…+40 dB,
0 = unity.
force_data_mode = true (the default) flips the radio into its DATA mode when
transmitting, so the rig’s own mic compressor/EQ stays out of a path that
PodSDR is already processing.
Panadapter
By default the spectrum display for a CAT radio is computed from its RX audio,
so it’s only as wide as the receiver’s filter. On radios with a CI-V scope
(IC-7300, IC-705 — USB or network), set cat_spectrum = true to stream the
radio’s own wideband panadapter instead. A high CI-V baud rate (e.g. 115200)
makes the scope noticeably smoother.
CW keying
CW is keyed over a serial control line: cw_key_line = "dtr" or "rts",
optionally on a dedicated cw_key_port separate from the CAT port. The proxy
buffers keying ~150 ms to absorb network jitter, so remote CW stays clean.
Network Icom radios
Set host (plus username/password, and control_port if not 50001) in a
[[traditional]] block and leave port unset. Control, RX audio and TX audio
all travel over the Icom network protocol — no USB or audio cables. The CI-V
scope (cat_spectrum) works over the network too.
Receive-only bands
Per-radio rx_only_bands = [[low_hz, high_hz], ...] blocks all transmission
(PTT, TUNE, CW, macros) while tuned inside a range — enforced by the proxy,
not just the client UI. Useful for rigs whose PA must not be keyed on some
bands, or transverter setups. Station-wide ranges can be set at the top level
of the config; see Configuration file.
Sharing caveat
A serial port is exclusive: one client session drives a given CAT radio at a time. A second client trying to connect to the same CAT radio will fail to open the port. (Cloud listener roles are the exception — they receive audio without contending for control.)