Budovanie moderného rádioamatérskeho stanovišťa (hamshack) prešlo za posledné desaťročia radikálnou transformáciou. Zatiaľ čo klasický stolný transceiver (TCVR) vybavený pokročilými obvodmi automatického riadenia zosilnenia (AGC), obmedzovačmi ALC, medzifrekvenčnými filtrami a koncovými stupňami na báze robustných MOSFET či moderných LDMOS transistors remains the main tool for broadcasting, software-defined radio technology (SDR) has completely changed the way we monitor the radio spectrum.
With the advent of distributed receivers of the type WebSDR sa zrodil koncept zdieľaného príjmu, ktorý umožňuje viacerým operátorom nezávisle ladiť pásma cez webové rozhranie. V tomto segmente sa etabloval nový open-source projekt s názvom no-sdr (odvodený od Node-SDR), developed by developer George Bozouris (gbozo). This system brings a highly optimized multi-user architecture to affordable RTL-SDR hardware without the need to install any client applications or plugins.
Pre aktívnych operátorov pracujúcich v náročných režimoch SO2R or SO2V, lovcov diplomov v programoch DXCC, IOTA, SOTA, POTA či WWFF, ako aj pre poslucháčov (SWL) monitorujúcich preteky (contest) a digitálnu prevádzku, predstavuje no-sdr mimoriadne flexibilný nástroj. Umožňuje vybudovať sekundárny prijímací reťazec or vzdialené monitorovacie stanovište (QTH) s minimálnymi hardvérovými nákladmi.
In the article you will read
The unique advantage of no-sdr
The main and quite fundamental advantage of no-sdr lies in its ability to transform a regular USB RTL-SDR dongle into a full-fledged, network-distributed, high-resolution spectrum receiver that can serve multiple independent client sessions simultaneously. Traditional SDR applications often lock down hardware for a single local user or require the transmission of massive raw sample data streams over the network, which paralyzes the usual infrastructure. The WebSDR for Everyone Project: Architecture and Technical Capabilities of the open-source no-sdr project implements full parallelization of reception. Multiple users connect via a regular web browser, each of which has its own independent virtual VFO, bandwidth selection, and demodulation mode. All this happens without the clients influencing each other or changing the center frequency of the physical tuner.
The system was designed from the beginning with an emphasis on high fidelity reproduction (High Fidelity), processing of extremely weak signals at the noise limit (weak signal processing) and almost lossless data transmission with minimal network bandwidth requirements. By moving signal processing (DSP) directly to the client side via pure TypeScript running in the browser, the computing power is efficiently distributed. The server part therefore has low overhead and is fully optimized for operation on energy-efficient ARM platforms, such as Raspberry Pi single-board computers or Apple Silicon (Mac) processors, as well as on standard x86 architecture. If the operator does not have connected RF hardware or a suitable antenna at a given moment, no-sdr includes an integrated signal simulator (demo mode) that generates a realistic spectrum for testing, development and demonstration purposes.
What does no-sdr do?
Architecturally, no-sdr acts as an intelligent layer between the receiver hardware's analog-to-digital converter (ADC) and the end-client interface. The server-side, written in a combination of Go and Node.js, captures a raw stream of IQ samples from the RTL-SDR device. It processes this stream, performs spectral analysis using a Fast Fourier Transform (FFT), and generates data for a smooth spectral waterfall and real-time spectrum analyzer.
Data distribution to users is implemented via the WebSocket protocol. The server dynamically negotiates compression codecs for both spectral and IQ streams based on the profile and network capacity of each connected client. To avoid server memory congestion when users have slower network connections, no-sdr strictly implements flow control (WebSocket backpressure) based on state monitoring bufferedAmount. A significant optimization feature is the so-called "Audio-gated IQ" mode, where the server sends specific IQ data for a given user only when the client actually activates audio playback in their browser. This eliminates unnecessary network load generated by inactive browser tabs. On the client side, the interface receives these compressed streams, decodes them, renders the graphical environment and extracts the resulting audio signal via a local DSP chain, to which it applies user-defined filtering and audio editing parameters.
Supported modes, hardware and infrastructure
The flexibility of the no-sdr project is reflected in its broad support of modulation operations and in the detailed configuration options of the RF hardware.
Supported modulation modes
The system integrates a total of 8 analog demodulation modes running directly in the browser, covering the spectrum of band monitoring needs:
- WFM (Wideband FM): Wideband frequency modulation with PLL detection of 19 kHz pilot tone and DSB-SC demodulation of the LR component for full stereo. Includes a client RDS decoder that extracts station name (PS), radio text (RT), program type (PTY), PI code and synchronous time with direct display above the waterfall.
- NFM (Narrowband FM): Narrowband frequency modulation for monitoring traffic on VHF/UHF channels and repeaters, including support for client evaluation of CTCSS subaudio tones.
- AM (Amplitude Modulation): Classic amplitude modulation with support for synchronous AM stereo and automatic detection of operation according to the C-QUAM standard.
- SSB prevádzka (USB a LSB): Jednopostranné pásma, nevyhnutné pre monitorovanie krátkovlnnej prevádzky na klasických aj WARC pásmach. Hoci no-sdr natívne neobsahuje integrované dekodéry pre pokročilé DIGIMODES ako FT8, FT4, JT65, MSK144, RTTY, PSK31 alebo SSTV, čistá demodulácia postranných pásiem spolu s Raw IQ režimom umožňuje smerovať audio výstup alebo dátový tok do externého softvéru (napr. WSJT-X, Fldigi). To zjednodušuje monitorovanie šírenia, sledovanie majákov v sieťach RBN (Reverse beacon Network) a WSPR, ako aj sledovanie aktivity počas hromadných pile-upov.
- CW (Continuous Wave): Telegraphy reception where the system uses narrowband client resamplers and filters to clean signals from ambient interference.
- Raw IQ: Output of raw complex samples for further processing by amateur radio applications.
Hardware support and low-level configuration

