← All projects

Meridian — headless multi-platform SDR skimmer server

Active

Headless SDR server in Rust with in-process digital-mode decoders in C (called via FFI) and Rust behind one registry — the successor to and ground-up rewrite of SkimServer Mac. Same station role, now on all four platforms (Linux x86-64, Linux ARM64 / Raspberry Pi, macOS, Windows), each built and tested locally via a fmt / clippy-deny-warnings / full-test / web-UI gate; no hosted CI. Ingests IQ directly from radios — HPSDR / Metis Protocol 1 (Red Pitaya multi-DDC, HermesLite), FlexRadio DAX, RX-888 direct USB — receive-only.

Decoders: FT8, FT4, CW (multiple variants running in parallel per receiver — a faithful SkimSrv / kref STFT decoder and W6BT's NX1–NX14 bench decoders), RTTY, WSPR (via wsprd), and an NCDXF beacon watcher. Decoded spots flow through a per-mode refinery and a plugin-based gate to internal + external DX-cluster telnet feeds, PSKR + WSPRnet uploads, and a durable SQLite spot store; external-cluster spots relay back in through the same gate. Every configuration change is applied live across the system — no restarts. Three config layers: bootstrap TOML (bind addrs + which web UI to serve), a system-wide config.json (device / external-cluster / band-plan / calibration inventories), and switchable JSON profiles (operator identity, devices in use, decoders, gate policy, feeds).

Ships with a Svelte 5 + TypeScript web UI on port 7374 (i18n en / de, light / dark). RBN upload is deliberately external — a separate rbclient app consumes the byte-stable Aggregator-dialect telnet feed.

Deployed as the station daemon on a Raspberry Pi 5 driving the Red Pitaya as VU2CPL-9 (10 bands, 8 RX @ 192 kHz, greyline-masked), with idle release builds also running on Mac, Windows, and the UberSDR box. A joint project, built together with Basil Thomas W6BT (upstream repo owner), Vinod VU3ESV, and Ram VU3RDD.

RustC (FFI)Multi-platformLinuxRaspberry PimacOSWindowsHPSDRRed PitayaHermesLiteRX-888FlexRadio DAXCW skimmerFT8 / FT4WSPRNCDXF beaconPSKRWSPRnetSvelte 5
← All projects