Open Source Web Based HF SDR
UberSDR is a powerful, web-based SDR platform for amateur radio enthusiasts, providing real-time access to the entire HF spectrum and multi-band WSJT-X skimming. Support for third party software via SoapySDR as well as a native desktop client. Based on the affordable RX-888 MKII and generic PC hardware. Powered by ka9q-radio.
curl -fsSL https://ubersdr.org/install.sh | bash
Features
Smart Listen
Multi-Monitor allows listeners to perform real-time diversity receive using multiple UberSDR instances simultaneously. The Smart Listen feature automatically switches audio to the instance with the strongest SNR β so you always hear the clearest signal without any manual intervention.
Listening to a net where a single instance can't hear all stations? Run multiple instances covering different locations and Smart Listen will seamlessly switch to whichever has the best reception for each transmission.
Listen to two instances simultaneously β one routed to the left speaker and one to the right β for a true spatial diversity listening experience across two different locations or antennas.
Who Can Hear Me?
Wondering which UberSDR instances are likely to receive your signal? The Who Can Hear Me? tool uses your location (via GPS or GeoIP) and analyses WSPR propagation data reported by each instance to predict which ones could hear you transmitting SSB Phone at 100β200 W on each HF band.
Instances with Excellent or Good SSB predictions are shown on a world map with their matched Maidenhead grid squares highlighted. Lines connect your location to each coverage area.
If your location marker is incorrect, simply drag it to the right position on the map β results update automatically for the new location.
Real-Time Spectrum Analysis
Monitor all HF bands in real-time with background data collection. Historical data is stored enabling analysis of propagation patterns over time.
Many Users
Supports tens or even hundreds of simultaneous users, each independently accessing any HF band at the same time.
Efficient architecture ensures minimal resource usage per user for both demodulated and IQ channels.
Multiple Decoders
Support for all-band skimming of various digital modes including FT2, FT4, FT8, JS8 and WSPR.
PSKReporter and WSPRnet support built in.
Accessibility Options
Keyboard shortcuts for every button ensure full control without a mouse.
Voice announcements for frequency and mode changes keep you informed while operating.
Speech to Text
Transcribe speech to text in real time for easier monitoring and logging.
Translate to and from multiple languages for international communications.
Listener Map
Shows listeners on a world map in real-time. Each listener also appears on a frequency bar.
Easily see popular listener frequencies and discover what others are tuning into.
Band Conditions
Track propagation conditions and band activity with integrated monitoring tools.
SoapySDR Driver
SoapySDR driver with authentication for wide IQ streams. Connect external SDR applications with secure access control.
CW Skimmer
Includes driver and monitoring tool for VE3NEA's Skim Server (8x192 KHz).
Live Chat
Talk to other users in real-time, hear what each other are listening to and synchronise with a user for collaborative listening sessions.
Frequency Reference
Track a known accurate signal and provide offset information over time. Works with WWV or any stable reference signal for precise frequency calibration.
Rotator Control
Supports Hamlib Rotctl integration including automated scheduling and password protected remote control for antenna positioning.
MQTT Support
MQTT support for real time metrics and decoder data. Perfect for automation and dashboards with Home Assistant and Node-RED.
Prometheus Endpoint
Prometheus endpoint for integration into Grafana to generate useful metric visualisations.
Admin Control Center
Web based Admin control center for configuration, management and access control. Includes configuring background decoders and monitoirng system health.
Public or Private
Owners can make their instance public or keep it private. Public instances are discoverable by any client application.
Automatic TLS and DNS are available:
- Zero config tunnel (ubersdr.org)
- Port forward (ubersdr.org or own domain)
- Cloudflare (own domain)
API Driven
Frontend is entirely API driven, making creating custom client applications easy.
Spectrum and decoded data is also available via APIs for offline analysis.
KiwiSDR compatible port available for integrating with existing applications.
Modest Hardware
Minimal CPU requirements means even 10 year old mini PCs can support 50+ simultaneous channels.
An Intel N100 can support multiple users and modest skimming.
For multi mode all band skimming, high performance stations with good all band SNR should consider a more powerful CPU, such as a 13th Gen i7 or Ryzen equivalent MiniPC.
Public Instance Directory
Explore publically accessible instances of UberSDR. The owner of each instance can choose to make it public and be added to the directory service.
The directory is integrated into all clients to make discovering other instances quick and easy.
Extensions
Extensions allow client applications to decode various common HF signals without the need to pipe audio to external applications.
| CW Spots | Display real-time CW spots from CW Skimmer | β Complete |
| Digital Spots | Display real-time FT8, FT4, FT2, WSPR, and JS8 spots from the multi-decoder | β Complete |
| DX Cluster | Display DX spots from amateur radio DX clusters in real-time | β Complete |
| FreeDV Decoder | FreeDV digital voice decoder β decodes RADE/FreeDV signals on USB/LSB and plays decoded audio | β Complete |
| FSK/RTTY Decoder | FSK/RTTY decoder supporting ITA2 (Baudot), ASCII, and CCIR476 (SITOR-B) modes β backend-based decoder | β Complete |
| FlexControl | Control the SDR with a FlexControl USB controller using the Web Serial API | β Complete |
| FT8/FT4 Decoder | FT8 and FT4 weak signal digital mode decoder | β οΈ Partial |
| MIDI Control | Control the SDR with a USB MIDI controller (DJ controller). Map knobs, faders, buttons and encoders to radio functions | β Complete |
| Morse Code Decoder | Multi-channel Morse code decoder with adaptive WPM detection β decodes up to 5 simultaneous signals | β Under Development |
| NAVTEX Decoder | NAVTEX FSK decoder for maritime communications | β Complete |
| Radio Sync | Synchronize frequency and mode with external radios via serial port | β οΈ Partial |
| SSTV Decoder | Slow Scan Television (SSTV) decoder supporting 47 modes including Martin, Scottie, Robot, PD, and MMSSTV | β οΈ Partial |
| WEFAX Decoder | Weather Fax (WEFAX) decoder for receiving weather charts and satellite images | β Complete |
| Speech-to-Text | Real-time speech-to-text transcription | β Complete |
Desktop Client
Access UberSDR from your desktop even if you don't run an instance yourself.
The client acts like a physical radio with audio routing and CAT control allowing direct use with popular applications like WSJT-X and Fldigi. Also supports TCI for combined CAT/audio over the network for software like JTD-X and SDC (Software Defined Connectors).
Download the UberSDR desktop client for your operating system to access instances
with a native application experience.
- Public instance discovery
- Rigctl, Flrig, OmniRig & TCI
- MIDI controller support
- High bandwidth IQ streams
- Full GUI or headless CLI
- Flexible audio routing
Minimal Audio Client
A lightweight audio client for Linux and Windows, ideal for tuning into specific frequencies and piping audio to any output device. Supports saving profiles which store the instance, frequency, mode and audio options for quick recall.
- Lightweight & fast
- Tune to any frequency
- Pipe audio to any output device
- Save and load profiles
- Profiles store instance, frequency, mode & audio options
- Real time signal, SNR and audio levels
- FLRig Sync β synchronise with a physical transceiver (set Rig to 'none' if no physical radio)
- Sync other applications e.g. FLDigi and WSJT-X via FLRig
Windows
Download Minimal Audio Client for Windows
Linux
Download Minimal Audio Client for x86_64 Linux
Minimal Audio Client Screenshots
Windows Utilities
For Windows users, these free utilities are highly recommended for routing audio and creating virtual serial ports. They enable seamless integration with third-party applications like WSJT-X and Fldigi.
π Virtual Serial Ports
The UberSDR client can emulate a Kenwood TS-480 when required. Create virtual COM ports to connect the client with applications that require CAT control via serial ports.
Free Virtual Serial Ports βπ Virtual Audio Cable
Route audio between the UberSDR client and digital mode applications like WSJT-X, Fldigi and others.
Desktop Client Screenshots
Browser Extensions
Browser extensions that enhance your UberSDR experience directly from your web browser β no installation on the SDR host required.
IQ Recorder
Record multiple IQ streams up to 192 KHz each for later analysis and playback. Perfect for capturing contest weekends, rare DX openings, or monitoring multiple bands simultaneously.
- Record multiple IQ streams simultaneously
- Up to 192 KHz bandwidth per stream
- Built-in spectrum monitoring output
- SSB and CW demodulation
- Configurable automatic scheduler
- Perfect for contest weekend recording
Example use case: Schedule recordings across 20m, 40m, and 80m during a major contest weekend. The automatic scheduler can start and stop recordings based on time and day, capturing all the action for playback afterwards with software such as SDR++.
IQ Recorder Screenshots
Drivers
Drivers for third party applications so they can talk to UberSDR instances.
CW Skimmer
Driver for SkimServ. Connect to your local instance for CW skimming.
VE3NEA's Skim Server DLL, also works with CWSL.
SoapySDR
Driver for SoapySDR. Supports both local and public instances.
Works with SDR++, Gqrx, GNU Radio and many others.
HPSDR
Bridge application for the UberSDR host machine. Allows applications like SparkSDR and Thetis to connect using Hermes-Lite compatible protocol with 10 available slices up to 192 KHz each.
This is automatically installed by the installation script. Click here to download manually.
KiwiSDR
UberSDR has KiwiSDR emulation and frontend built in on port 8073.
Any KiwiSDR compatible client can connect to it and will act like the real hardware.
Host: ubersdr.local Port: 8073
Note: There is a known issue with waterfall alignment but the demodulated audio is accurate.
RTL-TCP
UberSDR has RTL-TCP emulation on port 1234.
Connect any compatible RTL-SDR client with network support to your local UberSDR instance. This includes SDR Console.
Host: ubersdr.local Port: 1234
Note: Set the bandwidth to 250 KHz in your client and it will receive 192 KHz of bandwidth.
Third-Party Application Screenshots
Addons
Optional add-ons that extend UberSDR with additional decoding capabilities. Each addon runs as a background service on your UberSDR machine, continuously decoding 24/7 without any user interaction required. Each requires UberSDR to be installed first.
HFDL β HF Aircraft Tracking
Decode HFDL transmissions and track aircraft in real time on HF frequencies. No additional hardware required.
Monitor All Frequencies Simultaneously
During the training phase, UberSDR monitors all HFDL frequencies at once to learn which ground stations and frequencies are active in your region. No manual tuning required.
Optimisation Tips After Training
Once training is complete, the system analyses activity patterns and provides tailored recommendations to reduce CPU usage β focusing only on the frequencies that matter for your location.
Ground Station Frequencies
View the frequencies used by each HFDL ground station. Identify the most active stations and frequencies for your antenna and location.
Performance Metrics
Detailed decode statistics including message counts, error rates, and per-frequency performance β giving you full visibility into how well your setup is performing.
Live Aircraft Map
A real-time map shows all currently active aircraft decoded from HFDL transmissions, including flight identifiers, positions, and ground station associations.
One-Command Installation
Install the UberSDR HFDL application with a single command on the same machine as your UberSDR instance. It integrates directly with your existing setup.
HFDL Installation
β οΈ This is an add-on for UberSDR. You must have UberSDR installed first.
Run this command on the same machine as your UberSDR installation.
curl -fsSL https://raw.githubusercontent.com/madpsy/ubersdr_hfdl/refs/heads/main/install.sh | bash
Once installed, enable the HFDL Addon in Admin β Addons tab to activate it.
You can feed your favourite exchange by adding output options to:
EXTRA_ARGS in ~/ubersdr/hfdl/docker-compose.yml
For example:
--output decoded:basestation:tcp:address=adsb.example.com,port=32010
HFDL Screenshots
SSTV β Slow Scan Television Receiver
Decode SSTV transmissions in the background and browse a gallery of received images β complete with SNR data, callsign mapping, and real-time waterfall monitoring.
Image Gallery
All received SSTV images are stored and presented in a browsable gallery. View decoded images from amateur radio operators around the world, accessible entirely from your web browser.
Signal-to-Noise Ratio
Each received image is tagged with its SNR at the time of decode, giving you a clear picture of reception quality and helping you identify the best frequencies and times for SSTV.
Callsign Map
Callsigns decoded from received images are plotted on a world map, showing you where transmitting stations are located and giving a visual overview of your reception coverage.
Real-Time Audio & Waterfall
Monitor the audio and waterfall display in real time directly in your browser. Watch SSTV signals appear and decode live without any additional software.
Automatic Cleanup
Poor quality or incomplete decodes are automatically detected and removed. Configurable retention settings let you control how long images are kept before being cleaned up.
Decode Statistics
Detailed statistics on decode counts, success rates, and activity over time β giving you full visibility into how your SSTV station is performing.
SSTV Installation
β οΈ This is an add-on for UberSDR. You must have UberSDR installed first.
Run this command on the same machine as your UberSDR installation.
curl -fsSL https://raw.githubusercontent.com/madpsy/ubersdr_qsstv/refs/heads/main/install.sh | bash
Once installed, enable the SSTV Addon in Admin β Addons tab to activate it.
SSTV Screenshots
CW Skimmer β All-Band CW Decoding
Full all-band CW skimming using Afreet SkimServ in a Linux Desktop environment, with RBN aggregation and automatic PSK Reporter integration.
All-Band CW Skimming
SkimSrv runs inside a Linux Desktop environment, providing simultaneous all-band CW skimming across the entire HF spectrum without any manual tuning.
VNC Desktop Access
Access the full Linux Desktop environment via VNC directly from your browser. Monitor SkimSrv in real time and adjust settings without needing a separate machine.
RBN Aggregator
The Reverse Beacon Network aggregator comes pre-installed and pre-configured, so your spots are automatically submitted to the RBN with no additional setup required.
PSK Reporter Integration
PSK Reporter is automatically enabled via UberSDR, reporting your decoded spots to the global PSK Reporter network without any manual configuration.
CW Skimmer Installation
β οΈ This is an add-on for UberSDR. You must have UberSDR installed first.
To set up CW Skimmer, open the CW Skimmer tab in the Admin panel and follow the on-screen instructions.
WEFAX β Weather Fax Receiver
Decode Weather Fax (WEFAX) broadcasts in the background, monitoring multiple HF frequencies simultaneously and saving received images with full signal metadata.
Multi-Frequency Monitoring
Monitors multiple WEFAX frequencies simultaneously, ensuring no broadcast is missed regardless of which frequency is active at any given time. No manual retuning required.
Image Gallery
All received WEFAX images are stored and presented in a browsable gallery. View weather charts, sea state maps, and satellite imagery received directly from meteorological services.
Signal Metadata
Each saved image is tagged with full signal metadata including SNR, frequency, timestamp, and reception quality β giving you a complete record of every decode.
Automatic Cleanup
Configurable retention settings automatically remove old images, keeping storage usage under control while preserving recent weather data for review.
WEFAX Installation
β οΈ This is an add-on for UberSDR. You must have UberSDR installed first.
Run this command on the same machine as your UberSDR installation.
curl -fsSL https://raw.githubusercontent.com/madpsy/ubersdr_wefax/refs/heads/main/install.sh | bash
Once installed, enable the WEFAX Addon in Admin β Addons tab to activate it.
Build Your Own UberSDR Instance
Set up your own UberSDR instance with affordable hardware and our Docker-based software. Join the network and share your local radio spectrum with the community.
What You Need
SDR Hardware
RX-888 MkII
High-performance SDR receiver available from AliExpress. Offers excellent dynamic range and wide frequency coverage.
Please note the RX-888 MkII is the only currently supported hardware. UberSDR runs the 888 at 64 MSPS and does not require any additional cooling.
Antenna
Receive Antenna
An active loop or random long wire make great receive antenna choices for HF reception.
Optionally add a low and/or high pass filter.
- ~1 MHz high pass filter
- ~40 MHz low pass filter
Filters are only really neccessary if you live near a high power radio transmitter.
Computer
Computer Options:
- Low: N100/N150 based MiniPC (new)
- Medium: HP EliteDesk 800 G2 i7-6700 MiniPC (eBay)
- High: Intel 13th Gen i7 or Ryzen equivalent MiniPC
Medium spec is sufficient for most stations wanting all band FT8 skimming and several web users. AVX2 is a requirement which is any Intel CPU from Haswell (2013) onwards.
Why Build Your Own?
Contribute to the global SDR network
Full control over your SDR setup
Affordable hardware options
Low power consumption
Installation Instructions
Grab Your Mini PC
Will need a monitor/keyboard and USB memory stick to install Ubuntu.
Install Ubuntu Server 24.04
Create a bootable Ubuntu USB memory stick and install Ubuntu Server 24.04. Ensure to choose Ubuntu Server as we do not want a GUI. Make sure you select to install OpenSSH Server when asked.
Plug in RX-888 MkII
Using the provided USB 3 cable plug the SDR into the computer. Probably a good idea to attach the antenna at this point. Ensure it is plugged into the SMA socket marked 'H'.
Install UberSDR
SSH into your newly installed UberSDR computer and run the following:
curl -fsSL https://ubersdr.org/install.sh | bash
Configure UberSDR
Open a web browser on your desktop/laptop: http://ubersdr.local:8080/admin.html and log in with the password you set during install.
Download Desktop Client
Download the desktop client for your operating system. You can also access the web interface directly.
Enable Public Access (optional but encouraged!)
If you have bandwidth to spare and want to make your instance publicly accessible, use the public access wizard. Automatic TLS and DNS are available:
- Zero Config Tunnel (ubersdr.org) - easiest / recommended
- Port forward (ubersdr.org or own domain) - lower latency
- Cloudflare (own domain)
One web user requires between 100-200 kbps (bits not bytes!). The Zero Config Tunnel has been successfully tested with Starlink.
Admin Control Center
Getting Started
Choose an Instance
Browse the available instances map and select one near you or in a location of interest.
Connect
Click on an instance to access its web interface and start exploring the radio spectrum.
Tune & Listen
Select your frequency, adjust settings, and enjoy real-time SDR reception.