The project is primarily optimized for USB dongles with the RTL2832U chipset (e.g. RTL-SDR v3 or v4). Through the YAML configuration file, the system administrator has direct control over the tuner registers and ADC converter parameters:
directSampling: Allows activation of direct sampling (I or Q branch) for shortwave reception below 24 MHz without the need to include an external upconverter or transvertor. V minulosti stavba prijímača vyžadovala namotávanie cievok na toroid, prácne ladenie filtrov LPF a HPF na plošnom spoji (PCB) s diskrétnymi súčiastkami, osadzovanie výkonových prvkov ako MOSFET a LDMOS, a integráciu riadiacich podsystémov cez rozhrania ako I2C s mikrokontrolérmi Arduino Nano, displejmi LCD a externou pamäťou EEPROM. S no-sdr a priamym vzorkovaním sa táto bariéra odbúrava na softvérovej úrovni.bias: Software switching of power supply over coaxial cable for preamplifiers or LNB konvertory, čo je ideálne pre príjem satelitných signálov (napr. AO-10) alebo sledovanie prevádzky na nízkych obežných dráhach (LEO).digitalAgcandifGain: Presné nastavenie zosilnenia medzifrekvencie na potlačenie intermodulačného skreslenia (IMD) and optimalizáciu dynamického rozsahu.offsetTuningandtunerBandwidth: Eliminating the DC offset in the center of the spectrum and defining the hardware bandwidth of the protocol.
For applications requiring absolute frequency stability and elimination of temperature drift, the hardware can be supplemented with an external GPS-controlled Oscillator (GPSDO) reference.
Infrastructure and network compression mechanisms

The infrastructure layer supports direct integration with the utility rtl_tcp. Hardvérový dongle tak môže byť umiestnený na vzdialenom mieste priamo pri napájači smerovej antény (napr. yagi, quad, hexbeam, spiderbeam či dlhý rhombic, kde transformátor alebo balun provide adaptation), while the no-sdr server itself runs in hamshack or in the cloud and communicates with it via a TCP line, minimizing losses in the RF cable.
The network subsystem uses multi-codec compression with negotiation for each connected client:
- FFT Stream (Spectrum): The spectrum is transmitted either uncompressed (Uint8, ratio 4:1), using ADPCM (ratio ~8:1), or using the default Delta+Deflate combination, which achieves a lossless compression ratio in the range of 7.5:1 to 10:1. This reduces the spectral waterfall bitrate to 12-15 kB/s while maintaining a frame rate of 12 to 30 FPS with an FFT size of 8192 bins.
- IQ Stream (Audio): Raw data is transmitted either as uncompressed Int16, via ADPCM (4:1, default), or via server demodulation with Opus VBR (32 kbps mono / 64 kbps stereo) or Opus HQ (128 kbps mono / 192 kbps stereo) encoding using the WebAssembly library opusscript.
The server accumulates IQ samples into fixed 20-millisecond blocks, guaranteeing constant, jitter-free delivery of WebSocket messages. On the client side, a linear resampler interpolates narrowband signals (SSB with 24 kHz sampling and CW with 12 kHz sampling) to the standard 48 kHz frequency of the sound card.
Features of no-sdr
The no-sdr user interface is designed with the ergonomics and aesthetics of traditional instrumentation in mind. It offers three visual themes that evoke classic amateur radio indicators: a cyan LCD theme, a phosphor green CRT theme, and an amber VFD theme. The interface is fully responsive and optimized for both desktop and mobile touch devices.
The client audio DSP chain includes the following functions:

