Architecture
Built from the ground up
for efficiency.
NovaSDR
- Written fully in Rust
- GPL-3 licensed, by Steven9101
- One FFT pipeline per receiver
- Shared spectrum fan-out to clients
- Bounded per-client queues under load
Traditional Approach
Typical “per-user DSP” server designs
- Runs DSP per user connection
- Scales poorly with listeners
- Higher resource consumption
- Complex deployment requirements
The Core Architectural Breakthrough
NovaSDR runs a single shared FFT for all users, eliminating redundant computation. This fundamental design choice enables unprecedented scalability — from a single listener to thousands, with virtually no additional server load.
Features
Engineered for
performance.
One FFT. All Users.
A single high-resolution FFT powers every connected listener, eliminating redundant DSP work entirely.
Rust Performance
Deterministic execution, memory safety, and zero-cost abstractions deliver unmatched efficiency.
Modern Frontend
A fast React UI built with shadcn/ui, optimized for any device and screen size.
Efficient Streaming
Zstd-compressed waterfalls, FLAC audio, and WebSocket transport minimize bandwidth usage.
Device Agnostic
Raw IQ or real samples piped via stdin from any SDR source. Maximum flexibility guaranteed.
Multi-level Decimation
Adaptive waterfall resolution based on zoom level for smooth, responsive visualization.
Performance
Built for scale,
not demos.
Single FFT, shared fan-out
Spectra are computed once per frame and distributed to clients (audio + waterfall) without per-user FFT work.
Backpressure-friendly delivery
The DSP thread does not block on WebSocket writes; slow clients drop frames instead of growing memory unbounded.
Per-client audio pipelines
Each client has its own demodulation state and encoder state, while sharing the upstream FFT pipeline.
Optional GPU paths
Forward FFT and/or waterfall quantization can be accelerated depending on build features and platform support.
Compatibility
Supported Hardware
Works with the SDR devices you already own
Direct device input
Raw IQ samples
Community
Open Source
Built in the open, for the radio community