Native RTL-SDR
RTL2832U sticks driven straight over USB by a native Rust driver — no SoapySDR, no libusb, so they work in the stock installers. R820T/T2 and R828D tuners; HF through a Blog V4 or direct sampling.
SOFTWARE-DEFINED RADIO TRANSCEIVER
A powerful SDR transceiver client with a GPU panadapter, dual VFOs, neural noise reduction, built-in skimmers, a full stack of digital modes, Winlink radio email, 868 MHz sensor decoding, hands-free satellite operation and a live 3D space-weather globe — running native on Linux, macOS & Windows, or streamed to any browser.
$ cargo install --git https://github.com/dividebysandwich/sdroxide
(arch-linux)$ paru -S sdroxide
Plug in whatever you own
SDR Oxide supports everything from USB dongles, direct-sampling HF receivers, wideband IQ radios to network transceivers, dongle servers and CAT-controlled rigs and handhelds with nothing but an audio socket — twenty-one interface families through pluggable backends.
RTL2832U sticks driven straight over USB by a native Rust driver — no SoapySDR, no libusb, so they work in the stock installers. R820T/T2 and R828D tuners; HF through a Blog V4 or direct sampling.
RX-888 and Mk2 over USB 3 on a native Rust driver — no SoapySDR, no vendor package, firmware uploaded for you. 0–32 MHz sampled straight, feeding the wideband scope — and on a Mk2 the built-in R828D tuner is driven too, so the same receiver covers VHF and UHF and switches between its two antenna ports on its own.
A HackRF One, Jawbreaker or rad1o over USB on a native Rust driver — no SoapySDR, no libhackrf, so it works in the stock installers. 1 MHz – 6 GHz, 2–20 Msps, wideband IQ receive and transmit.
Hamlib and Flrig via network, Icom / CI-V, Kenwood, Yaesu and Xiegu radios over a USB sound card — SDRoxide drives frequency & mode while the rig feeds demodulated audio. Lend the rig a second SDR as its panadapter receiver and the same tab gains a real wideband waterfall.
A handheld, walkie-talkie or audio-dongle rig with no control port at all — receive audio from one sound card, transmit audio into another, and the radio's own VOX doing the keying. Digital modes decode from its audio, and the dial is a label for the log, the spots and the transmit lockout.
A dongle on a Pi at the foot of the mast, published with rtl_tcp — or an SDRplay RSP served by rsp_tcp, whose extended mode brings 16-bit samples and the RSP's own antenna, LNA and notch controls.
An Airspy, Airspy HF+ or RTL-SDR published with Airspy's spyserver. Take it as wideband IQ over the LAN, or in the VFO+FFT low-bandwidth mode — a narrow stream that follows the dial plus the server's own FFT of the whole band — for a receiver at the far end of WiFi or a cellular link.
A KiwiSDR published with its kiwisdr server software. Take it as wideband IQ over the LAN, via the internet from hundreds of public KiwiSDR installations.
Any SoapySDR device — LimeSDR, bladeRF and friends — for the full panadapter, skimmers and internal demodulation.
OpenHPSDR Ethernet SDRs on the LAN, speaking both Protocol 1 and Protocol 2 for high-dynamic-range wideband receive.
Connect to ExpertSDR3 and a SunSDR transceiver over the TCI WebSocket protocol and take over the waterfall.
An IC-7300MK2, IC-705, IC-9700, IC-7610, IC-905 or IC-R8600 over its own Ethernet or WiFi port — the RS-BA1 protocol, no licence and no cable. Control, audio and the radio's own scope on one connection; take the 12 kHz IF instead of AF and SDRoxide does the demodulating.
A FLEX-6000 or FLEX-8000 joined as a GUI client, feeding SDRoxide a DAX IQ stream — panadapter, skimmers and digimodes built from the radio's own samples.
An ADALM-Pluto driven straight over IIOD by a native Rust client — no libiio, no SoapySDR. Wideband IQ receive and transmit, with the board's real tuning limits read off the device.
Every RSP — RSP1 through RSPdx R2 — driven natively through the vendor's SDRplay API service, no SoapySDR in the path. 1 kHz – 2 GHz receive at up to 10 Msps of IQ.
An HF+ Dual, Discovery or Ranger on a native Rust USB driver — no SoapySDR, no libairspyhf, so it works in the stock .msi and .dmg too.
A different receiver from the HF+, with its own native Rust driver: 24 MHz – 1.8 GHz, 10 / 2.5 Msps on an R2 and 6 / 3 on a Mini, Airspy's own linearity and sensitivity gain curves, and 12-bit packing to keep it inside USB 2.
An RFOne over USB on its own native Rust driver — no SoapySDR, no libhydrasdr. 24 MHz – 1.8 GHz at up to 12 Msps, its three RF sockets — ANT, CABLE1, CABLE2 — selectable on the panel. A fork of the Airspy R2 rather than a relative: the two cannot drive each other's hardware, so SDRoxide tells the two apart before it opens either one.
An FDM-DUO, FDM-DUOr, FDM-S2 or FDM-S1 over USB on a native Rust driver — no SoapySDR, no gr-elad. On an FDM-DUO the one interface covers the whole radio: the wideband receiver, the CAT link and the transmit sound card.
LimeSDR-USB, Mini v1 / v2, LimeNET-Micro and LimeSDR-PCIe through LimeSuite, loaded at run time — wideband IQ both ways and genuinely full duplex, so the receiver keeps running through your own over. It also drives the LimeRFE front end that SoapySDR can't reach: band filters, LNA, amplifier and the T/R relay, following the dial. Name the socket you listen on, put a second aerial on the board's other receive chain to null local QRM or ride out HF fades on diversity, or feed that chain from a coupler on the amplifier and linearise it — PureSignal.
The high performance wideband FobosSDR over USB on its own native Rust driver — no SoapySDR needed.
UP-/DOWNCONVERTERS Support for Ham It Up, SpyVerter, etc. is included. Transverters or a satellite LNB can sit in front of any of them. Use included presets or freely configure the offset in hertz.
All modes, one program
Every mode runs in-process — native Rust modems, with the DRM receiver and the RADE codec linked into the binary and HD Radio's libnrsc5 loaded at start-up. No decoder programs running alongside, no virtual audio cables, nothing to wire up between programs.
LSB · USB · AM · SAM · DSB · NFM · WFM
Decoder that reads the speed off the signal, plus type-ahead keyboard sending — or press KEY and the Space bar is a straight key.
Auto-sequencing QSO engine, world map, automatic logging. FT2 is the fastest of the three — a whole contact in about six seconds.
Keyboard conversation on FT8's waveform. All four speeds, JS8Call-compatible.
Neural digital voice, readable well below the SSB threshold.
Beaconing with band hopping and WSPRnet upload — every path heard feeds the propagation map.
The classic keyboard modes, receive and transmit.
Weak-signal MFSK, every variant, with the FSQCALL directed layer.
Feld Hell, Slow, X5, X9, FSK245, FSK105 and Hell80.
Receive and transmit — Scottie, Martin, Robot, Wraase SC2 and the high-resolution PD family.
Station schedules, auto start/stop, phasing and slant correction.
Packetised image transfer over its own CPFSK modem.
Text and images painted straight onto the waterfall.
AX.25 at 300 baud on HF sideband, 1200 and 9600 on FM — with a frame monitor and a KISS server for other software.
Radio email, built in — B2F/FBB forwarding over the internet or over the air.
Digital shortwave broadcasting — Digital Radio Mondiale decoded to clean audio, with the station's name, its scrolling text and a constellation to tune it in by. Receive only.
The digital sidebands of an FM broadcast — NRSC-5 decoded to stereo audio, with the HD-2 subchannels and the station's name, slogan and message. Receive only; uses the libnrsc5 installed on the machine.
What a broadcast station carries beside its audio — name, radio text, programme type and traffic flags, decoded whenever you're on WFM.
The 2-FSK bursts from the weather, soil, lightning and leakage sensors around you, read out in real units. See the decoder ↓
Automatic Packet Reporting System — track positions on a map, transmit and receive messages and receive local weather reports over amateur radio.
Automatic Identification System — track ship positions on a map in real-time and monitor maritime traffic.
Automatic Dependent Surveillance-Broadcast — track aircraft positions on a map in real-time, receive weather information and alerts, and monitor air traffic.
VHF Data Link Mode 2 — follow message exchanges between aircraft and ground stations.
The airline datalink on VHF airband — 2400-baud MSK over AM, each message listed with its time, aircraft registration, label and text, and chips for the ACARS channels.
WINLINK RADIO EMAIL A native client for the amateur store-and-forward network — B2F/FBB forwarding, LZHUF compression and the secure login, with no external program to install. MAIL opens a real mailbox: inbox, outbox, sent and archive, compose and reply, attachments, and SMTP: addressing out to ordinary internet email. Forward over the internet to the CMS, or on the air over AX.25 packet to the RMS Packet gateways — with your own gateway list, digipeater paths and a connect timer. The mailbox lives on the machine with the radio, so remote and browser clients read it a page at a time instead of carrying a copy.
Tabbed operation and side-by-side
Operate multiple radios and receivers simultaneously with ease — local hardware and remote stations in the same window.
Monitor your own transmissions, run satellite operations in full duplex, and operate multiple bands and modes simultaneously. Works with multichannel radios as well as multiple individual radios.
Type an address into Settings → Remote, press CONNECT, and a remote SDRoxide server opens as a radio tab of its own beside your local hardware — no separate client, no restart. Your own radios keep running while you work the remote one, and closing the tab hangs up without touching anything at the far end.
A CAT rig with no wideband output and an SDR on the desk beside it become one radio: pick the SDR under Panadapter → Receiver on the transceiver's page and that tab gains the real thing — a wideband panadapter and waterfall you can click to tune, a sub-receiver, the digimodes, the skimmers and the band-plan and spot overlays — while the dial, mode, filter, transmitter and keyer all stay with the rig. Tap it off a shared antenna or off the rig's own I.F., with the intermediate frequency in hertz and per-mode offsets for rigs that move the carrier between modes. The dial follows both ways: click a signal and the rig goes there, turn the rig's knob and the marker follows.
See the weather you're working through
A live three-dimensional view of the Sun, the Earth, our solar system and everything on its way here — built from NASA SDO, NOAA SWPC, DONKI, GIRO and CelesTrak data plus what your own receiver hears, and cached so it works offline.
NOAA's OVATION model drawn as glowing shells at the altitudes the atmosphere actually radiates at, with the 10% boundary on the surface. Alongside it: hemispheric power, the probability over your grid square, and Kp forecast bars — so you can tell at a glance whether it's worth staying up.
Cloud cover rendered in 3D over the globe, and lightning strikes plotted where they land — the static crashing in your receiver, given a location. Both refresh every ten minutes.
Birds propagated with SGP4 — QO-100, the ISS, AO-7, FO-29, SO-50 and friends with orbit rings and labels, or every satellite you track at once. Each label carries its elevation from your QTH right now; click one for a pass table with rise/set times, AOS/LOS azimuths and maximum elevation, and the downlink, uplink and mode of every transponder on it.
The tracker subscribes rather than downloading once: amateur and ISS out of the box, plus CelesTrak's weather, cubesat, space-station, geostationary, GNSS and recent-launch groups on one click — refetched in the background and cached for when you're offline.
Live NASA SDO imagery — HMI continuum for sunspots, or AIA 193 / 304 / 171 / 211 and the composite for the corona. Sunspot regions are sized by real spot area and coloured by NOAA's next-24-hour flare probability, with the image age always on screen.
MUF interpolated from the ionosonde network — with the distance to the nearest sounder — a measured HEARD ≥ floor from your own decodes, plus Kp / A, F10.7 flux and the current GOES X-ray class, colour-coded in the corner before you call CQ.
Everything this station hears is evidence about the ionosphere, and it is all pooled into one global picture — WSPR both ways, FT8 / FT4 and JS8 decodes, logged QSOs, and with the Reverse Beacon Network feed on, everything thousands of skimmers worldwide hear too. Each path is painted at its ionospheric midpoint — where the sky bent the signal, not where the other station lives — on the flat maps and the 3D globe, band by band in blended hues, fading on a 45-minute half-life.
A local MUF is computed from your own receptions — the highest frequency that demonstrably got through near your QTH — and sits beside the nearest ionosonde's number, so you see at once when the band is doing better than the model says. The BANDS window puts the published hamqsl.com forecast next to what was actually measured: paths through, share of the world reached and best margin, per band — and the verdicts colour the band buttons.
Coronal mass ejections from NASA CCMC's DONKI grow out of the Sun as cones at their measured speed, so the picture reads out where the plasma has got to. When one is Earth-directed, a banner names it with its speed and an estimated arrival time.
Every station decoded in the last two minutes is a fading dot on the globe, and the one you're working is joined to your QTH by a true great-circle arc — with a bright pulse running along it while you transmit.
Scrub the whole scene ±24 hours, or let AUTO fly a two-minute camera tour.
Doppler correction and antenna steering built in
Pick a satellite, press LOCK ON, and every voice and digital mode works through it — Doppler correction happens continuously, the antenna is steered for you, and the orbital elements are updated in the background.
The engine propagates the orbit with SGP4 a few times a second and corrects receive Doppler in the DSP — the dial and the waterfall stay on the published frequency while the receiver quietly follows the moving signal. Your uplink is derived from the transponder's published mapping, reversed across inverting transponders with the sideband flipped, and transmit Doppler is pre-corrected and keeps being corrected during the over — a long SSB over or an FT8 burst stays on frequency at the satellite, key-down to key-up.
SDRoxide steers motorized antennas as a Hamlib rotctld client — GS-232, EasyComm, SPID and everything else Hamlib drives, over one protocol. A locked bird is tracked across your sky automatically: the rotator swings onto the rise azimuth in the last minute before AOS and parks after LOS, with a minimum elevation for your roofline, an azimuth offset, and a smallest-movement threshold so the motors aren't chasing tenths of a degree.
Locks run on the built-in TLE database that updates itself — background subscriptions refetched and cached for offline use, with each bird's transponders, beacons and repeaters listed alongside. Stale elements suspend the correction rather than freezing it, and it resumes on the next refresh. On the 3D globe the locked bird is highlighted with a sightline from your QTH, and every pass window gains a LOCK ON button of its own.
From heard, to worked, to confirmed
The logbook grew up: contest fields, spot feeds that tune the radio for you, callsign lookup, award tallies, and one-click upload to the services you already use.
Contacts grouped into daily sessions, auto-logged from FT8/FT4 or entered by hand. The form holds name, QTH, state, country, power and contest fields, and a worked-before badge warns when you've already worked that call on the band.
Import an ADIF file, de-duplicated against what you have; export to ADIF or plain text. Records carry DXCC entity, CQ/ITU zones, IOTA and POTA/SOTA references, with a QSL column tracking what's uploaded and confirmed. The decode list exports too — as CSV or as received-report ADIF marked SWL, which an import keeps out of the log.
A DX cluster over telnet, plus POTA, SOTA, PSK Reporter and FreeDV Reporter. Spots appear as colour-coded markers on the waterfall and as dots on the FT8 world map. Click a spot and SDRoxide tunes the VFO, sets the mode and pre-fills a log entry.
Name, QTH, grid and state auto-fill from QRZ.com or HamQTH — on a spot click, at QSO start, as you type a call, or on demand from the entry form.
Live tallies for DXCC, WAS, WAZ and grid squares, worked against confirmed, with a per-band filter and a full state / zone matrix. Entities resolve from the callsign, so a spot for a new entity is flagged the moment it appears — and with audible alerts on, an FT8, FT4, FT2 or JS8 decode rings on a sound device of its own for a station calling you, a new DXCC entity, a new entity on the band or a new grid, even while the window is behind another.
Push QSOs to eQSL, QRZ Logbook and Club Log, per QSO or automatically. LoTW goes out as ADIF for TQSL signing — and LoTW and eQSL confirmations come back to mark what's confirmed.
Detection and decoding of automated ISM transmissions
Around 868 MHz the licence-exempt band is full of small transmitters that wake up, send a few milliseconds of 2-FSK and go back to sleep for a minute. Press ISM and SDRoxide reads them — one row per device, with its readings in real units.
The ISM channels sit at fixed frequencies, so the decoder parks a receiver on each rather than searching the band — 868.300, 868.420, 868.950 and 869.525 MHz, behind a burst detector with a squelch set in dB above the channel's own noise floor. Those four span about 1.4 MHz: tune to 868.880 MHz and the whole plan fits inside the IQ even a 2 Msps receiver hands over, and any channel outside your window says so instead of quietly missing. On an RX-888 Mk2 the VHF tuner gets you there. Like the skimmers this is a wideband feature — it needs a true IQ source, not a CAT rig's audio.
LaCrosse IT+ — TX29-IT, TX35 and TX35DTH-IT with the Conrad and TFA units that are the same radio in another case. The Fine Offset family, also sold as Ecowitt, Froggit, Ambient Weather, SwitchDoc and Misol: WH51 soil moisture, WH24 outdoor arrays, WS80, WS90 and WS85, WN34 / WN38 soil and water probes, and the WH57 lightning detector with its strike distance and running count. Bresser sensors — Weather Center 6-in-1 and 5-in-1 arrays, soil probe, pool thermometer and water-leakage sensor.
Supports a wide range of sensors and devices compatible with the rtl_433 project, providing real-time decoding and display of their data. The rtl_433 flex config format is supported for custom signal definitions.
The whole feature sheet
Every mode, interface, decoder and toggle in one place.
| Voice & CW | LSB · USB · CW · AM · SAM · DSB · NFM · WFM · DRM · HD RADIO · DIGU · DIGL · SPEC (spectrum only) |
|---|---|
| CW | Decoder with automatic speed, threshold and spacing · type-ahead keyboard sending · Farnsworth spacing · speed lock · CQ macro · KEY turns the PC's Space bar into a straight key — ahead of any shortcut bound to it, with a 30-second hold cap, and lifted on a tab switch, when the window loses focus or when a remote client drops |
| DRM | Digital Radio Mondiale — digital shortwave broadcasting, a few hundred OFDM carriers filling 9 or 10 kHz · receive only: it is a broadcast system and there is no amateur DRM to send · dial the channel centre, the figure the broadcaster publishes; the six widths the standard allows (4.5 / 5 / 9 / 10 / 18 / 20 kHz) shade the display, while the decoder reads the real width out of the transmission · a six-stage lock strip — IO · TIME · FRAME · FAC · SDC · AUDIO — where the lights stop is the diagnosis · SNR and MER, robustness mode A–D, 400 ms or 2 s interleave, protection levels, sample-clock offset, Doppler and echo delay · the station's name, country and language, codec, bit rate and its scrolling text message, plus the broadcaster's clock where the multiplex carries one · multiplexes carrying more than one programme get a row of service buttons · QUALITY traces SNR against MER over the last minute — the gap between them is the reading · CONSTELLATION plots the equalised FAC, SDC or MSC symbols, 512 cells taken evenly across the frame, coloured green / amber / red by how close each sits to its decision boundary, so a rising error rate shows before the audio breaks up · audio bypasses the AGC, and plays in stereo where the station is · about 15 dB SNR for a reliable 10 kHz decode · AAC only — xHE-AAC, CELP and HVXC are not decoded, nor are Journaline, MOT slideshows and the programme guide |
| HD Radio | NRSC-5 — the digital sidecar of an FM broadcast, OFDM sidebands roughly 129–198 kHz either side of the analog carrier and about 20 dB below it · HDC audio in stereo, a row of HD-n chips for the HD-2 and further subchannels, back to HD-1 on a retune · the station's name, slogan and the message it is airing · dial the analog carrier's centre, as for WFM · needs at least 400 kHz of complex sample rate — 1 Msps is ample — and names the rate it needs rather than starting on a channel too narrow for both sidebands · a SYNC · AUDIO lock strip, MER of the lower and upper sidebands separately, CBER, carrier offset and the PSMI service mode · decoded on a thread of its own, so it never holds up the panadapter · receive only, FM hybrid only — HD on the AM band, album art and blending back to analog are not there yet |
| Digital voice | FreeDV RADE V1 — neural speech codec on an OFDM waveform, inside a normal USB channel (~1060–1880 Hz) |
| FT8 / FT4 / FT2 | One protocol at three speeds — 15 s / 7.5 s / 3.75 s slots, 50 / 83 / 167 Hz wide, decoding to about −21 / −17 / −14 dB · FT2 turns a contact round in about six seconds · sortable decode list, auto-sequencing QSO engine, dot-matrix world map, automatic logging |
| JS8 | All four speeds — Normal 15 s · Fast 10 s · Turbo 6 s · Slow 30 s · heard list, multi-frame free text, heartbeat, directed frames byte-identical to JS8Call's |
| WSPR | Beacon receive and transmit — 10–50% slot duty, the nineteen WSPR power steps, ROAM offset, band hopping between slots · WSPRnet upload and who-heard-me polling · every decode feeds the propagation heat map |
| Keyboard modes | PSK31 (BPSK31, varicode) · RTTY (45.45 / 50 / 75 baud, 170 / 425 / 850 Hz shift, Baudot) |
| Weak-signal MFSK | Olivia (2–64 tones, 125–2000 Hz) · THOR (THOR4 – THOR32) · FSQ (FSQ-2 / 3 / 4.5 / 6) with the FSQCALL directed layer |
| Hellschreiber | Feld Hell, Slow, X5, X9, FSK245, FSK105 and Hell80 |
| SSTV | Receive and transmit — Scottie 1 / 2 / DX, Martin 1 / 2, Robot 72 / 36, Wraase SC2-180 / SC2-120 and the PD family — PD50 / 90 / 120 / 160 / 180 / 240 / 290, up to 800×616 · Auto picks the mode from the VIS header or the sync cadence, and a header naming a mode that cannot be drawn is reported rather than ignored |
| RIFP | draft-dulaunoy-rifp-00, profile rifp-cpfsk-4800 — 4800-baud CPFSK, ±4 kHz · G4 fax / PNG / JPEG / packed grayscale at 1, 2, 4 or 8 bpp |
| Weather fax | WEFAX / radiofax, receive only — station and schedule picker, auto start/stop, 60–240 LPM, IOC 576 / 288, phasing and slant correction |
| RF Paint | Transmit only — text & image spectrum painting in a 3 kHz SSB channel, 6–100% scan speed, live preview |
| AX.25 packet | PACKET on FM — 1200 baud Bell 202 and 9600 baud G3RUH (data port required) · PACKET-HF on sideband — 300 baud AFSK, 200 Hz shift · frame monitor with digipeater paths, busy detection and a bad-frame count · KISS server on a socket for Pat, an APRS client or the Linux AX.25 stack · modem validated against Direwolf in both directions |
| Winlink radio email · experimental | Native client for the amateur store-and-forward network — B2F/FBB forwarding, LZHUF compression, secure login · inbox / outbox / sent / archive with compose, reply and attachments · callsign or SMTP: addressing out to ordinary email · route over the internet to the CMS or on the air by AX.25 packet to RMS Packet gateways · your own gateway list with digipeater path, frequency and speed · connect timer, abortable sessions, protocol transcript · mailbox stored on the machine with the radio and paged to remote clients |
| ACARS | The airline datalink on VHF airband — 2400-baud MSK (1200 / 2400 Hz tones) carried as the audio of an AM transmitter · dial the carrier, as for AM voice, and a CAT rig is put in AM · channel chips for 131.550 MHz, the European 131.525 / 131.725 / 131.825 and the North American 129.125 / 130.025 / 130.450 / 131.125 / 136.700 MHz · messages newest first with UTC time, aircraft registration, mode, label, acknowledgement, block and text · only messages that pass their block check are listed, damaged blocks counted once · demodulator and block check ported from acarsdec · receive only |
| Implementation | Native Rust modems in-process, RADE codec linked into the binary — no external decoder, no virtual audio cables · DRM is the Dream receiver (2.2, GPL-2.0-or-later) vendored and wrapped behind a small C API, with faad2 built in and linked rather than dlopened the way Dream does it — which is the difference between a receiver that reads the station label and plays silence and one that works out of the box · in every build, nothing to install · HD Radio is the exception: its HDC codec is proprietary, so it never ships with SDRoxide — the libnrsc5 from the nrsc5 project is loaded at start-up from the machine the radio runs on, and without it the mode stays on the menu, greyed out with the reason |
| Skimmers | CW · PSK31 · RTTY — wideband, callsigns labelled straight onto the waterfall |
|---|---|
| ISM burst decoder | The 868 MHz licence-exempt band — four fixed channels watched at once (868.300 · 868.420 · 868.950 · 869.525 MHz) behind a burst detector with a dB-over-noise squelch, tune to 868.880 MHz for the whole plan · LaCrosse IT+ (TX29-IT / TX35 / TX35DTH-IT and the Conrad and TFA units) · Fine Offset — Ecowitt, Froggit, Ambient Weather, SwitchDoc and Misol — WH51 soil moisture, WH24 outdoor arrays, WS80, WS90, WS85, WN34 / WN38 soil and water probes and the WH57 lightning detector · Bresser Weather Center 6-in-1 and 5-in-1 arrays with their soil and pool members, and the water-leakage sensor · one row per device with age, measured frequency, protocol, identity, signal strength and an accepted-frame count · devices labelled on the waterfall, click a row to tune · needs a true IQ source, so not on a CAT rig's audio |
| Renderer | GPU (wgpu) waterfall with a spectrum line above it, at full frame rate |
| FFT size | 2048 · 4096 · 8192 · 16384 · 32768 |
| Colour schemes | Classic · Viridis · Gray · Icom · Neon · Synthwave · Matrix · Tron, plus a configurable spectrum background gradient |
| Wideband scope | The receiver's entire bandwidth in one strip, click anywhere to tune — on direct-sampling front ends such as the RX-888 |
| Display tools | Wheel zoom around the cursor, drag-to-pan, peak-hold, FIT auto-contrast, per-digit frequency readout, floor / ceiling |
| Drag tuning | Flywheel tuning with inertia, mimicking a weighted VFO knob |
| Overlays | Colour-coded bandplan strip, RIT/XIT markers, live TX monitor trace, skimmer callsigns, spot markers, broadcast-station labels, bandwidth measurement |
| Band plan | Band edges, sub-segments, skimmer windows and calling frequencies all follow the station's IARU region — 1, 2 or 3, applied immediately and announced to every remote client · every number lives in bandplan.json in the config directory and is yours to edit, with a RELOAD BAND PLAN button that re-reads it without a restart |
| Layout | Customizable UI with responsive tablet and mobile support · seventeen colour themes applied without a restart — Default, Light, High contrast, green and amber phosphor, Teal / orange, Rainbow, and schemes after the editor palettes Nord, Nord dark, Gruvbox, Everforest, Solarized, Solarized dark, Dracula, Catppuccin Mocha and Latte and Modern minimalist · transmit, SWR and error indications stay red in every one |
| RTL-SDR (USB) | RTL2832U dongles on a native pure-Rust driver — no SoapySDR, no libusb · R820T / R820T2 / R828D tuners, 0.9–3.2 Msps, 29-step tuner gain, bias tee, ppm correction · HF via a Blog V4 or direct sampling · receive only |
|---|---|
| RX-888 (USB) | RX-888 and Mk2 (LTC2208 16-bit ADC, Cypress FX3) on a native pure-Rust driver, bundled firmware uploaded automatically — no vendor driver package · 0–32 MHz sampled directly at up to 129.6 Msps · on a Mk2 the built-in R828D tuner is driven too, so the same receiver covers VHF and UHF — the ISM band included — and switches between its two antenna ports by itself · receive only |
| HackRF (USB) | HackRF One, Jawbreaker and rad1o on a native pure-Rust driver — no SoapySDR, no libhackrf · 1 MHz – 6 GHz, 2–20 Msps · wideband IQ receive and transmit, half duplex · LNA / VGA / TX-VGA gains with separate RX and TX settings for the 14 dB RF amp, automatic baseband filter with LO-offset DC-spike avoidance, adaptive IQ correction, bias tee · transmit is off behind a switch by default and has not yet been measured against hardware |
| Airspy HF+ (USB) | HF+ Dual, Discovery and Ranger on a native pure-Rust driver — no SoapySDR, no libairspyhf, so it works in the stock .msi and .dmg · receive only · not yet verified against real hardware |
| Airspy R2 / Mini (USB) | Airspy R2 and Mini on their own native pure-Rust driver — a different receiver from the HF+ · 24 MHz – 1.8 GHz · 10 / 2.5 Msps on an R2, 6 / 3 on a Mini, made complex on the host from the real ADC · Airspy's linearity and sensitivity gain curves, tuner AGC, 12-bit packing, bias tee, DC removal · receive only · not yet verified against real hardware |
| HydraSDR RFOne (USB) · experimental | HydraSDR RFOne on a native pure-Rust driver — no SoapySDR, no libusb, no libhydrasdr, so it works in the stock .msi and .dmg · 24 MHz – 1.8 GHz, up to 12 Msps · a fork of the Airspy R2, not a relative — same gain curves, but an eight-byte tuning command where the Airspy takes four, so neither driver may touch the other's radio · three RF sockets — ANT / CABLE1 / CABLE2 — with the bias tee on the antenna port alone · seven sample rates — 12 / 10 / 8 / 6 / 5 / 4.096 / 2.5 Msps — four of them from the firmware's alternate table, marked as such and falling back with a note where a firmware lacks them · production boards and prototypes carry different USB ids and are told apart by descriptor and firmware string before anything is programmed · receive only · not yet verified against real hardware |
| SDRplay (USB) · experimental | RSP1 / RSP1A / RSP1B / RSP2 / RSPduo / RSPdx / RSPdx R2 driven natively through the vendor's SDRplay API service — no SoapySDR in the path · 1 kHz – 2 GHz, up to 10 Msps IQ · receive only |
| RigExpert FobosSDR (USB) | RigExpert FobosSDR over USB on its own native pure-Rust driver — no SoapySDR, no vendor library, so it works in the stock installers · high-performance wideband I/Q · receive only |
| rtl_tcp / rsp_tcp (network) | A dongle on another machine — a Pi at the foot of the mast — published with rtl_tcp, or an SDRplay RSP published with rsp_tcp · the same controls as the USB tab, plus link cost shown against every sample rate and automatic reconnect · an rsp_tcp server started with -E is named properly and unlocks 16-bit samples and the RSP's antenna input, LNA state, IF gain reduction, AGC, notches and reference clock |
| SpyServer (network) | Airspy's own network server — an Airspy R2 / Mini, Airspy HF+ or RTL-SDR at the far end · two interfaces: wideband I/Q for the LAN, and VFO+FFT low bandwidth — a narrow stream that follows the dial plus the server's own FFT of the whole band — for WiFi and cellular links · bandwidth as a decimation stage or Automatic, 8 / 16-bit or float samples, and a Test connection that names the far-end receiver, its rates and whether you may tune it, without starting a stream · receive only |
| KiwiSDR (network) | A KiwiSDR published with its kiwisdr server software, taken as wideband I/Q · one on the LAN, or any of the hundreds of public installations reachable over the internet · receive only |
| SoapySDR | Any SoapySDR device (LimeSDR, bladeRF & friends) — wideband IQ, capability-driven UI, TX where the hardware allows |
| OpenHPSDR | Hermes / Apache Labs Ethernet SDRs — Protocol 1 and Protocol 2, LAN discovery, 48 kHz – 1536 kHz DDC rates |
| TCI | ExpertSDR3 / SunSDR over WebSocket — wideband IQ receive, audio transmit, rig power control |
| SmartSDR (network) · experimental | FLEX-6000 / FLEX-8000 as a GUI client on TCP 4992 — DAX IQ receive at 24 / 48 / 96 / 192 kHz, DAX TX with forward power and SWR · LAN discovery or a direct address · not yet verified against real hardware |
| PlutoSDR (network) | ADALM-Pluto (AD9361 / AD9363) over IIOD — no libiio, no SoapySDR, nothing to install · wideband IQ receive and transmit, half duplex · all four AD9361 AGC modes · tuning range read off the board: AD9363 325 MHz – 3.8 GHz, AD9364 70 MHz – 6 GHz · not yet verified against real hardware |
| ELAD FDM (USB) · experimental | FDM-DUO, FDM-DUOr, FDM-S2 and FDM-S1 on a native pure-Rust driver — no SoapySDR, no libusb, no gr-elad, so it is in every build on every platform · direct sampling behind a switchable low-pass bank and a 12 dB pad, 10 kHz – 54 MHz on an S2 · on an FDM-DUO one interface drives all three of its USB devices: the wideband receiver, the CAT link (dial, mode, PTT, S-meter, SWR and the nine drive steps to 5 W) and the transmit sound card · not yet verified against real hardware |
| LimeSDR + LimeRFE | LimeSDR-USB, Mini v1 / v2, LimeNET-Micro and LimeSDR-PCIe through LimeSuite, found by dlopen at run time so the interface ships in every build · 1–40 Msps wideband I/Q receive and transmit, full duplex — the receiver keeps running through your own over · combined 0–73 dB receive gain, LNAL / LNAH / LNAW port selection or automatic, analog filter following the sample rate, host-side IQ/DC correction on top of the chip's calibration · the LimeRFE over its own serial cable or the radio's GPIO / I²C: band filters, LNA, amplifier, 0–14 dB attenuator, notch and fan, the T/R relay switched to suit the connectors it is wired on, all following the dial · transmit armed behind a switch, and no transmit channel published until it is · not yet verified against real hardware |
| Which chain, which socket | Listen on either receive chain, each port named by the socket it actually reaches — LNAL — RX1_L against LNAL — RX2_L, since LNAL is the same word on both chains and the chip's name alone does not say which jack the aerial is in · so a board with the HF matching modification on one low-band input can be told which one that is |
| Second aerial: QRM & fades · experimental | On a LimeSDR-USB or PCIe the two receive chains share one synthesiser and one sample clock, so they hear the same span at the same instant — which is what lets a second aerial be combined with the first · CANCEL, the DSP form of a noise-cancelling phaser: it finds the gain, phase and delay that line a local noise source up on both aerials and subtracts it · COMBINE, diversity reception: the two added in the phase that reinforces, each weighted by how well it hears, filling in HF fades · the filter is adaptive and multi-tap, so the null holds across the whole span rather than at one frequency, and can be held once it has converged |
| PureSignal · experimental | That second chain fed from a directional coupler on the amplifier's output instead, to linearise it — the technique openHPSDR calls PureSignal · the transmitter compares what came back with what it meant to send and emits the inverse of the difference, for around 20 dB less intermodulation without backing the amplifier off · the correction sits at unity until the feedback lines up with the transmission, and is clamped so it can never ask the converter for more than full scale — an unconnected coupler costs nothing, and a feedback path reading nonsense cannot over-drive anything |
| Icom LAN (network) | IC-7300MK2 / IC-705 / IC-9700 / IC-7610 / IC-905 / IC-R8600 over the radio's own Ethernet or WiFi port on Icom's IP-remote protocol — no RS-BA1 licence, no serial cable, no sound card · CI-V control, two-way audio to 48 kHz and the radio's own 475-point scope on one connection · take the 12 kHz IF instead of AF and SDRoxide's own filters, NR, notches, decoders and skimmer apply across roughly ±12 kHz · not yet verified against hardware |
| CAT / Audio | Icom CI-V, Kenwood, Yaesu and Xiegu rigs over serial, with USB-sound-card audio as demodulated mono or stereo IQ · RIT, XIT and split driven onto the dial over the same link · rig keyer or MCW for CW, with the panel's WPM sent to the rig · Kenwood picks its send command by generation — TX; for TS-2000-class rigs, TX1; (DATA SEND) for the TS-590 / 890 / 990 |
| USB audio radio | For a radio with no control port — VOX-keyed handhelds, walkie-talkies, audio-dongle rigs · receive audio from one sound card, transmit audio into another, picked by name · the radio's own VOX keys it on speech, digital-mode tones and MCW alike · the dial is a label, typed to match the radio's knob, for the log, the spots and the transmit lockout — which still applies, so a licence-free PMR446 / FRS / CB radio stays locked out unless you lift it · both cards handed back before a reconnect opens the new ones · no S-meter, SWR or power readback |
| Panadapter from a second SDR | A transceiver with no wideband output borrows a local SDR's receiver and the two work as one radio — wideband panadapter and waterfall, click-to-tune, sub-receiver, digimodes, skimmers and overlays on the transceiver's own tab, while the dial, mode, filter, transmit, SWR and keying stay with the rig · tap a shared antenna or the rig's I.F., offset in hertz with per-mode offsets and spectrum invert · dial followed in both directions, mute and blank on transmit · listen to either front end · the lent receiver leaves the tab strip while it is borrowed, marked 🔗 in the roster, and returns by itself when released |
| Front-end converters | Upconverter, transverter or LNB offset — presets or hertz · dial, band plan, memories, log and spots all read the real frequency |
| Stated tuning ranges | Manual RX and TX ranges in MHz for radios that report nothing, or more than they can do — 144-146, 430-440 |
| Several radios at once | Each radio in its own tab with its own tuning, mode, panadapter, audio, sub-receiver, digimodes and scanner · ⊞ puts two or three side by side · a remote SDRoxide server is just another radio — add it from Settings → Remote and operate it beside your local hardware, closing the tab to hang up · shared memories, logbook, spots and awards, and a station-wide transmit interlock so only one radio is ever on the air |
| Remote sign-in | Username and password asked of every remote client — browser page, --connect client and the 3D view's tab · re-read per sign-in, and an unauthenticated connection never takes the client slot |
| No hardware needed | --siggen built-in signal generator · --file raw CF32 IQ playback · --probe device capability dump |
| Operating systems | Linux · macOS · Windows — x86-64 and ARM64 |
| Ways to run | Native desktop · --server (full UI streamed to a browser as WebAssembly) · --connect native remote, or add the same server from Settings → Remote as an extra radio tab · --console ASCII waterfall |
| Phones & tablets | Folding control strip, chip-row mode panels, press-and-hold PTT, pinch zoom — automatic or pinned from Settings · work in progress |
| Accessibility | Built-in text-to-speech for vision-impaired operators — a neural voice running locally, no network, no service to install · per-category announcements, three detail levels, phonetic callsigns, digit-by-digit frequencies, spoken SWR warnings, receiver ducking · own output device, speed and volume · plus full exposure to NVDA / Orca / VoiceOver screen readers |
| Server-side store | Image presets and received pictures live on the server, so every client — native, remote and browser — sees the same slots and gallery |
| Noise reduction | Four engines, three strengths each — RNN (RNNoise) · DFNR (DeepFilterNet3, 6 / 12 / 24 dB) · SPEC (libspecbleach) · built-in spectral NR · keyboard and MIDI cycle the strength without changing engine |
|---|---|
| Noise blanker | Impulse blanker on the raw signal (keyboard N) |
| Auto-notch | ANC — adaptive canceller nulling constant tones, heterodynes and tuner-uppers |
| AGC | Off / Slow / Med / Fast, with hang |
| Filter & squelch | Passband edges dragged directly on the spectrum or the waterfall · squelch with an open-threshold readout |
| Per-mode settings | AGC, squelch, noise reduction, the auto-notch and the stereo switches remembered per mode — each mode starts from conservative values of its own (a slow AGC on the weak-signal digital modes, noise reduction and the notch off), a change is kept for the mode it was made in, and a reset chip beside the controls puts the mode's own values back · applied at startup and when a rig's own controls change the mode |
| CTCSS & DCS | Sub-audible tone and coded-squelch decode on NFM, with optional tone squelch on a chosen tone, the one being received, or any DCS · and the transmit half: the 50-entry CTCSS table or the 104 DCS codes in either polarity, sent under the voice on NFM, with MATCH TX arming the receive squelch on whatever this station transmits |
| RDS / RBDS | The data a broadcast station carries beside its audio, decoded the whole time you are on WFM — station name, programme identification (spelled out as call letters in North America), programme type, 64-character radio text with RadioText+ title and artist lifted onto their own line, traffic flags, station clock and the alternative frequencies · RDS / RBDS / Auto table selector that re-labels everything on screen without re-decoding · a diagnostics tab with sync state, group counts, block error rate and a group log |
| VFOs | A / B with split, swap and copy · sub-receiver on the inactive VFO · RIT and XIT ±9999 Hz in 5 Hz steps, in the IQ stream or over CAT |
| Repeater operation | DUPLEX and TONE in the VFO/RIT module, beside split, RIT and XIT — the other things that decide where the station transmits relative to where it listens · SIMPLEX / − / + with the offset in kilohertz, or to the hertz for a machine that needs it, the magnitude kept when you go back to simplex · AUTO takes the shift from the band plan as you tune, speaking only inside a repeater output sub-band so calling channels stay simplex, and standing down the moment you set direction or offset by hand · the button lights amber whenever the two frequencies differ, and the panadapter draws the transmit frequency the way it draws XIT — a marker and a labelled bracket on screen, the label alone when a 70 cm shift puts it off the edge · a 1750 Hz burst to open a carrier-access machine, 100–2000 ms, SEND now or on EVERY OVER, bindable to a key, mouse button, MIDI pad or footswitch · per radio, remembered across a restart, and stored with the memory channel · built-in shifts are transcribed from published plans and cover only the sub-bands whose shift is settled across a whole IARU region — elsewhere they say nothing, deliberately, since a missing entry leaves you simplex while a wrong one transmits onto somebody else's channel |
| Memory | Named memory channels in folders, plus per-band stacks remembering frequency, mode and filter · channel editor — EDT turns a row into an editor for the name, the frequency and the mode, and it is the same channel afterwards, same place in the list, same folder, so a typo or a frequency that has moved costs one edit rather than a delete and a fresh store · the filter follows a changed mode, and one you chose yourself is kept · RPT folds out the repeater set-up stored with the channel — shift, offset, CTCSS tone or DCS code, and whether every over opens on the burst — captured as it stands when you store, plainly simplex included, so the next recall takes a shift back off · sort by Stored, Name, Freq or Band, reversible, a preference of the screen you are at rather than of the store, so a memory scan keeps its own order and another operator sorts the same memories their way |
| Profiles | Save how the station is set up under a name — contest, DX, nets — and put it back with one Apply · both VFOs and their modes, receive and transmit levels, repeater settings, antennas and gain stages, the digital identity and message templates, and the band stacks · the hardware is left out, so a profile follows the way you work rather than yesterday's sound card · refused while the station is on the air · kept on the machine with the radio, so remote and browser clients share the same list |
| Scanning | Memory and frequency-range scan · 5 / 6.25 / 8.33 / 10 / 12.5 / 25 kHz channel grids · FFT sweep on IQ radios, a megahertz of channels at a time · dB or squelch stop threshold, dwell time, per-channel skip · CARRIER / TIMED / MANUAL resume |
| Transmit | PTT, TUNE carrier, drive and tune-drive, mic gain, power / SWR / ALC meter, half- or full-duplex sequencing, ham-band TX lockout on by default |
| Voice keyer | Ten recorded slots, keyed from the panel, numpad, a MIDI pad, a footswitch or Hamlib · plain 48 kHz mono WAVs · every voice mode and RADE |
| Recording | One-click receive-audio recorder to disk |
| Scene | Sun, Earth and Moon on the real ephemeris — plus the other seven planets and eighteen of their moons — star field, heliographic grid, ±24 h time scrub |
|---|---|
| Small bodies | Forty dwarf planets, asteroids and comets from JPL's close-approach database, with real ion and dust tails · searchable by name, number or designation |
| Clock | UTC and local time with the date · a scrubbed time is flagged SIM in yellow |
| Solar imagery | NASA SDO — HMI continuum · AIA 193 / 304 / 171 / 211 · 211-193-171 composite, with the image age always on show |
| Solar activity | Sunspot regions sized by real spot area and coloured by NOAA's next-24-hour flare probability · flare markers · far-side regions hidden |
| CME | DONKI trajectory cones at the measured speed · Earth-directed alert banner with speed and estimated arrival |
| Aurora | Live NOAA OVATION oval as altitude-resolved emission shells · 10% surface contour · hemispheric power · probability over your grid square · 3-day Kp forecast bars |
| Earth | Live 3D cloud cover and lightning strikes, refreshed every ten minutes · day/night terminator and sub-solar point |
| Satellites | SGP4 — ten curated amateur birds with orbit rings and labels, or every satellite you track with ALL SATS · live elevation from your QTH · click-through pass tables with AOS/LOS azimuth, duration and max elevation · a LOCK ON button per pass hands the bird straight to satellite mode |
| Live TLE updates | Background subscriptions refetched six-hourly and cached offline · one-click CelesTrak groups (amateur, ISS, weather, cubesats, stations, recent launches, geostationary, GNSS) · per-group filters · pasted TLEs override |
| Satellite frequencies | Downlink, uplink, mode and operating notes per bird — built in for the common satellites, editable by catalogue number |
| QSO layer | Decodes as fading dots, great-circle arcs to the station worked and a pulse along the path while you transmit · paths to weather-fax and broadcast transmitter sites |
| Propagation panel | MUF from the GIRO ionosonde network (with sounder distance) · measured HEARD ≥ floor from your own decodes · Kp / A · F10.7 flux · GOES X-ray class |
| Camera | Focus on SUN / EARTH / MOON / Earth–Moon midpoint · AUTO flies a spline tour through eight framed viewpoints |
| Satellite mode | Pick a bird, LOCK ON, and every voice and digital mode works through it · searchable picker with live elevation and next pass per satellite · azimuth / elevation with compass point, range and range rate, both Doppler corrections in hertz, pass in progress or next |
|---|---|
| Doppler correction | Orbit propagated with SGP4 a few times a second · receive corrected in the DSP — dial and waterfall stay on the published frequency · transmit pre-corrected and tracked during the over, riding the transmitted IQ |
| Transponder mapping | Uplink derived from the published passband mapping — reversed across inverting transponders, sideband flipped for SSB, fixed for FM birds · XIT as a manual trim on the mapped uplink |
| Rotator control | Hamlib rotctld client — GS-232, EasyComm, SPID, AlfaSpid and everything else Hamlib drives · auto-tracks the locked bird, swings to the rise azimuth before AOS, parks after LOS · minimum elevation, azimuth offset, smallest-movement threshold, park position · reported position on the status line |
| TLE integration | Locks run on the built-in auto-updating TLE database — background subscriptions, cached offline · stale elements suspend the correction, a refresh resumes it · per-bird transponder, beacon and repeater frequencies built in |
| Propagation heat map | Global map of where signals are getting through, on the 2D maps and the 3D globe · paths drawn at their ionospheric midpoint, one control point per hop · ALL BANDS blended hues or ONE BAND colour ramp · 45-minute half-life, adjustable |
| Propagation sources | WSPR both ways · FT8 / FT4 · JS8 · logged QSOs · Reverse Beacon Network skimmer spots worldwide — signal reports normalised to each mode's own decode floor and the beacon's declared power |
| Band conditions | Published hamqsl.com forecast fetched hourly, next to what was measured from your own QSOs and decodes — paths through, share of the world reached, best margin per band · verdicts colour the band buttons |
| Measured MUF | Local HEARD ≥ — the highest frequency that demonstrably got through near your QTH, normalised to a 3000 km path — compared against the nearest ionosonde's MUF and its distance |
| Logbook | Persistent, grouped into daily sessions with a time span and QSO count · manual entry and automatic FT8/FT4 logging · edit / delete · worked-before badge per band |
|---|---|
| QSO fields | Call, frequency, mode, RST sent/received, grid, name, QTH, state, country, power, comment, UTC date & time |
| Contest fields | Contest id with serial sent and serial received |
| Resolved per QSO | DXCC entity, CQ and ITU zones (bundled cty.dat), IOTA, POTA / SOTA references, per-service QSL status |
| Award tracking | DXCC · WAS · WAZ · grid squares — worked vs confirmed, per-band filter, new-entity flag on incoming spots |
| Audible alerts | An alarm on a sound device of its own when an FT8 / FT4 / FT2 / JS8 decode matters — a station calling you, a CQ you could answer, a new DXCC entity, a new entity on this band or a new grid · five generated sounds to choose per event, volume independent of the AF gain · one alarm per batch of decodes for the most important match, and a quiet period per station · one alarm shared by every radio tab |
| Spot feeds | DX cluster (telnet) · POTA · SOTA · PSK Reporter · FreeDV Reporter — clickable markers on the panadapter and world map; click to tune, set the mode and pre-fill an entry; per-source and in-view filters |
| Broadcast stations | Longwave and shortwave broadcasters labelled on the waterfall — around 4,600 EiBi transmissions, filtered every minute to those actually on the air · click one to tune it in AM · schedule self-updating, with your own corrections merged over it |
| Callsign lookup | QRZ.com · HamQTH — name, QTH, grid and state auto-filled |
| QSL upload | eQSL · QRZ Logbook · HamQTH · Club Log — per QSO or automatic · LoTW via ADIF export for TQSL signing |
| Confirmations | LoTW and eQSL confirmations downloaded and matched, marking worked against confirmed |
| Import / export | ADIF import with de-duplication · ADIF and plain-text export · the decode list exported as CSV or received-report ADIF, each record marked SWL on the dial it was heard on — and left out, with a count, when an ADIF import meets it |
One binary, three ways to operate
Launch the egui app straight onto your local SDR or CAT rig for the lowest-latency, full-fat experience.
sdroxide
Start the server and the entire interface streams to any browser on your network — no install on the client.
sdroxide --server
Add a remote server from Settings → Remote and it joins as another radio tab — or start straight into one from the command line.
sdroxide --connect host:4950
Click any capture to enlarge.
Every backend, mode, control and keyboard shortcut — panadapter to skimmers to the 3D space-weather view to the logbook — documented in one place on GitHub. It also ships inside the app: just press F1. The built-in copy is searchable in full — type in the bar across the top and every occurrence lights up as you go, with a match tally, F3 to step through them and a contents outline that marks which chapters hold the term and how often.
ACQUIRE BINARY
Latest release: . Pick your platform, then expand to choose a package.
SDRoxide is a young project under heavy, active development. You may experience bugs, lost QSOs, and QSL cards might arrive folded or soggy. Don't rely on it for mission-critical operating just yet, and please report anything odd on GitHub Issues ↗.
DEFAULT builds run out of the box with nothing else to install — the right pick for most setups, including CAT rigs, FlexRadio, Icom LAN and ADALM-Pluto network radios, receivers served over rtl_tcp / rsp_tcp or spyserver, and the RTL-SDR, HackRF, Airspy, HydraSDR RFOne, ELAD FDM and RX-888 over USB, whose drivers and firmware are built into the binary. The LimeSDR + LimeRFE interface is in every build too and picks up LimeSuite at run time if you have it installed. HD Radio works the same way: its audio codec is proprietary and never ships with SDRoxide, so install libnrsc5 from nrsc5 — nrsc5-git on Arch, or built from source — and restart; until then the mode is greyed out with the reason. The SoapySDR builds add wideband SoapySDR devices (bladeRF & friends) and need the SoapySDR libraries and your radio's driver module installed.
If a Linux build refuses to start with a message about a missing GLIBC_2.xx version, take the matching file from Linux · older distros instead — the same two builds compiled inside an Ubuntu 22.04 container, linked against glibc 2.35 so they run on Ubuntu 22.04, Linux Mint 21, Debian 12 and Raspberry Pi OS bookworm. Nothing else differs; on a current distribution the regular builds are the ones to take.
The Linux list also carries an AppImage for x86-64 and ARM64 — the whole application in one file, with nothing to install and no package manager involved: chmod +x it and run. It is built from the same glibc 2.35 container as the compat packages, which is why its filename says -compat, so the one file runs on old and current distributions alike. Default build only — for SoapySDR devices take a .deb or tarball.
Looking for something else? Browse all releases & checksums on GitHub ↗,
or build from source with cargo install --git https://github.com/dividebysandwich/sdroxide.