01 Overview — Local & Remote Operation

HamMixer is a dual-source audio mixer and full radio control suite for Windows. It sits between your transceiver and your ears, letting you mix two independent audio sources in real time — your radio's receiver audio and a WebSDR or KiwiSDR tuned to the same band. Monitor the same frequency from your antenna and a remote SDR simultaneously. Great for DX chasing, contesting, propagation monitoring, or just comparing what your station hears versus what the rest of the world hears.

Two Modes of Operation

  • Local mode: Your radio is connected directly via USB serial and USB audio. HamMixer controls the rig via CAT, captures receiver audio, loads a WebSDR in its embedded browser, and mixes everything together. This is the classic shack setup.
  • Remote mode: Your radio is at home, connected to HamMixer Server. You run HamMixer Desktop from anywhere in the world — a hotel, a friend's QTH, a portable setup. Full radio control plus low-latency Opus audio over the internet. It feels like sitting in front of your rig.

What You Can Do

  • Full CAT control — frequency, mode, filters, AGC, tuner, CW, voice memories, power, VFO A/B
  • Dual SDR support — WebSDR 2.x (PA3FWM) and KiwiSDR, with automatic frequency and mode sync
  • Audio mixing with delay compensation and GCC-PHAT auto-sync
  • Waterfall display with click-to-tune and drag tuning — requires a radio with built-in spectrum scope output (e.g., IC-7300, IC-7610, IC-705, IC-9700)
  • CW keyer with 12 macros and character-by-character transmission
  • HRD-compatible TCP server for logging software integration
  • Keyboard and USB encoder function mapping (36 radio functions)
  • Auto-detection for Icom, Kenwood, Elecraft, and newer Yaesu radios
HamMixer Desktop main window showing frequency LCD, mixer controls, and WebSDR browser The main window in local mode — frequency LCD, mixer area with dual S-meters, and the WebSDR browser below.

02 Installation & System Requirements

System Requirements

  • Windows 10 or 11 (64-bit)
  • 8 GB RAM recommended (4 GB minimum — the embedded browser is the main consumer)
  • Visual C++ Redistributable 2022 — the installer checks for this automatically; if missing, you'll be prompted to download it from Microsoft
  • Audio interface with WASAPI support (all modern Windows sound devices)
  • Serial port (physical or USB) for local radio connection
  • Internet connection for WebSDR, remote operation, and license activation

Download the latest installer from ct7bac.com and run the setup wizard. Accept the defaults unless you have a reason to change the install location. A desktop shortcut is created automatically.

First Launch

When you fire up HamMixer for the first time, a 14-day free trial starts automatically — full functionality, no license key needed. The window title bar shows how many trial days remain. Use the trial to configure your setup and make sure everything works before purchasing.

On first launch, if VB-Cable (a virtual audio cable driver) isn't detected on your system, HamMixer will offer to open the download page. VB-Cable is how WebSDR audio gets routed into the mixer — more on that in the next section.

Where Things Live

  • Settings: %APPDATA%\HamMixer\config.json
  • Saved configurations: configurations\ folder next to the .exe
  • Debug log: hammixer_debug.log in the same folder as the .exe
The installer is about 200 MB because it includes Qt WebEngine — the embedded Chromium browser that powers the WebSDR view. That's a one-time download; the app itself uses about 150 MB of RAM at idle.

03 Audio Device Setup

HamMixer works with three audio streams simultaneously. Open Tools > Audio Devices to configure them.

The Three Audio Paths

  • Radio Input: Your radio's USB audio output — the receiver audio you hear through the rig. This feeds the "Radio" channel strip in the mixer.
  • System Loopback: Captures audio from your system's audio output — specifically, the WebSDR playing in the embedded browser. This is where VB-Cable comes in.
  • Audio Output: Your speakers, headphones, or external DAC — where the final mixed audio comes out.
Audio Devices dialog showing Radio Input, System Loopback, and Audio Output dropdowns Audio Devices dialog — three dropdowns for the complete audio path.

VB-Cable — Why You Need It

Here's the problem: the WebSDR plays audio through a web browser. To get that audio into HamMixer's mixer, you need a virtual audio cable that acts as a loopback — the browser's audio output becomes HamMixer's audio input.

VB-Cable is a free virtual audio device that does exactly this. Once installed, it appears as both a playback device ("CABLE Input") and a recording device ("CABLE Output") in Windows.

  1. Download and install VB-Cable from VB-Audio (free). Reboot if prompted.
  2. In HamMixer, go to Tools > Audio Devices and set System Loopback to CABLE Output (VB-Audio Virtual Cable).
  3. The embedded WebSDR browser automatically uses VB-Cable as its audio output. No browser configuration needed — HamMixer handles the routing internally.

