The only SDR with full features, rolling updates, and universal cross-platform compatibility.
Quick Start • Features • Installation • Documentation • Support
WaveRider SDR is designed to be the easiest and most fun SDR software to use, with installation simplified to just one command and executables available for all platforms.
|
|
- Multiple Modulation Modes: Support for AM, FM, USB, LSB, and CW (Morse code) demodulation
- Morse Code Decoder: Real-time Morse code (CW) detection and text display with International Morse Code support
- Meshtastic Integration: Automatic detection of Meshtastic devices via USB with LoRa communication
- Interactive Controls: Adjust center frequency, sample rate, FFT size, and update rate in real-time
- Start/Stop Controls: Simple one-button control for signal acquisition
Choose your platform and run the appropriate installation script:
curl -fsSL https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.sh | bashor download and run:
chmod +x install.sh
./install.shPowerShell (Recommended):
powershell -ExecutionPolicy Bypass -File install.ps1Command Prompt:
install.batIf you prefer to install manually:
# 1. Clone the repository
git clone https://github.com/Deployed-Labs/WaveRiderSDR.git
cd WaveRiderSDR
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run WaveRider SDR
python run.pyDownload the latest release for your platform:
- Go to Releases
- Download the appropriate file:
- Windows:
WaveRiderSDR-Windows.zip - macOS:
WaveRiderSDR-macOS.zip - Linux:
WaveRiderSDR-Linux.tar.gz
- Windows:
- Extract and run:
- Windows: Double-click
WaveRiderSDR.exe - macOS: Open
WaveRiderSDR.appor run./WaveRiderSDR - Linux: Run
./WaveRiderSDR
- Windows: Double-click
That's it! WaveRider SDR will:
- ✅ Automatically detect if you're on desktop or need web version
- ✅ Check for required dependencies
- ✅ Launch the appropriate interface
- ✅ Work on Windows, macOS, Linux, iOS, and Android
- ✅ Automatically detect connected SDR devices
- ✅ Fall back to simulated signals if no SDR hardware present
| Method | Pros | Best For |
|---|---|---|
| Installation Scripts | Automatic setup, creates shortcuts, configures firewall | First-time users, recommended |
| Pre-built Executables | No Python required, instant use, portable | Users without Python, quick testing |
| Manual Installation | Full control, easy updates via git | Developers, contributors |
| pip install | Standard Python package installation | Python developers |
The automated installers handle everything for you:
🐧 Linux Installation
# Download and run installer
wget https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.sh
chmod +x install.sh
./install.sh
# Or one-liner:
curl -fsSL https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.sh | bashWhat it does:
- ✅ Checks Python 3 installation
- ✅ Installs all required dependencies
- ✅ Offers optional SDR hardware support
- ✅ Creates launcher scripts
- ✅ Creates desktop shortcuts (optional)
- ✅ Tests the installation
Supported Distributions:
- Ubuntu / Debian / Linux Mint
- Fedora / CentOS / RHEL
- Arch Linux / Manjaro
- openSUSE
- Any Linux with Python 3.7+
🍎 macOS Installation
# Download and run installer
curl -O https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.sh
chmod +x install.sh
./install.sh
# Or one-liner:
curl -fsSL https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.sh | bashWhat it does:
- ✅ Checks Python 3 installation
- ✅ Installs all required dependencies
- ✅ Offers optional SDR hardware support
- ✅ Creates launcher scripts
- ✅ Tests the installation
Requirements:
- macOS 10.14 (Mojave) or later
- Python 3.8+ (Install via python.org or
brew install python3)
🪟 Windows Installation
Method 1: PowerShell (Recommended)
# Download installer
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.ps1" -OutFile "install.ps1"
# Run installer
powershell -ExecutionPolicy Bypass -File install.ps1Method 2: Batch File
# Download installer
curl -O https://raw.githubusercontent.com/Deployed-Labs/WaveRiderSDR/main/install.bat
# Run installer
install.batWhat it does:
- ✅ Checks Python 3 installation
- ✅ Upgrades pip to latest version
- ✅ Installs all required dependencies
- ✅ Offers optional SDR hardware support
- ✅ Creates launcher batch files
- ✅ Creates desktop shortcuts (optional)
- ✅ Configures Windows Firewall for mobile access (optional, requires admin)
- ✅ Tests the installation
Requirements:
- Windows 7 or later (Windows 10/11 recommended)
- Python 3.8+ (Install from python.org - check "Add Python to PATH"!)
Download ready-to-use executables from the Releases page:
| Platform | File | Instructions |
|---|---|---|
| Windows | WaveRiderSDR-Windows.zip |
Extract and double-click WaveRiderSDR.exe |
| macOS | WaveRiderSDR-macOS.zip |
Extract and open WaveRiderSDR.app |
| Linux | WaveRiderSDR-Linux.tar.gz |
Extract and run ./WaveRiderSDR |
Advantages:
- No Python installation required
- Portable - run from USB drive
- Instant startup
- Self-contained
# 1. Clone the repository
git clone https://github.com/Deployed-Labs/WaveRiderSDR.git
cd WaveRiderSDR
# 2. Install core dependencies
pip install -r requirements.txt
# 3. (Optional) Install SDR hardware support
pip install pyrtlsdr
# 4. Run WaveRider SDR
python run.pyFor developers:
# Install in development mode with all extras
pip install -e ".[all]"
# Or install specific feature sets:
pip install -e ".[desktop]" # Desktop GUI only
pip install -e ".[web]" # Web interface only
pip install -e ".[sdr]" # SDR hardware support onlyInstall WaveRider SDR as a Python package (coming soon to PyPI):
# Install from PyPI (when available)
pip install waverider-sdr
# Install with all features
pip install waverider-sdr[all]
# Run from command line
waveriderThe universal launcher automatically detects your platform:
python run.pyCommand-line options:
python run.py # Auto-detect best interface
python run.py --web # Force web interface
python run.py --desktop # Force desktop GUI
python run.py --help # Show help messageUsing launcher scripts (after installation):
# Linux/macOS
./waverider # Auto-detect
./waverider-web.sh # Web version
./waverider-desktop.sh # Desktop version
# Windows
waverider.bat # Auto-detect
waverider-web.bat # Web version
waverider-desktop.bat # Desktop version- Launch the application using any method above
- Select interface (or let it auto-detect):
- Desktop GUI launches automatically on Windows/macOS/Linux with display
- Web interface launches on headless systems or mobile devices
- Connect SDR hardware (optional):
- Plug in your RTL-SDR or HackRF device
- Application auto-detects devices
- Select device from dropdown if multiple devices
- Click "Start" to begin signal acquisition
- Adjust settings as needed (frequency, sample rate, etc.)
📡 RTL-SDR Setup
Step 1: Install RTL-SDR Software
pip install pyrtlsdrStep 2: Install RTL-SDR Drivers
- Windows: Use Zadig to install WinUSB driver
- Linux: Install
rtl-sdrpackage# Ubuntu/Debian sudo apt-get install rtl-sdr librtlsdr-dev # Fedora sudo dnf install rtl-sdr
- macOS: Install via Homebrew
brew install librtlsdr
Step 3: Connect and Use
- Plug in your RTL-SDR device
- Run WaveRider SDR
- Device appears in dropdown automatically
- Select device and click "Start"
Supported RTL-SDR Devices:
- RTL2832U-based USB dongles
- NooElec NESDR series
- RTL-SDR Blog V3/V4
- FlightAware ADS-B dongles
- Most generic DVB-T dongles with RTL2832U chip
📡 HackRF Setup
Step 1: Install SoapySDR
-
Ubuntu/Debian:
sudo apt-get install python3-soapysdr soapysdr-module-hackrf
-
Fedora:
sudo dnf install python3-SoapySDR SoapySDR-module-hackrf
-
macOS:
brew install soapysdr hackrf
-
Windows:
Step 2: Connect and Use
- Plug in your HackRF device
- Run WaveRider SDR
- HackRF appears in dropdown automatically
- Select device and click "Start"
Supported HackRF Devices:
- HackRF One
- HackRF-compatible devices
Both desktop and web interfaces provide the same controls:
| Control | Description | Range/Options |
|---|---|---|
| Center Frequency | Tuning frequency | Device-dependent (typically 24 MHz - 1.7 GHz for RTL-SDR) |
| Sample Rate | ADC sample rate | 2.4 MHz, 2.048 MHz, 1.024 MHz |
| FFT Size | Frequency resolution | 512, 1024, 2048, 4096 bins |
| Update Rate | Display refresh | 50-1000 ms |
| Modulation | Demodulation mode | None, AM, FM, USB, LSB, CW |
| Device Selection | Choose SDR device | Auto-detected devices |
| Start/Stop | Control signal acquisition | Button toggle |
| Morse Decoder | Enable/disable CW decoding | Button toggle (CW mode only) |
WaveRider SDR supports multiple demodulation modes:
| Mode | Type | Best For | Typical Use Cases |
|---|---|---|---|
| None | Raw IQ | Spectrum analysis | General scanning, signal detection |
| AM | Amplitude Modulation | 530 kHz - 1.7 MHz | AM broadcast radio, aviation (108-137 MHz) |
| FM | Frequency Modulation | VHF/UHF | FM broadcast (88-108 MHz), NOAA weather, 2m ham |
| USB | Upper Sideband | HF bands | SSB ham radio, shortwave voice comms |
| LSB | Lower Sideband | HF bands | SSB ham radio, marine radio |
| CW | Continuous Wave | All bands | Morse code transmissions, ham radio CW |
To use demodulation:
- Select modulation mode from dropdown
- Signal is automatically demodulated
- For CW mode, enable Morse decoder to see decoded text
The integrated Morse code decoder translates CW transmissions in real-time:
How to use:
- Select "CW (Morse)" from Modulation dropdown
- Click "Enable Morse Decoder" button
- Tune to a frequency with Morse code
- Decoded text appears in real-time
- Supports standard International Morse Code
Supported characters:
- Letters: A-Z
- Numbers: 0-9
- Punctuation: . , ? ' ! / ( ) & : ; = + - _ " $ @
- Prosigns: SK, AR, BT, etc.
Access WaveRider SDR from phones and tablets:
Step 1: Start Web Server
python run.py --web
# Or use: python waverider_web.pyStep 2: Find Your IP Address
- Windows: Run
ipconfigin Command Prompt - macOS: Run
ifconfigin Terminal - Linux: Run
ip addrorifconfig - Look for IPv4 address (usually 192.168.x.x or 10.x.x.x)
Step 3: Connect from Mobile
- Ensure mobile device is on same WiFi network
- Open browser on phone/tablet
- Navigate to:
http://<your-ip>:5000- Example:
http://192.168.1.100:5000
- Example:
- Bookmark for easy access!
Supported Mobile Browsers:
- iOS: Safari, Chrome
- Android: Chrome, Firefox, Samsung Internet, Edge
| Platform | Desktop GUI | Web Interface | Notes |
|---|---|---|---|
| Windows 7 | ✅ | ✅ | Fully supported |
| Windows 8/8.1 | ✅ | ✅ | Fully supported |
| Windows 10 | ✅ | ✅ | Recommended |
| Windows 11 | ✅ | ✅ | Recommended |
| macOS 10.14+ | ✅ | ✅ | Mojave or later |
| Ubuntu/Debian | ✅ | ✅ | All recent versions |
| Fedora/RHEL | ✅ | ✅ | All recent versions |
| Arch Linux | ✅ | ✅ | Rolling release |
| Raspberry Pi | ✅ | Web recommended | |
| Linux Server | ❌ | ✅ | Headless only |
| Platform | Support | Method | Notes |
|---|---|---|---|
| iOS (iPhone) | ✅ | Web Browser | Safari, Chrome |
| iOS (iPad) | ✅ | Web Browser | Safari, Chrome |
| Android Phone | ✅ | Web Browser | Any modern browser |
| Android Tablet | ✅ | Web Browser | Any modern browser |
Desktop Browsers:
- ✅ Chrome/Chromium 90+
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Edge 90+
- ✅ Opera 76+
Mobile Browsers:
- ✅ Safari (iOS 14+)
- ✅ Chrome (iOS/Android)
- ✅ Firefox (Android)
- ✅ Samsung Internet
- ✅ Edge Mobile
Requirements:
- HTML5 support
- WebSocket support
- JavaScript enabled
- Canvas API support
WaveRider SDR takes security seriously:
- ✅ Random secret keys - Not hardcoded
- ✅ SRI integrity - CDN scripts verified
- ✅ Local network binding - Safe defaults
- ✅ No telemetry - Your data stays local
- ✅ Open source - Fully auditable code
Default Configuration (Safe):
- Server binds to
0.0.0.0:5000(all interfaces) - Allows local network access for mobile devices
- Safe on trusted networks only
Recommended Firewall Rules:
Windows Firewall
# Restrict to local subnet (safe)
netsh advfirewall firewall add rule name="WaveRider SDR" dir=in action=allow protocol=TCP localport=5000 remoteip=localsubnet profile=private
# For specific IP range
netsh advfirewall firewall add rule name="WaveRider SDR" dir=in action=allow protocol=TCP localport=5000 remoteip=192.168.1.0/24Linux Firewall (UFW)
# Allow from local networks
sudo ufw allow from 192.168.0.0/16 to any port 5000 proto tcp
sudo ufw allow from 10.0.0.0/8 to any port 5000 proto tcp
# Or specific subnet
sudo ufw allow from 192.168.1.0/24 to any port 5000 proto tcpmacOS Firewall
- Open System Preferences → Security & Privacy
- Click Firewall tab
- Click Firewall Options
- Add Python application
- Set to "Allow incoming connections"
- ✅ Use on trusted networks only (home WiFi, not public WiFi)
- ✅ Configure firewall to restrict to local network
- ✅ Don't expose port 5000 to internet without authentication
- ✅ Keep software updated for security patches
- ❌ Never run on public WiFi without VPN
- ❌ Don't port forward to internet without HTTPS + auth
For maximum security (no mobile access):
Edit waverider_web.py line ~100:
# Change from:
socketio.run(app, host='0.0.0.0', port=5000)
# To:
socketio.run(app, host='127.0.0.1', port=5000)This prevents all network access except from the same computer.
Complete Documentation:
- README.md - This file (main documentation)
- PLATFORM_GUIDE.md - Detailed platform-specific instructions
- IMPLEMENTATION_SUMMARY.md - Technical implementation details
- OPTIMIZATION_SUMMARY.md - Performance optimizations
WaveRiderSDR/
├── 📄 run.py # Universal launcher (auto-detects platform)
├── 📄 waverider_sdr.py # Desktop GUI application (PyQt5)
├── 📄 waverider_web.py # Web interface (Flask + SocketIO)
├── 📄 waverider_common.py # Shared utilities and classes
│
├── 🛠️ Installation Scripts
│ ├── install.sh # Linux/macOS automated installer
│ ├── install.bat # Windows batch installer
│ └── install.ps1 # Windows PowerShell installer
│
├── 🏗️ Build Files
│ ├── build.py # PyInstaller build script
│ ├── setup.py # Python package configuration
│ └── requirements.txt # Python dependencies
│
├── 📁 templates/
│ └── index.html # Web interface HTML template
│
└── 📚 Documentation
├── README.md # Main documentation (this file)
├── PLATFORM_GUIDE.md # Platform-specific guides
├── IMPLEMENTATION_SUMMARY.md # Technical details
├── OPTIMIZATION_SUMMARY.md # Performance info
└── LICENSE # MIT License
waverider_common.py - Shared functionality:
SDRDevice- RTL-SDR and HackRF hardware interfaceSignalGenerator- Simulated signal generationDemodulator- AM/FM/SSB/CW demodulationMorseDecoder- Morse code decodingMeshtasticDetector- Meshtastic device detectionLoRaCommunication- LoRa managementcompute_fft_db()- Optimized FFT computation
waverider_sdr.py - Desktop GUI:
- PyQt5-based native interface
- Real-time waterfall display
- Interactive controls
- Windows/macOS/Linux support
waverider_web.py - Web Interface:
- Flask + SocketIO server
- HTML5 canvas waterfall
- Mobile-optimized responsive design
- Cross-platform browser support
Create standalone executables for distribution:
# Install PyInstaller
pip install pyinstaller
# Build for your platform
python build.pyOutput locations:
- Windows:
dist/WaveRiderSDR/WaveRiderSDR.exe - macOS:
dist/WaveRiderSDR.appanddist/WaveRiderSDR/WaveRiderSDR - Linux:
dist/WaveRiderSDR/WaveRiderSDR
Distribution:
Releases are automatically created via GitHub Actions when a new version tag is pushed:
# Create and push a new version tag
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0This will trigger the build workflow which:
- Builds executables for Windows, macOS, and Linux
- Creates archives for each platform
- Automatically creates a GitHub release with all artifacts attached
Alternatively, you can manually trigger the workflow from the Actions tab for testing.
For local builds:
- Test the executable
- Create archive (zip/tar.gz)
- Use the automated release workflow as described above
Python not found
Symptoms: python: command not found or 'python' is not recognized
Solutions:
- Windows: Reinstall Python from python.org and check "Add Python to PATH"
- macOS: Install Python via
brew install python3or from python.org - Linux: Install via package manager:
sudo apt install python3 python3-pip
Try python3 instead of python if standard command doesn't work.
Permission denied errors (Linux/macOS)
Symptoms: Cannot run install scripts
Solutions:
chmod +x install.sh
./install.sh
# Or for specific scripts:
chmod +x waveriderImportError: No module named 'PyQt5'
Symptoms: Desktop version won't start
Solutions:
pip install PyQt5
# Or reinstall all dependencies:
pip install -r requirements.txtAlternative: Use web version instead:
python run.py --webRTL-SDR device not detected
Symptoms: No devices shown in dropdown
Solutions:
-
Install pyrtlsdr:
pip install pyrtlsdr
-
Install RTL-SDR drivers:
- Windows: Use Zadig to install WinUSB driver
- Linux:
sudo apt-get install rtl-sdr - macOS:
brew install librtlsdr
-
Check device connection:
# Linux/macOS rtl_test # Should show: "Found 1 device(s)"
-
Unplug and replug the device
-
Restart WaveRider SDR
HackRF device not detected
Symptoms: HackRF not shown in device list
Solutions:
- Install SoapySDR (see HackRF Setup)
- Verify installation:
SoapySDRUtil --find # Should list HackRF device - Check USB connection
- Update firmware if needed
- Restart WaveRider SDR
Cannot access web interface from mobile
Symptoms: Connection refused or timeout from phone/tablet
Solutions:
- Verify same WiFi network: Both devices must be on same network
- Check IP address: Use
ipconfig(Windows) orifconfig(macOS/Linux) - Check firewall:
- Windows: Run
netsh advfirewall firewall show rule name="WaveRider SDR" - Linux: Run
sudo ufw status
- Windows: Run
- Test locally first: Try
http://localhost:5000on the server computer - Try different port: Edit source to use port 8080 instead of 5000
- Disable firewall temporarily to test (re-enable after!)
Web interface is slow or laggy
Symptoms: Delayed updates, freezing
Solutions:
- Reduce update rate: Increase to 200-500ms
- Reduce FFT size: Use 1024 or 512 instead of 4096
- Check CPU usage: Close other applications
- Check network: Ensure strong WiFi signal
- Use desktop version: Native GUI is more efficient
Module 'numpy' has no attribute 'XXX'
Symptoms: NumPy-related errors
Solutions:
# Update NumPy
pip install --upgrade numpy
# Or reinstall
pip uninstall numpy
pip install numpyPyQt5 ImportError on macOS
Symptoms: ImportError: dlopen(...): Library not loaded
Solutions:
# Reinstall PyQt5
pip uninstall PyQt5
pip install PyQt5
# Or use Homebrew version:
brew install pyqt5Before asking for help:
- ✅ Check this troubleshooting section
- ✅ Read relevant documentation
- ✅ Search existing GitHub issues
- ✅ Try both desktop and web versions
When reporting issues:
- 📋 Include your platform (OS, version)
- 📋 Python version:
python --version - 📋 Error messages (full traceback)
- 📋 Steps to reproduce
- 📋 What you expected vs. what happened
Where to get help:
- 🐛 GitHub Issues - Bug reports
- 💬 Discussions - Questions & ideas
- 📧 Email: Check GitHub profile for contact
Planned Features:
- Recording and playback functionality
- Frequency bookmarks and presets
- Adjustable colormap options
- Dynamic range control
- Advanced LoRa packet capture
- Meshtastic message monitoring
- Spectrum analyzer mode
- Signal strength meter (S-meter)
- Band scanning functionality
- Noise floor indication
- Peak hold display
- Signal identification tools
Hardware Support:
- Additional SDR devices (Airspy, LimeSDR, PlutoSDR)
- Audio input support (sound card as SDR)
- IQ file playback
- Network SDR support (RTSP, SpyServer)
Want to contribute? See Contributing section below!
We welcome contributions from the community!
- 🐛 Report bugs - Open an issue with details
- 💡 Suggest features - Share your ideas in Discussions
- 📝 Improve documentation - Fix typos, add examples
- 🔧 Submit code - Fix bugs, add features
- 🧪 Test - Try on different platforms, report results
- 🌍 Translate - Help translate UI and docs
- ⭐ Star the repo - Show your support!
# Fork and clone
git clone https://github.com/YOUR-USERNAME/WaveRiderSDR.git
cd WaveRiderSDR
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Install in development mode with all extras
pip install -e ".[all]"
# Create a feature branch
git checkout -b feature/your-feature-name
# Make changes, test, commit
git add .
git commit -m "Add: your feature description"
git push origin feature/your-feature-name
# Open Pull Request on GitHub- Python: Follow PEP 8 style guide
- Comments: Clear and concise
- Docstrings: Use for all functions/classes
- Type hints: Encouraged for new code
✅ Good PRs:
- Clear description of changes
- One feature/fix per PR
- Tests pass (if applicable)
- Documentation updated
- Clean commit history
❌ Avoid:
- Mixing multiple features
- Breaking existing functionality
- Large reformatting changes
- Undocumented changes
Reduce CPU Usage:
- Increase update rate (200-500ms)
- Reduce FFT size (512 or 1024)
- Use lower sample rates
- Disable features not in use
Optimize for Raspberry Pi:
# Use web interface (lighter than GUI)
python run.py --web
# Reduce settings in UI:
# - Sample Rate: 1.024 MHz
# - FFT Size: 512
# - Update Rate: 500msOptimize for Battery (Laptops):
- Use desktop version (more efficient than web + browser)
- Reduce update frequency
- Lower sample rate when not needed
Do I need an SDR to use WaveRider SDR?
No! WaveRider SDR works in demonstration mode with simulated signals if no hardware is detected. This lets you explore the interface and features before investing in hardware.
Which SDR should I buy?
For beginners:
- RTL-SDR Blog V3 (~$30) - Great starter, excellent value
- NooElec NESDR Smart v4 (~$25) - Good alternative
For advanced users:
- HackRF One (~$300) - Transmit + receive, wider range
- Airspy (~$200) - Better performance
Can I transmit with WaveRider SDR?
Currently, WaveRider SDR is receive-only. Transmission features may be added in future versions. (Transmitting requires proper licensing!)
Is WaveRider SDR free?
Yes! WaveRider SDR is open source under the MIT License. Free to use, modify, and distribute.
Can I use this for commercial purposes?
Yes, the MIT License permits commercial use. See LICENSE for details.
What frequencies can I receive?
Depends on your hardware:
- RTL-SDR: ~24 MHz to 1.7 GHz (coverage gaps vary by model)
- HackRF One: 1 MHz to 6 GHz (with gaps)
Note: Reception quality varies by frequency, antenna, and environment.
Is it legal to listen to radio signals?
In most countries, receiving radio signals is legal. However:
- ❌ Don't decode encrypted/scrambled communications
- ❌ Don't listen to cellular/mobile phone calls
- ❌ Don't disclose private communications
- ✅ Amateur radio, public safety, broadcast, aviation - typically OK
Check your local laws! Regulations vary by country.
Why is there no audio output?
Audio output is in development. Currently, demodulation is visual only. Future versions will add audio support.
Can I record signals?
Not yet - recording functionality is planned for future release. For now, use other tools like rtl_sdr for recording.
Does it work offline?
Yes! Once installed, WaveRider SDR works completely offline. No internet connection required.
WaveRider SDR is licensed under the MIT License.
What this means:
- ✅ Free to use
- ✅ Free to modify
- ✅ Free to distribute
- ✅ Commercial use allowed
- ✅ Private use allowed
⚠️ No warranty provided⚠️ Author not liable
See LICENSE file for full details.
Built with:
- Python - Programming language
- NumPy - Numerical computing
- SciPy - Scientific computing
- Matplotlib - Plotting and visualization
- PyQt5 - Desktop GUI
- Flask - Web framework
- Socket.IO - Real-time communication
- pyrtlsdr - RTL-SDR Python bindings
- SoapySDR - SDR abstraction layer
Inspired by:
- GQRX
- SDR#
- CubicSDR
- GNU Radio
Special thanks to:
- The open source SDR community
- RTL-SDR.com team
- HackRF project
- All contributors and testers
- 📖 Documentation: Read this README and PLATFORM_GUIDE.md
- 🐛 Bug Reports: GitHub Issues
- 💬 Discussions: GitHub Discussions
- ⭐ Star the Project: Show your support!
- Watch the repository for updates
- Star to bookmark
- Fork to contribute
Made with ❤️ by the WaveRider SDR Team