- 5-band parametric equalizer: With fixed center frequencies at 80 Hz (LOW), 500 Hz (L-MID), 1.5 kHz (MID), 4 kHz (H-MID) and 12 kHz (HIGH) with a control range of ±12 dB for each band, which allows you to suppress low-frequency noise or, conversely, emphasize highs for better modulation readability.
- Balance and Loudness: Pan control from -100% left to +100% right along with dynamic compression and pre-boost.
- Intelligent Squelch: An adjustable noise gate that responds to signal level. It includes an algorithm that briefly bypasses the attenuation (500 ms bypass) after each frequency change on the VFO, allowing the operator to immediately hear the acoustic signature of the noise on the new frequency.
The WFM Demodulator has a unique feature of dynamic channel mixing (stereo blend) depending on the current signal-to-noise ratio (SNR). If the signal level decreases, the proportion of the stereo component is gradually reduced towards mono reception. This prevents a sharp increase in noise, which is typical for weak FM stereo stations. All these mathematical operations are performed exclusively on the client side, which guarantees minimal processor utilization on the server.
Prevádzka na KV vyžaduje neustále sledovanie parametrov šírenia ako MUF, K-index a A-index. Keď zachytíte vzácny spot v DX clustri or cez Reverse Beacon Network (RBN), či už ide o expedíciu pracujúcu v režime Fox/Hound alebo klasický split v hustom pile-upe na KV pásmach, spoľahlivý sekundárny sieťový receiver pomáha analyzovať situáciu na celom pásme. Na ochranu vstupných obvodov pred statickou elektrinou sa na anténne vstupy dopĺňa transil. Na strane príjmu cez no-sdr nás však zaujíma predovšetkým dosiahnuté SNR a schopnosť zachytiť maximálny ODX a QRB pri náročných podmienkach, ako je meteor scatter či EME prevádzka.
Where to download
The no-sdr project is developed as fully open-source software distributed under the free MIT license, which guarantees complete code transparency, the possibility of modification and free community or private deployment. The source codes, architecture documentation (SPEC.md) and the list of active tasks (tasks.md, TODO.md) are publicly available on the GitHub platform in the author's repository:
https://github.com/gbozo/no-SDR The most efficient way to deploy no-sdr in amateur radio practice is to use Docker technology. The project automatically builds and publishes production images to the GitHub Container Registry (GHCR). Sample configuration file docker-compose.yml for quick launch of a container with direct access to a local USB tuner looks like this:
version: '3.8' services: no-SDR: image: ghcr.io/gbozo/no-SDR:latest ports: - '3000:3000' environment: - NODE_ENV=production - LOG_LEVEL=info privileged: true devices: - /dev:/dev restart: unless-stopped volumes: - ../config:/app/config For the tuner to function properly on the host side, it is necessary to ensure proper configuration of low-level access to the USB bus. Below is a basic example of a configuration file config.yaml, which defines a local RTL-SDR dongle and a basic profile for spectrum monitoring:
server: host: '0.0.0.0' port: 3000 adminPassword: 'changeme' dongles: - id: dongle-0 deviceIndex: 0 name: 'RTL-SDR #0' source: type: local autoStart: true profiles: - id: fm-broadcast name: 'FM Broadcast' centerFrequency: 100000000 sampleRate: 2400000 fftSize: 2048 After successfully starting the container, just open a web browser and enter the server IP address with the corresponding port 3000. Management of profiles, frequency ranges and hardware parameters is done directly by editing the YAML configuration. This makes integrating no-sdr into the infrastructure of a modern hamshack a matter of minutes. Whether you are looking for a reliable way to monitor local converters in the DMR and D-Star bands, or want to provide remote access to the receiver for a SWL ring, no-sdr represents the technological cutting edge in the field of web-based SDR reception.
