FlexPilot
Gallery
About This Project
FlexPilot is a next-generation control application for FlexRadio users who want more visibility, more automation, and more control. Built with a modern UI and ultra-low-latency device communication, FlexPilot unifies your entire station.
Key Features
- Real-time radio control with ultra-low latency
- Integrated rotator and antenna switch management
- Automated band and mode switching based on propagation
- Custom rule engine for station automation
- Built-in logging and contest integration
- Cluster and propagation data visualization
- Remote operation support
- Modern, responsive UI design
Documentation
FlexPilot Features
Complete feature reference organized by functionality.
π΄ Radio Control & Integration
FlexRadio SmartSDR Integration
Connect seamlessly to your FlexRadio using the native FlexLib API (no CAT emulation needed):
- Automatic discovery - FlexPilot finds your radio on the network automatically
- Multi-slice control - Create, manage, and control multiple receiver slices independently
- All operating modes - USB, LSB, CW, AM, FM, DIGU, DIGL, and more
- Flexible frequency control - Direct entry, VFO knob, band buttons, or click-to-tune
- Audio gain per slice - Independent volume control for each receiver
- Slice activation - Mute, unmute, activate, or deactivate any slice
Transmit Control
Full control over your transmit operations:
- MOX control - Microphone keying with PTT
- Tune mode - Test your transmitter and antenna system
- Power management - Set RF power, tune power, and maximum power limits
- TX audio routing - DAX TX stream for SSB, AM, and FM modes
- Protection features - Automatic SWR monitoring and power limiting through Automations
Receiver Features
Advanced DSP and receiver control:
- RF gain adjustment - Per-slice RF gain control
- AGC modes - Fast, Medium, Slow, or Off with threshold adjustment
- Noise blanker - Reduce impulse noise with adjustable level
- Noise reduction - Digital noise reduction with level control
- ANF - Automatic Notch Filter for interfering carriers
- APF - Audio Peaking Filter for enhanced CW reception
- RIT/XIT - Receiver and transmitter offset control
- Filter control - Adjustable low and high cutoff frequencies
Transmit Processing
Professional audio quality:
- TX/RX equalizer - Per-band audio equalization
- Wideband noise blanker - WNB with level control
- Binaural audio - Stereo audio processing for enhanced reception
Real-Time Metering
See exactly what's happening:
- S-Meter - Signal strength in S-units and dBm
- RF Power - Forward and reflected power display
- SWR Meter - Standing Wave Ratio monitoring
- ALC Meter - Automatic Level Control indication
- Compression - Audio compression level
- Microphone Level - Mic input monitoring
π΅ Audio Processing & Routing
DAX (Digital Audio eXchange) Integration
FlexRadio's digital audio transport, fully integrated:
- DAX channel management - Create and configure DAX audio channels
- Slice-to-DAX routing - Route any slice to any DAX channel
- Windows audio devices - Integrate with Windows WASAPI audio system
- Master volume control - Overall volume management
- Active stream monitoring - See which audio streams are active
Audio Rewind - Never Miss a Callsign
One of the top community-requested features:
- 30-120 second rolling buffer - Continuous audio capture with zero disk writes
- Instant replay - Rewind 5, 10, 15, or 30 seconds with a single hotkey
- Save QSOs as WAV files - Export captured audio for later review or training
- Zero performance impact - Efficient circular buffer design
- Perfect for contesting - Catch every callsign in fast pileups
- Adjustable buffer size - Configure buffer length to your preference
Voice Keyer
Pre-recorded message playback:
- F1-F8 message slots - Eight programmable voice messages
- Record and playback - Record messages directly in FlexPilot
- Hotkey control - Trigger messages with keyboard shortcuts
- Message persistence - Saved messages survive restarts
- WAV file storage - High-quality audio format
Audio Device Control
Complete audio management:
- Device enumeration - Automatic detection of Windows audio devices
- Microphone control - Level adjustment and mute
- Speaker/headphone mute - Quick mute for listening
- Route creation - Flexible routing from slices to audio devices
π‘ CW (Morse Code) Features
Modern CW Decoder (Work in progress)
Advanced multi-signal decoding:
- Multi-signal support - Decode multiple CW signals simultaneously
- Adaptive WPM detection - Automatically detects sending speed
- Pattern recognition - Accurate character detection even with QSB
- Timing analysis - Adaptive dit/dah detection handles varying speeds
- Audio preprocessing - Signal conditioning for optimal decoding
CW Keying
Full CW transmission support:
- Software keying - Generate CW tones via audio output
- Hardware keying - Control radio CW keyer via CAT commands
- FlexLib native keying - Direct SmartSDR keying integration
- Macro support - Pre-programmed CW messages (F1-F8)
- Adjustable speed - WPM control from slow to high-speed
CW Services
Memory Service
- Store up to 8 CW messages
- Quick access via hotkeys and UI buttons
- Configuration persistence
CW Scanner Service (Work in progress)
- Frequency scanning for CW activity
- Dwell time on signals above threshold
- Band memory for specific frequencies or custom ranges
πΊοΈ DX Spotting & Cluster Integration
Premium DX Spot Overlay
The professional spotting solution the community requested:
- Visual spot markers - Clear vertical lines on spectrum and waterfall
- Age-based coloring - Yellow (fresh) β Orange β Red β Gray (old)
- Intelligent fading - Recent spots bright, old spots gradually fade
- Easy-to-read callsign labels - Dark background for perfect readability
- One-click QSY - Click any spot to tune instantly
- CW auto-zerobeat integration - Clicking CW spots centers them perfectly
Reverse Beacon Network (RBN)
Worldwide CW skimmer network integration:
- Real-time CW spots - Reports from hundreds of skimmers worldwide
- Telnet connection - Standard RBN protocol (telnet.reversebeacon.net:7000)
- Detailed spot parsing - Frequency, callsign, mode, WPM, SNR, distance, bearing
- Signal quality reporting - See signal strength in dB and sending speed in WPM
DX Cluster Aggregation
Connect to traditional DX clusters:
- DXSpider - Full support for standard DX cluster protocol
- AR-Cluster - Compatible with AR-Cluster spots and commands
- CC Cluster - Support for CC Cluster implementations
- Generic cluster client - Extensible framework for custom clusters
- Multi-cluster support - Connect to multiple clusters simultaneously
- Automatic backfill - Request last 50 spots on connection
- Spot filtering - Filter by band, frequency, or callsign
Bandmap Service
Organize and visualize spots:
- Current band filtering - Show only spots on your active band
- Visual frequency display - See where the action is
- Spot caching - Quick access to recent spots
- Band statistics - Count and distribution of spots per band
Log4OM Integration
Bidirectional data exchange:
- UDP spot forwarding - Send spots to Log4OM (port 12060)
- Callsign reception - Receive callsign from Log4OM lookups
- Grid square exchange - QTH locator data sharing
- Bidirectional control - FlexPilot controls radio, Log4OM sends data
SmartSDR Spot Display
Native radio integration:
- Spot markers on panadapter - See spots directly on your radio display
- Color coding - Different colors for different spot types
- Spot lifetime control - Fade spots after configurable time period
- Info display - Callsign, mode, and timing information
π Propagation & Location Services
Solar Data & Band Conditions
- Real-time solar activity - Solar Flux Index (SFI), Sunspot Number (SSN)
- Ionospheric indicators - K-Index and A-Index
- Space weather alerts - Warnings for Kβ₯5 geomagnetic storms
- HF/VHF band conditions - Instant predictions for 160m through 2m
- MUF predictions - Maximum Usable Frequency for each band
- Visual condition indicators - Color-coded band conditions (Good/Fair/Poor)
Gray-Line Calculator
- Sunrise/sunset times - For your location and target DX location
- Solar noon calculation - Peak solar radiation time
- Twilight periods - Civil, nautical, and astronomical twilight
- Great circle paths - True bearing and distance to DX targets
Maidenhead Grid Square Tools
Essential location utilities:
- Lat/Lon to Grid conversion - Calculate grid square from coordinates
- Grid to Lat/Lon conversion - Coordinates from grid square
- Great circle distance - Accurate distance calculation
- Bearing calculation - Antenna pointing direction
QRZ.com Integration
Callsign database lookup:
- Automatic lookups - Look up spotted callsigns automatically
- Operator information - Name, location, license class
- Photo display - See operator photos
- License verification - Confirm current license status
π₯ Automation & Rules Engine (Work in progress)
Think of it as "Node-RED for your radio station"βbut purpose-built for amateur radio.
Visual Rule Builder
No coding required:
- Drag-and-drop interface - Build complex automation visually
- Real-time validation - See if your rules will work before saving
- Rule templates - 15+ pre-built templates for common scenarios
- Test mode - Test rules without affecting your station
Trigger Types
React to station events:
- Frequency change - When you tune to a new frequency
- Band change - When you change bands
- Operating mode change - When you switch modes (SSB, CW, FT8, etc.)
- Device state change - When devices change status (rotator position, amp temperature, etc.)
- Meter thresholds - When SWR, power, or other meters cross limits
- Time-based - Scheduled events (future enhancement)
Condition Operators
Complex logic made simple:
Comparison Operators
- Equal to, not equal to
- Less than, greater than
- Less than or equal, greater than or equal
- Between (range checking)
Logical Operators
- AND - All conditions must be true
- OR - Any condition must be true
- NOT - Invert condition result
- Unlimited nesting - Build complex logic trees
String Operators
- Regex matching
- Wildcard patterns
- Exact match
- Contains, starts with, ends with
Action Types
Control everything:
Radio Control Actions
- Set frequency, mode, band
- Set transmit power
- Enable/disable transmit
- Increase/decrease power
- Activate specific slice
Device Control Actions
- Set rotator heading (automatic DX tracking!)
- Set amplifier mode (operate/standby)
- Set amplifier band
- Switch antenna selection
- Trigger relay controls
Integration Actions
- Send MQTT message (Home Assistant integration!)
- HTTP webhook (trigger external services)
- Log message (diagnostic logging)
- Send notification (alerts and warnings)
- Execute delay (timing control)
Rule Templates
Get started instantly:
Band Tracking - Auto-configure station for each band
Contest Mode - Instant station reconfiguration for contests
FT8 Automation - Automatic FT8 band/mode setup
DX Rotator Control - Point antenna at spotted DX stations
SWR Protection - Cut transmit on high SWR
Temperature Monitoring - Reduce power on high amplifier temperature
Night Mode - Reduce power after sunset
Emergency Shutdown - Multiple safety triggers
Antenna Selection - Automatic antenna switching by band
...and more!
Rule Persistence
Rules survive restarts:
- SQLite storage - All rules saved in rules.db
- Rule repository - Easy save, load, update, delete operations
- Import/export - Share rules with other operators
- Versioning support - Track rule changes over time
π‘ External Device Control
Control your entire station from one place.
Device Management Framework
Universal device control:
- Unified device interface - All devices use the same control model
- Central device manager - One place to manage all station equipment
- Multiple connection types - Serial (COM), TCP, UDP, HTTP/HTTPS, USB
- SQLite persistence - Device configurations saved automatically
- Event propagation - Status and property changes broadcast to entire system
Supported Amplifiers
Full telemetry and control:
**ACOM 1400S **
- Ethernet (TCP) connection
- Operating modes: Operate, Standby, Tuning, Fault
- Telemetry: Power output, SWR, temperature
- Automatic band switching
- Fault detection and reporting
SPE Expert - Help needed here regarding protocol
- Ethernet (TCP) connection
- Extended telemetry: Forward/reflected power, SWR, temperature, voltage, current
- Automatic band tracking
- Real-time status monitoring
PGXL Amplifier - Help needed here regarding protocol
- Serial connection
- Automatic band switching on frequency changes
- Simple control protocol
Supported Antenna Switches
Automatic antenna selection:
4O3A Antenna Switch - Help needed here regarding protocol
- Multi-antenna selection (6 positions)
- Serial control via USB
- Band-based automatic switching
- Manual override capability
DXE RF Switch - Help needed here regarding protocol
- Serial control protocol
- Multiple antenna support
- Integration with automation rules
AG6QR SteppIR Controller - Help needed here regarding protocol
- RF sensing auto-switch capability
- Manual and automatic modes
- Integration with rotator control
Supported Rotators
Point your antennas automatically:
ERC USB Rotator - Working 100%
- GS-232A compatible serial protocol
- Azimuth-only rotation (0-360Β°)
- Real-time position tracking
- Automatic shortest-path rotation
- Simulation fallback for models without feedback
Network Control (PSTRotator Protocol)
- TCP Server (port 12000) - Compatible with Log4OM, N1MM+
- UDP Server (port 12040) - XML extensions for enhanced integration
- Commands: Query position, move to azimuth, move to azimuth+elevation, stop, status
- Callsign extraction from Log4OM for automatic DX tracking
Framework Ready For:
- Green Heron rotators
- Yaesu (G-5500, G-800, etc.)
- MFJ rotators
- Custom implementations
Input Controllers
ShuttleXpress USB HID Controller
- Jog wheel for frequency tuning with adjustable step size
- Shuttle wheel for rate-controlled frequency adjustment
- Five programmable buttons mapped to radio functions
- Profile support for different operating modes (CW, SSB, FT8, etc.)
- USB HID connection (no drivers needed)
Band Decoders
SteppIR Device Support - Help needed here regarding protocol
- Automated antenna control based on frequency
- Real-time antenna tuning
- Integration with frequency changes
β¨οΈ Hotkeys & Keyboard Control
FRStack-style global hotkey system:
Global Hotkey Support
Control FlexPilot from anywhere:
- System-wide hotkeys - Work even when other apps are focused
- Win32 API integration - Reliable global hotkey capture
- Custom key combinations - Ctrl+Alt+Shift+[Key]
- Profile support - Different hotkey sets for different modes
In-App Hotkeys
Fast control within FlexPilot:
- Application-focused hotkeys - Active when FlexPilot has focus
- Simpler key combinations - Less modifier keys needed
- Context-sensitive - Different hotkeys for different tabs
Hotkey Commands
30+ built-in commands:
Radio Control
- Tune/toggle tune mode
- Set operating mode
- Jump to specific band
- Toggle MOX (transmit)
- Toggle noise reduction
- Toggle noise blanker
- Adjust AGC threshold
- Adjust CW speed
- Adjust transmit power
- Adjust tune power
Audio Controls
- Adjust volume
- Toggle audio mute
- Trigger audio rewind
- Rewind specific duration (5, 10, 15, 30 seconds)
- Save audio recording
Voice Keyer
- Play voice messages F1-F8
- Record new messages
- Stop playback
Hotkey Persistence
Never lose your configuration:
- SQLite storage (hotkeys.db)
- Repository pattern - Consistent save/load
- Customization UI - Visual hotkey editor in settings
- Import/export - Share hotkey profiles
π Integration & Remote Control
REST API - Work in Progress
Full programmatic control:
Radio Control Endpoints
GET /api/radio/status- Current radio statePOST /api/radio/frequency- Set frequencyPOST /api/radio/mode- Set operating modeGET /api/radio/slices- List active slicesPOST /api/radio/power- Set transmit power
Device Control Endpoints - Work in Progress
GET /api/devices- List all devicesPOST /api/devices- Register new deviceGET /api/devices/{id}- Device detailsPOST /api/devices/{id}/command- Send command to deviceDELETE /api/devices/{id}- Remove device
Propagation Endpoints - Work in Progress
GET /api/propagation/solar- Current solar dataGET /api/propagation/voacap- VOACAP predictionsGET /api/propagation/path- Path analysis between two locations
SignalR WebSocket Hubs - Work in Progress
Real-time updates:
- RadioHub - Real-time radio state and meter updates
- DeviceHub - Device status and property changes
- MeterHub - Continuous meter value streaming
- SpotHub - Real-time DX spot updates as they arrive
MQTT Integration
Home automation made easy:
- MQTT broker connection - Connect to any MQTT broker (Mosquitto, HiveMQ, etc.)
- Publish station data - Meter values, frequency, mode, device status
- Configurable topics - Custom topic structure for your setup
- Subscribe for commands - Remote control via MQTT messages
- Home Assistant integration - Perfect for smart home monitoring
- Node-RED integration - Build custom automation flows
- Quality of Service - Configurable QoS levels
Network Servers
FlexPilot provides these network servers:
| Server | Port | Protocol | Compatible Software | |
|---|---|---|---|---|
| PSTRotator TCP | 12000 | Text commands | Log4OM, N1MM+ | |
| PSTRotator UDP | 12040 | Text + XML | Log4OM, Logging Software | |
| Radio Info UDP | 12060 | Frequency/Mode | Log4OM, Logging Software | |
| Log4OM Callsign | 12041 | Callsign updates | Log4OM | |
| Log4OM Contact | 12042 | QSO data | Log4OM | |
| CAT Control | 4532 | Hamlib CAT | WSJT-X, JTDX, Logging Apps | |
| Cluster Aggregator | 7300 | DX spots | External clients | |
| WebAPI | 5000 | REST/SignalR | Web clients, custom apps | - Work in Progress |
External Connections
FlexPilot connects to:
| Service | Connection | Purpose | |
|---|---|---|---|
| FlexRadio SmartSDR | |||
| RBN Server | TCP (telnet.reversebeacon.net:7000) | CW spots | |
| DX Cluster | TCP (custom host:7000) | DX spots | |
| QRZ.com | HTTPS API | Callsign lookup | |
| VOACAP Service | HTTP API | Propagation predictions | - Work in Progress |
| WSJT-X | UDP (localhost:2237) | FT8/FT4 sync | |
| MQTT Broker | TCP (custom host:1883) | Home automation |
π Spectrum & Visualization
Spectrum Display
Real-time frequency visualization:
Work in Progress
- Waveform data from panadapter - Direct from FlexRadio
- Waterfall display - Continuous time-frequency display
- FlexLib adapter - Native radio spectrum integration
- High-performance rendering - Smooth, GPU-accelerated display
Work in Progress
Waterfall Rendering
Beautiful, efficient display:
- Color palettes - SmartSDR-compatible color schemes (default, alternate)
- Real-time refresh - Continuous updates with minimal CPU usage
- Tile assembly - Efficient rendering for smooth scrolling
- Customizable gradients - Adjust colors to your preference
Panadapter Display
Interactive spectrum control:
- Frequency axis with markers - Clear frequency labeling
- Signal level visualization - Real-time signal strength
- Overlay controls - Frequency and zoom information
- Pan operations - Click-and-drag to change center frequency
- Click-to-tune - Click anywhere to tune (with CW auto-zerobeat!)
πΎ Configuration & Settings
Application Settings
Comprehensive configuration system:
General Settings
- Log level (Debug, Info, Warning, Error)
- Startup options (minimized, tray)
- Theme and color scheme
- Auto-connect to radio
- Last radio serial number
UDP Services
- Radio Info broadcast (enabled/disabled, port, address)
- Log4OM integration (radio info, callsign/contact receiver)
- WSJT-X sync (enabled/disabled, port)
- Cluster aggregator (enabled/disabled, port)
Station Information
- Callsign, operator name
- QTH (location)
- Maidenhead grid square
- Latitude/longitude
- ITU and CQ zones
- Antenna information
- Default power level
QRZ Settings
- Username and password
- Auto propagation lookup
- Show operator photos
Propagation Settings
- Google Maps API key
- Use Google Maps for visualization
DX Cluster Settings
- Forward spots to radio display
Transmit Settings
- Maximum power level limits
CAT Server Settings
- Auto-start on launch
- Port number (default 4532)
MQTT Settings
- Broker host and port
- Base topic structure
- Username and password
- Publish options (meters, frequency, mode, devices)
Memory Settings
MRU tracking enabled/disabled
Dwell time before recording frequency
Maximum MRU entries
Frequency tolerance for duplicates
COM port MOX control
Meter mute thresholds
Device Configuration
Device registry:
- SQLite database (devices.db)
- Device properties - ID, name, model, connection type, connection string
- Persistence - Load on startup, save on modification
- Validation - Connection test before saving
- Bulk operations - Import/export device configurations
Profile Management
Save complete station configurations:
- Radio profiles - Custom radio settings
- Profile switching - Instant configuration changes
- SQLite storage (profiles.db)
- Per-profile settings - Memories, rules, hotkeys specific to each profile
Voice Keyer Storage
Message management:
- Message files - Stored in VoiceKeyer/ directory
- WAV format - High-quality audio
- Metadata - Associated with F1-F8 slots
- Easy organization - Browse and manage recordings
Temperature Monitoring
Amplifier protection:
- Real-time monitoring - Continuous temperature tracking
- Configurable thresholds - Set warning and critical temperatures
- Automatic power reduction - Reduce power on overheating
- Visual and audible alerts - Immediate warning on high temps
π¨ User Interface
Modern Cross-Platform UI
Avalonia Framework:
- Cross-platform XAML - Runs on Windows, Linux (soon), macOS (soon)
- GPU-accelerated rendering - Smooth, responsive interface
- Modern controls - Fluent-style UI components
- Responsive design - Adapts to different screen sizes
Three Built-In Themes
Choose your style:
- FlexMidnight (default) - Dark theme optimized for night operation
- DXOperator - Alternative dark theme for DX hunting
- StealthCarbon - Sleek dark theme with carbon accents
- Light/Dark variants - Additional theme variations
Tab-Based Interface
Organized feature access:
- Dashboard - Station information and quick status
- Radio Control - Frequency, mode, power, meters
- Spectrum/Waterfall - Real-time frequency visualization
- CW Decoder - Morse code decoding and spectrum
- Bandmap/Spots - DX spots and cluster integration
- Rules/Automation - Automation rule editor
- Devices - Device management and control
- Audio - Audio routing and equalizer
- Audio Rewind - Rewind and save recordings
- Voice Keyer - Voice message management
- Propagation - Solar data and predictions
- Settings - Application configuration
- Log Viewer - Real-time application logs
Custom Controls
Purpose-built UI elements:
- Analog Meters - S-Meter, RF Power, SWR, Compression, ALC, Mic Level with animated needles
- Digital Meters - Modern numeric displays for all meter types
- CW Display - Multi-signal CW visualization with spectrum overlay
- Pan Overlay - Frequency and zoom information on spectrum
- Spot Markers - Visual DX spots on waterfall/panadapter
Customization
Make it yours:
- Color scheme support - Light and dark variants
- CSS styling - Flexible customization options
- Custom converters - Data binding helpers for complex displays
- Profile-based layouts - Save UI configurations per profile (future)
π§ System Integration
Database Storage
All configuration persisted:
- SQLite databases - Reliable, zero-configuration storage
- Separate databases - devices.db, profiles.db, memories.db, hotkeys.db, rules.db
- JSON files - settings.json, cw_memories.json, audio_routing.json
- Automatic backup - Configuration backup on changes (future)
Logging System
Comprehensive diagnostics:
- Serilog framework - Structured logging
- Log levels - Debug, Information, Warning, Error, Fatal
- File logging - Logs persisted to disk
- Real-time log viewer - Live display in application UI
- Diagnostic output - SQL queries, device communication, radio events
- Search and filter - Find specific log entries quickly
Service Architecture
Modular design:
- Dependency injection - Microsoft.Extensions.DependencyInjection
- Service interfaces - Clean contracts for all services
- Async/await throughout - No blocking UI calls
- Event-driven - Services communicate via events
- Lifecycle management - Proper initialization and cleanup
π Performance & Optimization
Optimizations Implemented
Fast and efficient:
- Async/await throughout - All I/O operations are non-blocking
- Efficient spectrum rendering - Tile-based waterfall assembly
- Adaptive audio processing - FFT optimization for EQ
- Memory management - Audio buffer recycling
- Event throttling - Prevent event spam from fast-changing metrics
- Lazy loading - Load modules only when needed
- GPU acceleration - Hardware-accelerated UI rendering
π What's Next?
Planned Features
Coming soon:
- Web Dashboard - React/Vue.js web interface for remote control
- CWX Window - Dedicated CW decoder and keyer window
- Mobile Apps - iOS and Android native applications
- Node-RED Package - node-red-contrib-flexpilot for custom flows
- Stream Deck Plugin - Elgato Stream Deck integration
- Plugin Marketplace - Community-contributed plugins
- Profile Marketplace - Share and download station configurations
- Advanced Analytics - Operating statistics and trends
- Contest Integration - Deeper N1MM+ and Log4OM contest support
- Multi-Radio Support - Control multiple FlexRadios simultaneously