-
Notifications
You must be signed in to change notification settings - Fork 12
Home
magicint1337 edited this page Feb 26, 2026
·
12 revisions
NovaSDR is a WebSDR server that streams waterfall/spectrum data and demodulated audio to a browser UI.
The docs/ directory is the canonical documentation and is synced into the GitHub wiki for publishing.
-
Build backend (recommended):
cargo build -p novasdr-server --release --features "soapysdr,clfft"(omitsoapysdrfor stdin-only mode; omitclfftfor CPU-only) -
Build frontend:
cd frontend && npm install && npm run build -
Configure (recommended):
./target/release/novasdr-server setup -c config/config.json -r config/receivers.json -
Run:
- Recommended (SoapySDR):
./target/release/novasdr-server -c config/config.json -r config/receivers.json - stdin example (RTL-SDR):
rtl_sdr -g 48 -f 100900000 -s 2048000 - | ./target/release/novasdr-server -c config/config.json -r config/receivers.json
- Recommended (SoapySDR):
-
Open:
http://localhost:9002
Example device commands
# SoapySDR (recommended):
# - build with `--features "soapysdr,clfft"` (or omit `clfft` for CPU-only)
# - run `novasdr-server setup` to scan devices and generate receivers
# RTL-SDR
rtl_sdr -g 48 -f 100900000 -s 2048000 - | ./target/release/novasdr-server -c config/config.json -r config/receivers.json
# HackRF
hackrf_transfer -r - -f 100900000 -s 8000000 | ./target/release/novasdr-server -c config/config.json -r config/receivers.json- Installation and runtime prerequisites: Building
- How configuration maps to runtime behavior: Configuration
- All configuration keys: Configuration Reference
- Wire contract between UI and backend: Protocol
- Chat UI behavior (username, tokens, URL params): Chat
- How the backend is structured: Architecture
- Signal processing details: DSP, Audio, Waterfall
- Deployment guidance: Operations
- Known issues and fixes: Troubleshooting
- Licensing and attribution: Licensing, Third-party
- Contributing (fork-first): Contributing
sequenceDiagram
participant UI as Browser UI
participant A as audio
participant W as waterfall
participant E as events
UI->>A: WS connect
A-->>UI: settings JSON
UI->>W: WS connect
W-->>UI: settings JSON
UI->>E: WS connect
E-->>UI: initial state JSON
The repository docs/ directory is synced into the GitHub wiki using:
- Linux/macOS:
tools/publish_wiki.sh Steven9101/NovaSDR - Windows (PowerShell):
powershell -ExecutionPolicy Bypass -File tools/publish_wiki.ps1 -RepoSlug Steven9101/NovaSDR
NovaSDR is GPL-3.0-only. See Licensing.