Skip to content
magicint1337 edited this page Feb 26, 2026 · 12 revisions

NovaSDR Documentation

NovaSDR

License Backend Audio Waterfall Transport

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.

Quick start (typical workflow)

  1. Build backend (recommended): cargo build -p novasdr-server --release --features "soapysdr,clfft" (omit soapysdr for stdin-only mode; omit clfft for CPU-only)

  2. Build frontend: cd frontend && npm install && npm run build

  3. Configure (recommended): ./target/release/novasdr-server setup -c config/config.json -r config/receivers.json

  4. 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
  5. 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

What to read next

System overview

Startup sequence (browser)

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
Loading

Documentation publishing

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

Clone this wiki locally