Audio Parameters

  • Sample rate: 48,000 Hz
  • Bit depth: 16-bit signed PCM stereo (auto-converts from IEEE float if your device requires it)
  • Buffer size: 1024 samples per callback (~21 ms latency)
  • API: Windows WASAPI shared mode
If you don't plan to use the WebSDR feature, you can skip VB-Cable entirely. Just leave the System Loopback dropdown empty and use HamMixer as a straight-through radio control app with a single audio source.

04 Connecting Your Radio

Go to Tools > Radio Settings to configure your COM port, baud rate, and brand hint. Or just click Connect and let auto-detection do its thing.

Auto-Detection

HamMixer tries to identify your radio automatically. The detection order is:

  1. Icom CI-V — sends a broadcast inquiry (address 0x00) at 115200, then 57600 baud. If the radio responds with its CI-V address, it's identified instantly.
  2. Elecraft — only if you set the Brand hint to "Elecraft". Sends an OM; command at 38400, then 9600 baud.
  3. Kenwood / Yaesu — tries the ID; command at 115200 down to 4800 baud. Newer Yaesu radios (FT-991A, FTDX10, etc.) use Kenwood-compatible ASCII CAT.

Supported Radios

Brand Protocol Models
Icom CI-V (binary) IC-705, IC-7100, IC-7300, IC-7300 MK2, IC-7610, IC-7851, IC-9700
Kenwood CAT (ASCII) TS-480, TS-590S/SG, TS-890S, TS-2000
Elecraft CAT (ASCII) K2, K3, K3S, K4, KX2, KX3
Yaesu CAT (ASCII) FT-991/A, FT-710, FTDX10, FTDX101D
Top bar showing frequency LCD at 14.205.00 MHz, USB mode, and green connect status Radio connected — frequency LCD showing 14.205.00 MHz in USB, with all controls active.

Baud Rate Recommendations

  • Icom: 115200 (set in radio menu under CI-V Baud Rate)
  • Kenwood: 115200 for TS-590SG/TS-890S, 9600 for TS-480/TS-2000
  • Elecraft: 38400 (K3/K3S/K4) or 9600 (KX2/KX3)
  • Yaesu: 38400 (typical default)

Leave Baud Rate on Auto unless detection is failing — then try the recommended rate for your brand.

Check Auto-connect on startup to have HamMixer automatically connect to your radio every time you launch the app.

Elecraft users: Set the Brand dropdown to "Elecraft" before connecting. This skips the CI-V probing phase and goes straight to the Elecraft protocol, cutting detection time in half.
Close any other CAT software before connecting — WSJT-X, HRD Rig Control, flrig, N1MM Logger, etc. Only one application can own a serial port at a time. If you need multiple programs to read your radio, see the TCP Server section for HRD emulation.

05 The Main Window — A Guided Tour

HamMixer packs a lot into a single window. Here's a quick map of what's where.

Annotated HamMixer main window showing all major UI areas The main window with all major areas labeled. Each area is detailed in the sections that follow.

Top Bar (Radio Control Panel)

  • Local/Remote dropdown: Switch between local serial connection and remote server mode
  • Connect button: Connects to the radio (local) or the remote server (remote mode)
  • WebSDR site selector: Dropdown to choose which WebSDR or KiwiSDR site to load
  • Cogwheel button: Opens WebSDR site management
  • Eye button: Toggles WebSDR browser visibility (compact/full view)
  • Frequency LCD: 7-segment display showing the current frequency with highlighted tuning digit
  • Mode label: Current operating mode (LSB, USB, CW, AM, FM)
  • Tools buttons: WF (waterfall), CW (keyer), VFO A/B, REC (recording), Power Off

Radio Controls Row

  • Band buttons: 160m through 6m (10 bands, 2 rows of 5). Currently active band is highlighted
  • Mode buttons: LSB, USB, CW, AM, FM — exclusive selection
  • Tuner: TUNE (start tuning cycle) and ATU (toggle antenna tuner on/off)
  • Filter/AGC matrix: 2×3 grid of NB, NR, P.AMP, ANF, AGC, FIL — orange when active
  • Voice memory: M1–M8 buttons (2 rows of 4), customizable labels

Mixer Area

  • Delay controls: Manual delay slider (0–2000 ms), Sync button, Auto Sync checkbox
  • RF Power: Slider with PWR Peak and SWR Peak readouts during TX
  • Dual S-meters: Analog needles with spring-damper physics for Radio and WebSDR
  • Channel strips: Radio and WebSDR volume sliders with mute buttons and LED level meters
  • Crossfader: Slide left for Radio-only, center for balanced mix, right for WebSDR-only
  • Master strip: Master volume, stereo level meter, master mute

WebSDR Browser

The bottom portion of the window is an embedded Chromium browser showing the selected WebSDR or KiwiSDR site. Toggle visibility with the eye button in the top bar. When hidden, WebSDR audio still routes through the mixer — only the visual is hidden.

