MercuryLuxPc is a cross-platform desktop application for monitoring and controlling the KM3KM Mercury LUX amplifier.
It supports Windows, macOS, and Linux (including Raspberry Pi 5), offering enhanced functionality over the default KM3KM desktop app.
Developed using Qt (C++), the application provides real-time telemetry visualization, TCP/IP remote access, TLS encryption, and flexible UI options for station customization and remote operation.
- Connects to Mercury LUX via USB serial
- Auto-detects available COM ports
- Initializes amplifier and enables serial telemetry
- Manual calibration support
- Automatic serial port reconnect when amplifier is turned back on
- Optional TCP/IP support (Disabled / Server / Client mode)
- User-defined WebSocket address and port
- Secure WebSocket (TLS) support with user-supplied certs
- Full two-way communication (telemetry and control)
- Client state clears immediately if server closes (no stale values)
- Optional TLS support using self-signed or CA-issued certs
- Secure WebSocket (
wss://) communication - Flexible file-based cert/key loading (no recompilation required)
- Built-in TLS certificate generator (self-signed)
- Help → Check for Updates menu option
- Automatically checks GitHub for latest release
- Prompts user and downloads new version if available
- Forward Power (Watts or dBm)
- Reflected Power (Watts / SWR / Return Loss)
- Drain Voltage (V)
- Drain Current (A)
- Temperature (°C / °F)
- Efficiency (%)
- Band, Antenna, Fan, Standby/Operate, and Alarm State
- On-Air indicator, high-visibility bold white text on red background
- Threshold-based color transitions
- Configurable value ranges and labels
- Optional overlay values (e.g., SWR, Efficiency)
- Meter modes: Live, Peak, Hold, None
- EMA smoothing option for readable fast-changing values
- Cadence-based updates for following SSB/CW signals
- Hide/show tick marks and tick labels
- Tick labels color-coded to thresholds (green/yellow/red)
- Selectable units for power and telemetry
- Serial port and WebSocket settings stored between sessions
- TLS certificate and key path settings
- Calibration values for power and current
- Hot-reload of settings during runtime
- User-selectable font family, size, weight, and style
- Application font saved and restored between sessions
- CW-friendly polling settings (idle poll & post-TX quiet time) to prevent PTT delay
- Clean, resizable GUI with Dark/Light theme support
- PowerBar widgets with live color transitions and overlays
- User-defined application font for consistent display across platforms
- Responsive layout for amplifier telemetry and connection state
- Setup dialog for configuring ports, network, fonts, and preferences
- Log viewer dialog with real-time messages and clear log functionality
- Dialog for generating self-signed TLS certificate and private key
- Hotkeys, user-configurable shortcuts to switch antennas and trigger actions; supports in-app and optional global (system-wide) capture on Windows, macOS, and X11
- Custom antenna labels, rename Ant1/Ant2/Ant3 to user-defined names (e.g., “Vertical”, “Hexbeam”) that persist and appear throughout the UI (Setup → Appearance)
- Supports running multiple instances for users with more than one amplifier
- Each instance has its own isolated settings and state
- Instance number is user-selectable on startup if multiple are configured
Implements all known host-to-LUX commands:
- Request 8-part status string (one-time response)
- Enter standby mode
- Exit standby (operate mode)
- Reset alarms
- Select ANT-1
- Select ANT-2
- Select ANT-3
- Set fan mode to normal
- Set fan mode to max
- Operating System: Windows 10/11, Linux (tested on RPi-5 & Ubuntu) or MacOS
- Packaged as a Windows installer (
.exe). - Download the latest Windows release from the Releases section.
- Run the setup executable and follow the installation wizard.
- Launch the application from Start Menu → MercuryLuxPc or use the desktop shortcut.
- Uninstall via Settings → Apps → Installed Apps → MercuryLuxPc.
-
Packaged as a compressed tarball (
.tar.gz). -
Download the release that matches your architecture:
x86_64oraarch64(for Raspberry Pi-5). -
Open a terminal and run:
tar -xzf MercuryLuxPc_<arch>.tar.gz cd MercuryLuxPc_<arch>/<arch>_<version>/MercuryLuxPc ./install.sh
-
Launch from the system menu under Accessories → MercuryLuxPc or by running:
./run.sh
-
Uninstall with:
./uninstall.sh
- Packaged as a disk image (
.dmg). - Download the macOS
.dmgfrom the Releases. - Double-click the
.dmgto mount it, then drag the app to the Applications folder. - If prompted by Gatekeeper, choose Open Anyway from System Preferences → Security & Privacy.
- Launch from Launchpad or the Applications folder.
- To Uninstall, simply delete
MercuryLuxPc.appfrom the Applications folder.
- Qt Version: Qt 6.x recommended
- C++17+
- Build with Qt Creator or qmake
- For TLS: OpenSSL runtime libraries and valid cert/key pair
You can generate a self-signed TLS certificate using the built-in tool:
- In the application, go to Tools → Generate TLS Certificate.
- This will create a valid self-signed
server.crtandserver.keyfor use with TLS connections.
Alternatively, you can generate a certificate manually using OpenSSL:
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes
This project is licensed under the GNU Lesser General Public License v3.0 (LGPLv3).
Note: MercuryLuxPc is an approved third-party application by KM3KM Electronics. Its use does not void the amplifier warranty.
This application is developed using the Qt Toolkit under the GNU Lesser General Public License v3.0 (LGPLv3).
It is dynamically linked to comply with LGPL requirements.
- Qt Version:
6.7.3 - Compiler:
MinGW 64-bit - Modules Used:
QtCoreQtGuiQtWidgetsQtSerialPortQtWebSockets
Developed by Ray Faucher (KB1SO)
📡 https://www.qrz.com/db/KB1SO
Beta testers and users are encouraged to use the following GitHub tools for support and feedback:
-
🐞 Report bugs and request features:
GitHub Issues -
💬 Ask questions, share feedback, or discuss ideas:
GitHub Discussions
Your feedback helps improve the MercuryLuxPc application—thank you for contributing!
