SDRoxide is a new software-defined radio (SDR) is an open source transceiver written entirely in Rust. The author of the project is Josef, OE3JJS. The program runs natively on Linux, macOS, and Windows (both x86-64 and ARM64 architectures), or as a server that streams the complete interface to any web browser via WebAssembly. The project is currently in beta and is being actively and rapidly developed.
In the article you will read
What does SDROXIDE bring?
The main idea of SDROXIDE is to unify functions that radio amateurs have had to divide between several separate programs - panadapter, dekodéry digitálnych módov, CW/PSK/RTTY skimmer, logovací softvér a prepojenia s QSL službami. Všetky moduly bežia natívne v jednom procese bez potreby virtuálnych audio káblov alebo externých dekodérov. Rozhranie obsahuje GPU-akcelerovaný vodopád (waterfall) s duálnym VFO, a neural network noise reduction, built-in skimmers, a full set of digital modes, and a live 3D view of space weather.

Supported devices
SDROXIDE accesses hardware through eight families of pluggable backends, covering a wide range of commonly used SDR receivers and TCVR.
| Backend | Supported devices | Note |
|---|---|---|
| RTL-SDR | RTL2832U dongles with tuners R820T/T2, R828D | Native Rust driver, no SoapySDR and libusb; HF band via Blog V4 or direct sampling; receive only |
| RX-888 | RX-888 and Mk2 (ADC LTC2208 16-bit, Cypress FX3) | Native Rust driver, firmware uploads automatically; 0–32 MHz sampling directly to 129.6 Msps; receive only |
| SoapySDR | HackRF One, LimeSDR and other SoapySDR devices | Full panadapter, skimmers and internal demodulation; TX according to hardware capabilities |
| OpenHPSDR | Hermes/Apache Labs Ethernet SDR | Both Protocol 1 and Protocol 2, DDC rates 48 kHz – 1536 kHz |
| TCI | ExpertSDR3 / SunSDR | Via WebSocket protocol TCI, broadband IQ reception and performance management |
| SmartSDR (experimental) | FLEX-6000 / FLEX-8000 | Connects as a GUI client via DAX IQ stream; not yet verified on real hardware |
| PlutoSDR (experimental) | ADALM-Pluto (AD9361/AD9363) | Via IIOD without the need for libiio; wideband IQ reception and transmission; not yet verified on real hardware |
| CAT / Audio | Icom (CI-V), Yaesu, Xiegu | Frequency and mode control via CAT, demodulated audio via USB sound card |
Pred ktorýkoľvek z týchto backendov je možné zaradiť HF upkonvertor (napríklad Ham It Up, SpyVerter), transvertor alebo LNB offset for satellite reception – by selecting from a preset list or by directly entering the offset in hertz.
Video: SDRoxide in practice
All modes, one program
Each mode runs as a native Rust modem directly in the program process - no external decoders and no need for virtual audio cables between programs. Voice modes cover LSB, USB, AM, SAM, DSB, NFM and WFM. The CW decoder automatically detects the signal speed and also offers keyboard transmission with type-ahead. FT8/FT4 runs as an auto-sequencing QSO engine with world map and automatic logging. JS8 supports all four speeds and is compatible with JS8Call.

