aethersdr / aethersdr/AetherSDR
Add native support for Expert Electronics SunSDR transceivers
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 221
- Forks
- 117
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 299
Description
Request preparation
- I used an AI assistant to help structure this request
- I checked for existing issues covering the same feature
What would you like?
Add native support for Expert Electronics SunSDR transceivers
What
Add native support for Expert Electronics SunSDR transceivers to AetherSDR, allowing AetherSDR to connect directly to and operate SunSDR radios such as the SunSDR2 DX, SunSDR2 PRO and related Expert Electronics transceivers.
From the user's perspective, AetherSDR should offer an Expert Electronics / SunSDR radio backend in addition to the existing FlexRadio and other supported radio backends.
The goal is to provide the AetherSDR user interface — including the AppletPanel, VfoWidget, RxApplet, spectrum/waterfall and audio controls — while communicating with the SunSDR through its native network interface.
Why
AetherSDR is already a cross-platform Qt6/C++20 SDR client with a backend-oriented architecture. Supporting SunSDR would make the application useful to operators who own Expert Electronics hardware while keeping the same modern interface across different SDR platforms.
Expert Electronics already provides a network-based TCI (Transceiver Control Interface) specifically designed for communication between transceivers and third-party software. TCI supports considerably more than traditional CAT control, including frequency/mode control, IQ streams, audio, CW and multi-client operation.
Expert Electronics documents TCI as a full-duplex WebSocket protocol running over TCP and explicitly positions it as a universal interface for transceivers, loggers, skimmers, power amplifiers and antenna equipment.
How Other Clients Do It
ExpertSDR3 is the native client for Expert Electronics transceivers, including the SunSDR2 DX, SunSDR2 PRO and QRP models. It is available for Windows, Linux and macOS.
ExpertSDR2/3 exposes the TCI interface for third-party applications. TCI provides:
- VFO/frequency and mode control
- PTT/TRX control
- IQ streaming
- RX/TX audio
- CW functionality
- Multi-client connectivity
- Communication with external devices such as amplifiers and antenna switches
The official TCI implementation and protocol documentation are publicly available from Expert Electronics.
GQRX, by contrast, is primarily a generic receiver application using GNU Radio/gr-osmosdr/SoapySDR and does not provide native SunSDR/TCI integration comparable to ExpertSDR.
Suggested Behavior
Radio selection
Add an Expert Electronics / SunSDR backend to the radio connection/selection mechanism.
The user should be able to:
- Open the radio connection dialog.
- Select Expert Electronics / SunSDR as the radio type.
- Enter or select the radio IP address.
- Connect to the transceiver.
- Use the existing AetherSDR UI without needing a separate ExpertSDR application.
Main UI
Once connected:
VfoWidgetcontrols the SunSDR VFO/frequency.RxAppletdisplays and controls the receiver.AppletPanelcontinues to host the normal AetherSDR applets.- The spectrum/panadapter displays the received IQ/spectrum data.
- RX audio is delivered through the normal AetherSDR audio engine.
- TX/PTT and TX audio use the AetherSDR transmit path.
- Multiple receivers/slices should be mapped to the corresponding SunSDR receiver capabilities where supported.
The implementation should reuse existing backend abstractions rather than introducing SunSDR-specific logic into the GUI wherever possible.
Connection management
The user should see the same connection states and error handling used by other supported radio backends:
- Connecting
- Connected
- Disconnected
- Connection lost
- Reconnecting
- Unsupported capability
The backend should expose the radio's capabilities so that unsupported controls are disabled rather than generating invalid protocol commands.
Protocol Hints
TCI — Transceiver Control Interface
Expert Electronics defines TCI as a full-duplex WebSocket protocol over TCP. The official protocol implementation/documentation is available from the ExpertSDR3/TCI repository.
Relevant capabilities include:
- VFO/frequency control
- Mode control
- RX/TX state
- PTT
- Audio input/output
- IQ streaming
- Receiver/transmitter management
- Multi-client operation
The protocol uses textual commands with a defined command/argument structure and supports an extensible command set.
The existing AetherSDR TCI implementation may provide reusable protocol infrastructure, but the direction here is specifically to implement a SunSDR radio backend/client, not merely to extend AetherSDR's existing TCI server.
Acceptance Criteria
- AetherSDR can discover or connect to an Expert Electronics SunSDR transceiver over the network without requiring ExpertSDR3 to be running.
- At minimum, frequency, mode, VFO/receiver state and PTT are fully functional through the AetherSDR UI.
- RX audio and spectrum/IQ data are displayed through the existing AetherSDR audio and spectrum infrastructure.
- TX audio can be transmitted through the SunSDR with correct PTT sequencing.
- The implementation uses a dedicated radio backend/capability layer so that SunSDR-specific protocol handling remains separated from the generic AetherSDR UI.
Suggested labels: enhancement, protocol, spectrum, audio
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing radio backend abstractions and TCI implementation, then inspect the radio connection dialog and the named AppletPanel, VfoWidget, and RxApplet entry points. Done means a dedicated SunSDR backend connects over TCI and supports the listed frequency, mode, receiver, PTT, audio, and spectrum/IQ acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc, backend, data-visualization, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100