Don't worry about memorizing every control right now. The sections that follow break down each area in detail. This tour is just to give you the lay of the land.

06 Audio Mixer & Synchronization

The mixer is the heart of HamMixer. It takes two audio sources — your radio and a WebSDR — and blends them into a single output. Here's how each piece works.

Channel Strips

  • Radio channel: Volume slider (0–100%), mute button, LED level meter. Controls the audio from your transceiver's USB output.
  • WebSDR channel: Same controls for the WebSDR/KiwiSDR audio captured via the System Loopback device.
  • Master strip: Master volume, stereo level meter, and master mute. This is the final output going to your speakers or headphones.

Crossfader

The crossfader is a quick way to blend between the two sources. Slide left to hear only your radio, center for a 50/50 mix, right for WebSDR-only. The individual channel volumes still apply on top of the crossfader position, so you have fine-grained control over the final mix.

Delay & Synchronization

Here's the challenge: your radio hears a signal at the speed of light via your antenna, but the WebSDR signal takes a detour through the internet — encode, transmit, decode, buffer. That adds anywhere from 200 ms to 2000 ms of delay depending on the SDR site. If you don't compensate, the two audio streams sound like an echo.

  • Manual delay slider: 0–2000 ms. Drag to add delay to your radio audio so it lines up with the slower WebSDR stream.
  • Sync button: One-shot auto-sync using GCC-PHAT cross-correlation. HamMixer listens to both streams, finds the delay offset, and sets the slider automatically. Works best when there's a strong signal on the band (a CQ call, a beacon, SSB speech).
  • Auto Sync checkbox: Enables continuous sync — re-measures and adjusts every 5 seconds. The green checkbox stays lit when active.

The delay label next to the slider changes color: orange means unsynchronized (manual or no sync run yet), green means the auto-sync has locked onto a valid delay value.

Mixer section showing delay slider, crossfader, S-meters, channel strips, and master strip The mixer area — delay synced (green label), both S-meters showing signal, channel strips with different volume levels.

Smart Delay Behavior