FreeDV RADE delivers neural digital voice readable well below the threshold of regular SSB. Classic keyboard modes PSK31 and RTTY are supported bidirectionally. The weak signal MFSK mode family includes Olivia, THOR and FSQ (with FSQCALL layer). Hellschreiber covers Feld Hell, Slow, X5, X9, FSK245, FSK105 and Hell80 variants. SSTV supports reception and transmission in Scottie, Martin and Robot formats. Additional modes include weather fax (WEFAX) with automatic start/stop according to station schedule, RIFP for packet image transmission and RF Paint for drawing text and images directly onto the waterfall.
Other features
SDROXIDE includes four noise reduction mechanisms, each with three levels of intensity – RNN (RNNoise), DFNR (DeepFilterNet3 with 6/12/24 dB depth), SPEC (libspecbleach) and built-in spectral NR. It also includes an impulse noise blanker and an adaptive notch filter (ANC) to suppress constant tones (for example, during tuning).
Built-in skimmers for CW, PSK31 and RTTY indicate decoded call signs directly on the waterfall across the entire visible bandwidth. The program supports memory channels and frequency range scanning with 5/6.25/8.33/10/12.5/25 kHz steps, FFT scanning on IQ radios, dB threshold or squelch, and CARRIER/TIMED/MANUAL modes for resume after stop. CTCSS and DCS decoding is available on FM mode including optional tone squelch.
The ten-slot voice keyer controls the broadcast from the panel, numeric keypad, MIDI pad, footswitch or via Hamlib, with 48 kHz mono WAV files. The program also offers one-click recording of received audio to disk. A special chapter is a live 3D view of space weather - the solar system with the sun, Earth and Moon on a real ephemeris, the auroral oval according to the NOAA OVATION model, satellite tracking via SGP4 with flyby tables, CME data from NASA CCMC DONKI and a promotional panel with MUF interpolated from the GIRO ionosone network, Kp/A index, F10.7 flux and GOES X-ray class.
The bandplan strip scan, RIT/XIT markers, live TX monitor trace and broadcast-station labels are plotted directly on the waterfall – allowing the operator to see band context without switching between windows.
SDROXIDE specification table
| Category | Specification |
|---|---|
| Waterfall renderer | GPU (wgpu), spectral curve above waterfall, full frame rate |
| FFT size | 2048 / 4096 / 8192 / 16384 / 32768 |
| Color schemes | Classic, Viridis, Gray, Icom, Neon, Synthwave, Matrix, Tron |
| Noise reduction | RNN, DFNR (DeepFilterNet3), SPEC (libspecbleach), built-in spectral NR – each in three levels |
| AGC | Off / Slow / Med / Fast, with hang function |
| VFO | A/B with split, swap and copy; sub-receiver on inactive VFO; RIT and XIT ±9999 Hz in 5 Hz steps |
| Scanning | Memory and range scanning, 5–25 kHz steps, FFT sweep on IQ radios |
| Broadcasting | PTT, TUNE nosná, drive a tune-drive, mikrofónny zisk, meter výkon/SWR/ALC, ham-band TX lockout predvolene zapnutý |
| Operating systems | Linux, macOS, Windows – x86-64 and ARM64 |
| Operating modes | Native desktop application, –server (WebAssembly to browser), –connect (native remote client), –console (ASCII waterfall) |
| Without hardware | –siggen built-in signal generator, –file playback of raw CF32 IQ data, –probe list of device capabilities |
Remote operation
SDROXIDE offers three modes of operation from a single binary. Native desktop application runs directly against a local SDR or CAT device for the lowest latency. Server-to-browser mode (launched with the command SDRoxide --server) streams the entire interface to any browser on the network without the need for client-side installation. Native remote client (SDRoxide --connect host:4950) umožňuje ovládať vzdialenú stanicu z plnohodnotného desktopového klienta – takzvané „Shack-from-anywhere" solution.

Login is secured with a username and password, which is required for every remote connection – in the browser, in the –connect client, and in the 3D view. Changing the password takes effect without the need for a reboot, and an unauthenticated connection never takes up space in the client session. The authors emphasize that login is not encryption: outside a trusted local network, it is recommended to run the server behind a VPN or behind an HTTPS reverse proxy.
Download: macOS, Windows, Linux, Web client
SDROXIDE is available for Linux, macOS and Windows on both x86-64 and ARM64 architectures. The default build works without any additional dependencies - suitable for CAT radios, networked FlexRadio and ADALM-Pluto devices, RTL-SDR dongles and RX-888, whose drivers and firmware are built directly into the binary. The build with SoapySDR adds support for wideband SoapySDR devices (HackRF, LimeSDR and similar), for which you need to have the SoapySDR libraries and the radio-specific driver installed.
The program can also be compiled directly from the source code using the command cargo install --git https://github.com/dividebysandwich/SDRoxide, on Arch Linux the package is available via AUR with the command steam -S sdroxideComplete binaries, checksums, and a list of all releases are available on the project's GitHub Releases page.
The user guide is published on GitHub and is built directly into the application - accessible by pressing the F1 key.
Conclusion
SDRoxide is a young, but functionally extremely ambitious project that tries to replace the entire ecosystem of separate SDR programs with a single native solution written in Rust. Combining panadapter, digital modes, skimmers, logging and 3D space weather visualization in one process is a practical simplification of shack for the radio amateur. Since this is a beta software with active development, the authors recommend not using it for critical operation for the time being and reporting bugs via GitHub Issues. The source code, binaries for all platforms and complete documentation are freely available at sdroxide.com and at GitHub project dividebysandwich/sdroxide.