When you mute the WebSDR channel, the delay automatically drops to zero (no point delaying your radio audio when there's nothing to sync with). When you unmute, the delay restores to its previous value. Seamless.

Voice vs. CW Sync

The auto-sync algorithm adapts to the current mode. In voice modes (SSB, AM, FM), it uses Voice Activity Detection (VAD) with a bandpass filter to isolate speech energy. In CW mode, it switches to envelope correlation — pitch-independent, so it works regardless of the CW tone or sidetone frequency.

S-Meters

Both S-meters use analog needle physics — a spring-damper model that gives them realistic needle movement, just like the meters on a classic rig. The scale runs from S0 to S9+60 dB, with a dBm readout below. The Radio S-meter reads from the CAT protocol; the WebSDR S-meter is extracted from the SDR's web interface.

Recording

Hit the REC button in the Tools row to start recording the mixed output as a WAV file. The button blinks red while recording. Press again to stop. Recordings are saved to the directory configured in Tools > Recording Settings.

Quick sync trick: Tune to a busy frequency with strong signals (a CQ call, a net, or a contest pile-up), click Sync once, and you'll get a solid delay lock in about a second. If the band is dead quiet, the algorithm won't have enough signal to correlate.

07 WebSDR & KiwiSDR Integration

This is what makes HamMixer unique: listen to the same band from two completely different locations at the same time. Your antenna at your QTH, plus a WebSDR or KiwiSDR receiver somewhere else in the world.

Managing SDR Sites

Click the cogwheel button in the top bar (or go to Tools > Manage SDR Sites) to open the site manager. Here you can:

  • Add new WebSDR or KiwiSDR sites (name, URL, type, optional password for KiwiSDR)
  • Edit or delete existing sites
  • Reorder sites with the Move Up/Down buttons (the first site is the default)

HamMixer comes with several pre-configured sites. The dropdown in the top bar lets you switch between them on the fly.

Manage SDR Sites dialog showing a list of WebSDR and KiwiSDR sites with type tags The SDR Sites manager — a mix of WebSDR and KiwiSDR sites, ready to go.

WebSDR 2.x (PA3FWM)

These are the classic WebSDR sites running PA3FWM's software. HamMixer loads them in the embedded browser and injects JavaScript to sync frequency and mode. When you tune your radio, the WebSDR follows. Change mode on the radio, and the WebSDR switches too.

KiwiSDR

KiwiSDR receivers use a WebSocket JSON protocol for real-time frequency and mode control. The sync is tighter and more responsive than WebSDR. Some KiwiSDR sites require a password for extended listening sessions — enter it in the site manager.

Frequency & Mode Sync

Whenever you change frequency on your radio (via the LCD, band buttons, or external VFO), HamMixer automatically tunes the WebSDR to match. Mode changes sync too — switch from LSB to USB on the radio, and the SDR follows. This is bidirectional: it also works when you click a frequency on the WebSDR waterfall.

Browser View Options

  • Eye button OFF: Browser is hidden. Audio still plays through the mixer — only the visual is gone. Saves screen space.
  • Eye button ON (compact): Browser visible in the lower portion of the window.
  • Eye button ON (expanded): Click the expand button to let the browser fill more of the screen. Useful when you want to interact with the WebSDR's waterfall or controls.

TX Auto-Mute

When you transmit, the master audio automatically mutes. This prevents you from hearing your own delayed signal bouncing back from the WebSDR — which is confusing and distracting, especially in SSB. Audio unmutes instantly when you release PTT.

Find new SDR sites: Browse websdr.org for WebSDR receivers and rx.kiwisdr.com for KiwiSDR receivers. There are hundreds of receivers worldwide. Add any that cover bands or regions you're interested in.

08 Radio Controls

The radio controls row sits between the top bar and the mixer area. Everything here sends CAT commands to your rig in real time, and the buttons stay in sync with the radio's actual state.

Radio controls row showing band buttons, mode buttons, tuner, filter matrix, and voice memory buttons The full radio controls row — bands, modes, tuner, filters, and voice memory.

Band Buttons

Ten buttons covering 160m through 6m, arranged in two rows of five. Click a band to switch to it. HamMixer remembers the last frequency and mode you used on each band (Band Stacking Register) — so when you come back to 20m, you'll be right where you left off.

The currently active band is highlighted. Default frequencies are set to the middle of each band's phone segment, but they update as you tune.

Mode Buttons

Five buttons: LSB, USB, CW, AM, FM. Click to change the radio's operating mode. The active mode is highlighted. These stay in sync with the radio — if you change mode on the rig's front panel, the button updates to match.

Antenna Tuner

  • TUNE: Starts a tuning cycle. Automatically enables the ATU first (if it's off), sends a low-power carrier, waits for the tuner to match, then returns to your original power and mode. The button pulses during the tune cycle.
  • ATU: Toggles the antenna tuner on/off. Some operators prefer to leave it off on well-matched antennas.

Voice Memory (M1–M8)

Eight voice memory buttons arranged in two rows. Click to play pre-recorded voice messages stored in your radio. Customize the button labels in Tools > Voice Memory Settings (e.g., "CQ Contest", "59", "QRZ"). Long labels scroll with a marquee effect.

The TS-590 uses a single-digit format and supports M1–M5 only.

RF Power & SWR

The RF power slider sets your transmit power from 0 to 100%. During transmission, two readouts appear:

  • PWR Peak: Peak forward power in watts
  • SWR Peak: Peak SWR reading, color-coded — green (<1.5), yellow (1.5–2.0), red (>2.0)

VFO A/B Exchange

One click swaps VFO A and VFO B. The implementation is protocol-aware: CI-V uses command 0x07/0xB0, Kenwood uses SV;, the TS-590 uses an FA/FB swap (since SV is Memory Transfer on that rig), and Elecraft uses SWT11;.

TX Indicator

A small LED in the Tools section turns red during transmission and green during receive. Quick visual confirmation of your TX/RX state.

Power Off

Sends a power-off command via CAT. A safety confirmation dialog prevents accidental power-downs. The button glows green when the radio is connected.

Dial Step Sizes

Five step sizes: 50 Hz, 100 Hz, 1 kHz, 10 kHz, 100 kHz. The currently active step is reflected by a highlighted digit on the frequency LCD — the digit that changes when you turn the encoder or scroll the mouse wheel.

All of these controls work identically in remote mode. The commands travel over the network to HamMixer Server, which passes them straight through to the radio's serial port. Response time depends on your network latency, but at under 100 ms it feels instant.

09 DSP Filters & AGC

The 3×2 button matrix in the radio controls row gives you quick access to your radio's DSP features. Each button toggles or cycles through the available states. Orange highlight means active.

NB — Noise Blanker

Removes impulse noise (ignition, power line, switching noise). Icom and Elecraft: simple on/off toggle. TS-590: cycles through OFF → NB1 → NB2 (NB2 is more aggressive).

NR — Noise Reduction

DSP noise reduction for continuous noise (hiss, hum, QRN). Icom and Elecraft: on/off toggle. TS-590: cycles OFF → NR1 → NR2 (two reduction algorithms).

P.AMP — Preamplifier

RF preamplifier for weak signals. Icom: cycles OFF → P.AMP1 → P.AMP2 (two gain levels). Kenwood and Elecraft: simple on/off toggle.

ANF — Auto Notch Filter

Automatically notches out continuous carriers (heterodynes, tuning signals) that sit on top of the signal you're trying to copy. Simple on/off toggle on all brands.

AGC — Automatic Gain Control

Controls how fast the receiver recovers from strong signals. Icom: cycles Fast → Mid → Slow. Elecraft K3: Fast → Slow. TS-590: Off → Slow → Fast (uses the GC command, not GT).

FIL — IF Filter Width

Cycles through the radio's IF filter presets. Icom: FIL1 (Wide) → FIL2 (Mid) → FIL3 (Narrow) — three filters. TS-590: two filter widths. The label on the button updates to show which filter is active.

Bi-directional Sync

All six buttons poll the radio every 100 ms. If you toggle NR on the radio's front panel, the button in HamMixer updates within a tenth of a second. Works the other way too — click the button, and the radio changes state. True two-way sync.

These controls work identically in remote mode. The polling travels through the serial tunnel just like in local mode — the server doesn't need to understand the DSP commands.

10 Waterfall & Spectrum Scope

The waterfall displays real-time spectrum data from the radio's built-in scope. This feature is only available on radios that natively output spectrum scope data — currently Icom models such as the IC-7300, IC-7610, IC-705, and IC-9700. For radios without a built-in scope (Kenwood, Elecraft, older Icom models), the WF button is greyed out.

Click the WF button in the Tools row to open the waterfall window (1000×700 pixels).

Waterfall window showing spectrum graph on top and colorful waterfall scrolling below with visible signals The waterfall window — spectrum graph on top, scrolling waterfall below. Several signals visible across the band.

What You See

  • Top section: Real-time spectrum graph (amplitude vs. frequency). Signal peaks show as spikes above the noise floor.
  • Bottom section: Scrolling waterfall. Time moves downward — current signals are at the top, older signals scroll down. Signal strength is color-coded (weak = dark blue, strong = yellow/white).

Click-to-Tune

Click anywhere on the waterfall or spectrum to instantly tune your radio to that frequency. See a signal pop up 5 kHz away? Just click it. The frequency LCD and radio update immediately.

Drag Tuning

Click and drag horizontally for continuous tuning. The tuning speed is velocity-based: slow drag = 50 Hz steps (fine tuning), fast drag = 1 kHz steps (quick scanning). Frequencies snap to 50 Hz boundaries for clean tuning.

Controls

  • Edge button: Cycles through the radio's 4 preset scope edge widths (e.g., ±25 kHz, ±50 kHz, ±100 kHz, ±250 kHz)
  • Contrast slider: Adjusts the color mapping of the waterfall. Default is 60%. Turn it up to make weak signals more visible (at the cost of a noisier display).

Waterfall Mode & Polling

When the waterfall window is open, HamMixer suspends non-essential polling commands to give the serial bus full priority for scope data. This ensures smooth, high-refresh-rate waterfall scrolling without stuttering. Polling resumes normally when you close the waterfall window.

The waterfall works in remote mode too. Scope data is piped transparently through the serial tunnel — the server doesn't need to know anything about scope packets. Expect slightly lower refresh rates over high-latency connections, but it's perfectly usable.

11 CW Keyer

Click the CW button in the Tools row to open the CW keyer window. It stays open alongside the main window (modeless), so you can send CW while monitoring the mixer, waterfall, or WebSDR.

CW Keyer window showing 4x3 macro grid and text entry field The CW window — 12 macros in a 4×3 grid, text entry field, and the Stop button.

Macro Buttons

Twelve programmable macros in a 4×3 grid. Default labels: CQ, ANS, TU, 73, AGN, QRZ, RST, NR, ?, SK, QRL, BK. Click any button to send that message in CW.

Right-click any macro button to edit its label and text content. You can customize all 12 macros for your operating style — contest exchanges, ragchew templates, whatever you need.

Character-by-Character Entry

Type in the text field and each character is sent immediately to the radio's internal keyer as you type. No need to compose the full message first — it goes out as you type. This is the closest you can get to real-time keyboard CW through CAT.

Stop Button

The red Stop button immediately halts CW transmission and clears any queued text. Useful when you need to break off mid-message.

CW Speed

Configure your keying speed in Tools > CW Config. The slider ranges from 6 to 48 WPM. The speed is set on the radio's internal keyer via CAT — timing is perfect regardless of network latency.

Multi-Protocol Support

The CW keyer adapts to your radio's protocol automatically:

  • Icom: CI-V command 0x17 (send CW text)
  • Kenwood: KY command
  • Elecraft: KY command (K4 supports up to 60 characters)
Remote CW advantage: Because the radio's internal keyer handles all CW timing, network latency doesn't affect your CW quality. You might feel a slight delay before the radio starts keying, but the actual CW output is rock-solid. The radio doesn't care that the command came from the internet — it keys at exactly the WPM you set.

12 Remote Operation

Remote mode turns HamMixer into a client that connects to HamMixer Server running at your home station. Full radio control, bidirectional Opus audio, and even the waterfall — all over the internet.

Getting Connected

  1. Select Remote from the Local/Remote dropdown in the top bar.
  2. Open Tools > Remote Operation.
  3. Enter your server's address (IP or hostname), ports (default 7300/7301), username, and password.
  4. Click Connect. HamMixer authenticates over TLS and starts receiving audio.

Once connected, the window title changes to [REMOTE: server-address] and a compact quality indicator dot appears in the main window.

Remote Operation dialog showing server connection fields on the left and mic DSP controls on the right The Remote Operation dialog — connection settings on the left, mic DSP controls on the right.

Connection Quality

The left column of the Remote dialog shows a real-time connection quality widget with color-coded indicators:

  • Latency: Round-trip delay in milliseconds. Green < 100 ms, yellow 100–200 ms, red > 200 ms.
  • Packet loss: Percentage of audio packets that didn't arrive. Should be under 1%.
  • Jitter: Variation in packet arrival timing. Under 15 ms is excellent.

Mic DSP for TX

The right column of the Remote dialog is your transmit audio processing chain — everything between your microphone and the radio:

  • Mic input device: Select your local microphone from the dropdown
  • Gain: 0–20 dB input boost
  • Compressor: 0–100% compression ratio for consistent audio levels
  • Noise gate: −60 dB to 0 dB threshold (OFF at −60 dB). Cuts background noise when you're not speaking.
  • 8-band parametric EQ: Eight rotary knobs covering 80 Hz to 3.2 kHz, ±6 dB per band. Shape your voice for maximum clarity on air.
  • Mic level meter: Real-time input level display
  • Test Mic: Records 5 seconds of your microphone audio and plays it back so you can hear what you sound like
  • Monitor: Real-time 250 ms loopback — hear yourself as you speak
  • Reset DSP: Returns all DSP settings to defaults

WebSDR on Remote

When you authenticate to the server, the WebSDR browser loads automatically. You get the full dual-source mixing experience even in remote mode — your radio's audio from the server, plus a WebSDR of your choice. The delay sync works the same way.

Auto-Reconnect

If the connection drops — brief internet hiccup, router restart, server-side issue — HamMixer automatically attempts to reconnect with exponential backoff. You don't need to manually reconnect after a transient network glitch.

TX Safety During Network Failures

A common concern: "What if I'm transmitting and my internet drops?" HamMixer Server has multiple safety layers to prevent the radio from being stuck in transmit:

  • Heartbeat timeout (10 seconds): The server expects a heartbeat from the client every 5 seconds. If two consecutive heartbeats are missed, the server disconnects the client and immediately sends PTT OFF to the radio.
  • TCP disconnect detection: If the TCP connection drops cleanly (e.g., the client crashes or the socket resets), the server detects it within milliseconds and releases PTT.
  • PTT watchdog timer (2 minutes): As an ultimate safety net, the server automatically releases PTT after 2 minutes of continuous transmission, regardless of client state. This protects against any edge case where the heartbeat mechanism fails.
  • Emergency PTT release: When the client disconnects (intentionally or due to a network failure), it attempts to send a PTT OFF command as the very last action before closing the connection.

In the worst case (completely silent network failure), your radio will stop transmitting within 10 seconds. In most cases (clean TCP disconnect), it stops within milliseconds.

Latency & Audio Quality Tips

Remote operation is only as good as your network. Here's what makes the difference between "feels like I'm in the shack" and "this is unusable":

Avoid wireless and Bluetooth headphones. Bluetooth audio codecs (SBC, AAC, aptX) add 40–200 ms of extra latency on top of your network delay. That's fine for music, but unacceptable for real-time radio operation — especially CW and contest exchanges. You'll hear yourself delayed, which throws off your timing.
  • Use wired headphones (3.5 mm jack) or your shack loudspeaker. Zero local audio latency. This alone can make a 200 ms connection feel like 100 ms.
  • Wired Ethernet > WiFi on both client and server side. WiFi jitter causes audio dropouts and glitches. A single concrete wall between you and the access point can double your jitter.
  • Bandwidth is not the bottleneck. Opus at 48 kbps needs only ~60 kbps total. Even a modest mobile data connection handles it fine. Stability and low jitter matter far more than raw speed.
  • Latency under 100 ms feels instant for tuning, PTT, and CW. 200 ms+ starts to feel sluggish for rapid VFO knob movements, though CW still sounds perfect (the radio's keyer handles timing).
  • Mobile data tip: 4G/LTE typically gives 30–60 ms latency with stable jitter. It's often better than hotel WiFi, which can spike to 300 ms+ during peak hours.
Pro tip: Test your setup from a friend's house or a coffee shop before relying on it for a contest or a DXpedition QSO. A quick test tells you more than any speed test website.

13 TCP Server & External Programs

HamMixer can share your radio's frequency and mode with logging software and other programs — without giving up serial port ownership.

HRD Protocol Emulation

HamMixer includes a built-in TCP server that speaks the Ham Radio Deluxe (HRD) protocol. Logging programs that support HRD as a rig control source can connect to HamMixer and read frequency, mode, and other status data in real time.

  1. In Tools > Radio Settings, check Enable HRD-compatible TCP server.
  2. In Tools > TCP Server, set the port (default 7809).
  3. In your logging software (HRD Logbook, N1MM Logger+, Log4OM, etc.), configure it to connect to localhost:7809 using the HRD/TCP rig control method.

The server binds to localhost only (127.0.0.1) — it's not accessible from the network. This is by design: the HRD protocol has no authentication, so network exposure would be a security risk. Up to 8 simultaneous clients can connect.

This is the recommended way to use HamMixer with logging software. Your logger gets live frequency/mode data via TCP, and HamMixer keeps exclusive control of the serial port. No more CI-V bus contention, no more "port in use" errors.

Program Auto-Launch

Go to Tools > Program Settings to configure up to 5 program slots. Each slot has:

  • Program path: The executable to launch
  • Run checkbox: When checked, the program auto-launches after a successful radio connection (1-second stagger between launches)
  • Close checkbox: When checked, the program is automatically closed when HamMixer exits (sends WM_CLOSE, with a 3-second force-terminate fallback)

Typical use: auto-launch your logger and a digital mode program after connecting to the radio, and auto-close them when you're done.

Windows Startup

Check Start with Windows in Program Settings to have HamMixer launch automatically when you log into Windows. Combine with auto-connect for a fully hands-free startup sequence.

Configuration Management

  • File > Save Configuration: Saves the current setup to a named file
  • File > Open Configuration: Loads a previously saved configuration
  • File > Open Recent: Quick access to recently used configurations

Configuration files are stored in the configurations\ folder next to the HamMixer executable. Settings auto-save on exit, and window position is remembered between sessions.

14 Function Mapping & USB Controller

Go to Tools > Function Mapping to map keyboard keys, key combinations, or USB controller buttons to any of HamMixer's 36 radio functions. No mouse clicks needed — control everything from your keyboard or a hardware controller.

Function Mapping dialog showing a serial profile with button assignments and encoder function dropdown Function Mapping dialog with a serial profile — encoder and button functions assigned.

Keyboard Profiles

Map keyboard keys or combinations (e.g., F1, Ctrl+Up) to radio functions. You can create multiple named profiles and switch between them — one for contesting, one for ragchewing, one for DXing.

Enable Global mode to make keyboard mappings work system-wide, even when HamMixer isn't the focused window. This uses a low-level keyboard hook, so your mapped keys are intercepted regardless of which application is in the foreground.

Serial Profiles (Pico Encoder)

Map button events from a Raspberry Pi Pico USB controller to radio functions. The Pico encoder is a custom hardware project: a 600 PPR optical encoder plus 11 buttons and 1 modifier button, all in a compact desktop unit.

Serial profiles are focus-independent by nature — the Pico sends serial data regardless of which window is active.

Available Functions (36)

Here's what you can map:

  • Frequency: tune up/down in the current step size
  • Volume: Radio volume, WebSDR volume, Master volume (up/down each)
  • RF Power: increase/decrease transmit power
  • Sync: trigger one-shot sync
  • VFO A/B: exchange VFOs
  • Band: band up/down
  • Mode: mode up/down
  • Tuner: start tune cycle, toggle ATU
  • DSP: toggle NB, NR, ANF, P.AMP, cycle AGC, cycle FIL
  • Voice memory: trigger M1–M8
  • Step size: cycle through dial step sizes
  • PTT: push-to-talk toggle

Pico Encoder Details

The encoder supports two-speed acceleration — slow turns for fine tuning, fast turns for quick frequency jumps. Each of the 11 buttons has four event types: short press, long press, modifier + short press, modifier + long press. That's up to 44 distinct events from 12 physical buttons.

The encoder itself can be mapped to five functions: Frequency, Radio Volume, SDR Volume, Master Volume, or RF Power. The modifier + encoder rotates a different function (e.g., frequency on the encoder normally, volume on modifier + encoder).

Profile Management

Create, switch, and delete named profiles from the dropdown at the top of the Function Mapping dialog. Your active profile persists between sessions.

Contour ShuttleXpress users: The ShuttleXpress exposes itself as a keyboard/media-key device. Create a keyboard profile with media key mappings (Play, Stop, Next Track, etc.) and map them to radio functions. Works great as a VFO dial.

15 Licensing & Updates

Free Trial

HamMixer comes with a 14-day free trial — full functionality, no restrictions, no key required. The trial starts on first launch and the countdown is shown in the window title bar.

License Key

License keys are in the format HMXR-XXXX-XXXX-XXXX-XXXX, available from ct7bac.com. Each key allows 1 server + 2 client activations (3 total).

Activation

  1. Go to Help > License in the menu bar.
  2. Enter your license key in the input field.
  3. Click Activate. HamMixer contacts the license server to validate and register your activation.

Offline Grace Period

If the license server is unreachable (internet outage, server maintenance), the app continues working normally for up to 45 days. Periodic background validation happens automatically when connectivity is restored.

Deactivation

Moving to a new PC? Go to Help > License > Deactivate to free up the activation slot. You can then activate on the new machine.

Hardware Fingerprint

Your license is tied to a hardware fingerprint based on your CPU, motherboard, and BIOS. Minor hardware changes (swapping RAM, adding a drive) are tolerated automatically — the system uses 1-of-3 fuzzy matching, so changing one component won't invalidate your license.

Updates

HamMixer checks for updates automatically 3 seconds after launch. If a new version is available, a dialog shows the changelog with three options: Download & Install, Skip This Version, or Remind Me Later. You can also check manually via Help > Check for Updates.

If you upgrade your PC's motherboard, you may need to deactivate on the old hardware first. If the old hardware is no longer accessible, contact ct7bac@gmail.com for a manual activation reset.

A Troubleshooting

Quick-reference solutions for the most common issues.

Problem Solution
"No compatible radio detected" Check: radio powered on, USB cable connected, correct COM port selected, no other software holding the port. Try an explicit baud rate instead of Auto. For Elecraft, set the Brand hint to "Elecraft".
No audio from radio Verify the correct device is selected in Radio Input (Tools > Audio Devices). Check Windows Sound settings — the radio's USB audio must not be muted or set to exclusive mode by another application.
No WebSDR audio Check that VB-Cable is installed and selected as System Loopback. Make sure the WebSDR site is loaded and playing audio in the embedded browser. Check the WebSDR channel strip isn't muted.
WebSDR not following frequency Verify the SDR site type (WebSDR vs. KiwiSDR) is set correctly in the site manager. Some WebSDR sites use non-standard JavaScript that blocks frequency injection. Try a different site.
Audio out of sync Tune to a frequency with a strong signal and click Sync. For CW, the envelope correlator works best with a clear CW signal. For distant KiwiSDR sites, you may need up to 2000 ms of delay — if Sync doesn't find it, increase the manual slider.
Remote connection fails Check port forwarding on the server's router (TCP 7300 + UDP 7301). Check Windows Firewall rules on the server PC. Verify the server is running and shows green status. Try connecting from mobile data to rule out local network issues.
No audio in remote mode Verify the Audio Output device is set in Tools > Audio Devices. Check that the server's audio devices are configured correctly (see Server Manual — Audio Setup).
Choppy remote audio Check the connection quality indicators in the Remote dialog. High jitter (>30 ms) or packet loss (>2%) means a network problem. Use wired Ethernet instead of WiFi. Avoid Bluetooth headphones (they add 40–200 ms latency).
High CPU usage The embedded Chromium browser (Qt WebEngine) is the main CPU consumer. Hide the browser with the eye button when you don't need to see the WebSDR interface. Closing the browser view reduces CPU usage significantly.
"Missing Dependency" on launch Install the Visual C++ 2015-2022 Redistributable (x64) from Microsoft.
"License Expired" after being offline Connect to the internet and relaunch — background validation runs automatically. If offline for more than 45 days, re-enter your key in Help > License.
Multiple COM ports, unsure which one Unplug the USB cable, note which port disappears in Device Manager, reconnect. The one that reappears is your radio. If you see two ports from one cable, try the lower-numbered one first.

B Quick Reference Card

HamMixer Desktop at a Glance

Config file %APPDATA%\HamMixer\config.json
Sample rate 48,000 Hz
Bit depth 16-bit signed PCM stereo (auto-converts IEEE float)
Buffer size 1024 samples (~21 ms latency)
Delay range 0–2000 ms (96,000 samples max)
Remote control port TCP 7300 (TLS 1.2+ encrypted)
Remote audio port UDP 7301 (AES-128-CTR encrypted)
HRD TCP server port TCP 7809 (localhost only, no auth)
Audio codec (remote) Opus 48 kHz, mono, 48 kbps (~60 kbps total)
HRD max clients 8 simultaneous connections
Supported radios Icom CI-V, Kenwood CAT, Elecraft CAT, newer Yaesu (ASCII CAT)
Supported SDRs WebSDR 2.x (PA3FWM), KiwiSDR
License key format HMXR-XXXX-XXXX-XXXX-XXXX
Activations per key 1 server + 2 clients
Trial period 14 days (full functionality)
Offline grace 45 days
Polling interval 100 ms (configurable)
S-meter update rate 30 Hz

See also: Server Manual | Mobile Manual