01 Overview & How It Works

HamMixer Server turns your home station into a remotely-accessible rig. It runs on the Windows PC at your QTH, connects to your transceiver via USB, and serves both CAT control and audio to a single remote client — your HamMixer Desktop or Mobile app, anywhere in the world.

The Transparent Tunnel

Here's the key concept: the server is a dumb pipe. It does not interpret, parse, or cache radio commands. Your client app drives everything — frequency changes, mode selection, filter settings, all of it. The server simply ferries bytes between the client and the radio's serial port, and streams audio in both directions.

This means the server works identically whether you have an Icom rig speaking CI-V, a Kenwood or Yaesu using ASCII CAT, or an Elecraft K3. The server doesn't need to know or care about the protocol — it just passes the data through.

How the Pieces Fit Together

The architecture is straightforward:

  • Server ↔ Radio: USB cable provides both the serial connection (CAT control) and audio (USB Audio CODEC)
  • Server ↔ Client (Control): TCP connection on port 7300, encrypted with TLS — carries all radio commands, authentication, and heartbeats
  • Server ↔ Client (Audio): UDP connection on port 7301, encrypted with AES-128-CTR — carries 48 kHz Opus audio at 48 kbps in both directions

Only one client can be connected at a time — it's an exclusive lock, just like sitting in front of your rig. When a client connects, they get full control. When they disconnect, the server immediately releases PTT (so your rig is never left stuck in transmit) and waits for the next connection.

HamMixer Server main window showing radio connected and server running The server main window — radio connected (left column), server running and ready for clients (right column).

02 System Requirements

What You Need

  • Windows 10 or 11 (64-bit)
  • Visual C++ Redistributable 2022 — the installer checks for this automatically; if missing, you'll be prompted to download it from Microsoft
  • 4 GB RAM minimum
  • 50 MB disk space
  • A radio with USB serial + USB audio — Icom (CI-V), Kenwood (CAT), Elecraft (CAT), or newer Yaesu models with Kenwood-compatible CAT
  • Stable internet connection — 1 Mbps upload minimum for comfortable audio
If your internet upload feels tight, don't worry — Opus at 48 kbps is remarkably efficient. The total bandwidth is roughly 60 kbps including overhead, which is less than a typical VoIP call. You'll want some headroom for jitter, but even a modest ADSL uplink usually works fine.

03 Installation & First Launch

Download the latest installer from ct7bac.com and run it. The setup wizard will guide you through — accept the defaults unless you have a reason to change the install location.

First Launch

When you fire up the server for the first time, a 14-day free trial starts automatically — no license key needed. The window title bar shows how many trial days you have left. Full functionality is available during the trial, so you can test everything before committing.

Where Things Live

  • Settings: %APPDATA%\HamMixerServer\config.json
  • TLS certificates: %APPDATA%\HamMixerServer\certs\
  • Debug log: hamserver_debug.log in the same folder as the .exe

Keep that debug log path in mind — it's the first place to look if anything goes sideways.

The server does not require Qt WebEngine (unlike the desktop client), so the installer is much smaller — about 50 MB compared to 200+ MB. Quick download, small footprint.

04 Finding Your Radio's COM Port

If you've been using CAT software like WSJT-X or HRD, you probably already know which COM port your radio is on. If not, here's how to find it.

Using Device Manager

  1. Press Win+X and select Device Manager, or press Win+R, type devmgmt.msc, and hit Enter.
  2. Expand Ports (COM & LPT) in the device tree.
  3. Look for your radio's USB-to-serial adapter. Common names include:
    • Silicon Labs CP210x USB to UART Bridge — most Icom radios
    • Prolific USB-to-Serial Comm Port — some Kenwood models
    • USB Serial Device — generic Windows driver
  4. Note the COM port number in parentheses, e.g., (COM7).
Windows Device Manager showing Ports section with USB serial device on COM7 Device Manager showing the radio's virtual COM port under Ports (COM & LPT).

The Unplug Trick

Not sure which one is your radio? Unplug the USB cable, note which port disappears from the list, then plug it back in. The one that reappears is your radio.

If you see multiple COM ports from a single USB cable, your radio may expose two virtual ports — one for CAT control and one for CI-V. Try the lower-numbered one first.

Make sure no other software (WSJT-X, HRD Rig Control, flrig, N1MM) is using the same COM port. Only one application can own a serial port at a time. Close any other CAT programs before connecting with HamMixer Server.
Icom users: The IC-7300 and IC-7610 create a virtual COM port over USB. For best performance, set the radio's CI-V baud rate to 115200 in the radio menu (Menu → Connectors → CI-V → CI-V Baud Rate).

05 Connecting Your Radio

With your COM port identified, let's hook up the radio.

  1. In the Radio Connection panel (left column), select your COM port from the dropdown. The list shows the port number and a description (e.g., "COM7 — Silicon Labs CP210x").
  2. If you just plugged in the cable and don't see it, click the Refresh button to rescan ports.
  3. Leave Baud Rate on Auto unless you know the exact rate your radio requires. Auto tries common rates for each protocol family.
  4. Leave Radio Brand on Auto for most radios. Select Elecraft only if you have a K3/K3S/KX2/KX3 — this skips the Icom CI-V probing and speeds up detection.
  5. Click Connect. Detection takes 1–2 seconds.
Radio Connection panel showing green Connected status with IC-7300 on COM7 The Radio Connection panel after successful detection — green status with model and port.

The status label turns green and shows your radio model: "Connected: IC-7300 on COM7" (or whatever rig you have). This model and protocol information is passed to the remote client when it authenticates, so the client knows exactly how to talk to your rig.

Supported Protocols

Brand Protocol Typical Models
Icom CI-V (binary) IC-705, IC-7100, IC-7300, 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

If Detection Fails

Run through this checklist:

  • Is the radio powered on?
  • Is the USB cable firmly connected at both ends?
  • Did you select the correct COM port?
  • Is another program holding the serial port?
  • Try setting an explicit baud rate instead of Auto (115200 for Icom, 9600 or 38400 for Elecraft)
The server identifies your radio's protocol and model during connection. This information is sent to the remote client during authentication, so the client automatically configures itself for your rig — no manual protocol setup needed on the client side.

06 Audio Device Setup

The server needs to capture audio from the radio (receiver audio you'll hear remotely) and play audio to the radio (your microphone when transmitting remotely). Two dropdowns, two audio paths.

Understanding the Two Audio Paths

  • Radio Audio In = the radio's USB audio output (receiver audio). The server captures this and streams it to the remote client.
  • Radio Audio Out = the radio's USB audio input (microphone audio). The server plays the remote client's mic audio here for transmitting.

Think of it this way: "In" means audio coming in to the server from the radio. "Out" means audio going out of the server to the radio.

Audio Devices panel with USB Audio CODEC selected for both input and output Audio Devices panel — both dropdowns pointed at the radio's USB audio interface.

Common device names you'll see in the dropdowns:

  • USB Audio CODEC — Icom IC-7300, IC-7610
  • Microphone (USB Audio CODEC) — capture side
  • Speakers (USB Audio CODEC) — playback side

If you plugged in your radio after launching the server, click Refresh Devices to rescan the audio hardware.

Audio Parameters

  • Sample rate: 48,000 Hz
  • Bit depth: 16-bit PCM (auto-converts from IEEE float if your device requires it)
  • Buffer size: ~10 ms
  • Codec: Opus at 48 kbps, mono
  • Total bandwidth: ~60 kbps including UDP overhead
IC-7300 users: The IC-7300 (and some other Icom radios) outputs mono USB audio. Don't worry — the server automatically converts mono to stereo for the network stream. No configuration needed on your part.
The server opens audio devices in Windows WASAPI shared mode. If another application has grabbed exclusive access to your radio's USB audio device (some DAW software does this), the server won't be able to open it. Close any audio-exclusive applications before starting the server.

07 Server Configuration

Before you start the server, you need to set up credentials and verify the network ports.

Username & Password

Set a username and a strong password in the Server Configuration panel. This is what your remote client will use to authenticate. The password is securely hashed using bcrypt — the plaintext is never saved to disk.

Choose a strong password. This protects your transmitter from unauthorized access — you don't want someone keying up your rig without your knowledge.

Network Ports

Port Protocol Purpose
7300 TCP Control channel — radio commands, authentication, heartbeats. Encrypted with TLS.
7301 UDP Audio channel — Opus audio in both directions. Encrypted with AES-128-CTR.

IP Addresses

  • Machine IP: Your local network address(es), shown automatically. Use this if the client is on the same LAN.
  • External IP: Your public internet IP, auto-detected. Use this for remote access from outside your network. If it shows "unavailable", check your internet connection.
You can change the ports if 7300/7301 conflict with other services on your network, but remember to update both the server and the client configuration, and your router's port forwarding rules.

08 Security Features

Your rig is on the air, and it's accessible over the internet. Security matters. Here's how HamMixer Server protects your station.

TLS Encryption

All control traffic is encrypted with TLS 1.2 or higher. The server auto-generates a self-signed RSA-2048 certificate on first launch using the Windows CryptoAPI — no OpenSSL installation needed. The certificate is stored in %APPDATA%\HamMixerServer\certs\, valid for 10 years, and automatically renewed if it's within 30 days of expiry.

Audio Encryption

UDP audio packets are encrypted with AES-128-CTR using a fresh random key generated for each session. The key is exchanged securely over the TLS control channel. Nobody can eavesdrop on your QSO.

Brute-Force Protection

After multiple failed login attempts from the same IP address, the server applies exponential backoff lockouts (up to 60 seconds). Stale bans automatically expire after 1 hour. This makes automated password guessing impractical.

IP Whitelist

For an extra layer of security, you can restrict which IP addresses are allowed to connect. Enable the IP Whitelist checkbox and enter one address or CIDR range per line. Lines starting with # are treated as comments.

IP Whitelist panel with checkbox enabled and example IP addresses IP Whitelist with a couple of allowed addresses — only these IPs can connect to your server.

Exclusive Client Lock

Only one client can be connected at a time. If a second client tries to connect, they get a "Server busy" response. No risk of two operators fighting over the same rig.

PTT Safety

If the client disconnects unexpectedly — network drop, app crash, laptop battery dies — the server immediately forces PTT off. Your rig will never be left stuck in transmit. This is a hard safety guarantee, not a best-effort timeout.

The self-signed certificate means clients will see a certificate warning on first connect — that's normal and expected. The HamMixer client is designed to accept it. You do not need to buy a commercial SSL certificate.

09 Network Setup & Port Forwarding

If you're operating remotely from a different location (the whole point, right?), you need to make your server reachable from the internet. This section walks you through it.

Same LAN — No Forwarding Needed

If your client and server are on the same local network (e.g., laptop in the living room, server in the shack), just use the Machine IP shown in the server window. You're done — skip the rest of this section.

Over the Internet — Port Forwarding

To reach your server from outside your home network, you need to forward two ports on your router:

  • TCP 7300 → your server PC's local IP address
  • UDP 7301 → your server PC's local IP address

Step-by-Step Port Forwarding

  1. Find your router's admin page. This is usually 192.168.1.1 or 192.168.0.1 — check the sticker on the back of your router if you're not sure.
  2. Log in with the router's admin credentials (also often on the sticker, unless you've changed them).
  3. Find the Port Forwarding, NAT, or Virtual Servers section. The exact name varies by router brand (TP-Link, Netgear, ASUS, etc.).
  4. Create a rule for TCP port 7300, pointing to your server PC's local IP address (e.g., 192.168.1.100).
  5. Create a second rule for UDP port 7301, pointing to the same local IP.
  6. Save and apply the changes.
Diagram showing port forwarding from Internet through router to server PC on ports 7300 and 7301 Port forwarding overview — TCP 7300 and UDP 7301 forwarded from the router to the server PC.

Static Local IP

Your router assigns local IP addresses via DHCP, and they can change over time. If your server PC gets a new local IP, your forwarding rules will point to the wrong machine. To prevent this:

  • Set a static IP on the server PC (Windows: Network adapter settings → IPv4 → Manual), or
  • Create a DHCP reservation on your router (ties your PC's MAC address to a fixed IP)

Dynamic DNS

Most home ISPs give you a dynamic public IP that changes periodically. A Dynamic DNS (DDNS) service gives you a fixed hostname (like mystation.duckdns.org) that always points to your current public IP. Free options include:

  • DuckDNS (free, simple)
  • No-IP (free tier available)
  • Many routers have built-in DDNS clients — check your router's settings

Windows Firewall

On first start, the server attempts to create Windows Firewall inbound rules automatically — you'll see a UAC elevation prompt. If that fails (or you click "No"), you'll need to create the rules manually:

  1. Open Windows Defender Firewall with Advanced Security (search for "firewall" in Start).
  2. Click Inbound RulesNew Rule.
  3. Select Port, then TCP, enter 7300, and allow the connection.
  4. Repeat for UDP 7301.
Pro tip: Test your setup from your phone on mobile data (not WiFi!). If you can connect from mobile data, your port forwarding is working and you're ready to operate from anywhere in the world.
Never expose your server to the internet without a password set. TLS encrypts the connection, but the password is your front door lock — without it, anyone who finds your port could connect to your rig.

10 Starting the Server & Going Live

Everything's configured. Time to go live.

Prerequisites

  • Radio connected — green status in the Radio Connection panel
  • Audio devices selected
  • Username and password set

Start Sequence

Click the Start Server button. Here's what happens behind the scenes:

  1. The TLS certificate is loaded from %APPDATA%\HamMixerServer\certs\ (or generated fresh on first run).
  2. Windows Firewall rules are checked and created if needed (UAC prompt on first run).
  3. TCP port 7300 starts listening for incoming client connections.
  4. UDP port 7301 opens for bidirectional audio.
  5. Audio capture and playback streams start on the selected devices.

The status label turns green: "Running — Waiting for client..."

Giving Your Client the Connection Details

Your remote client needs three things:

  • Address: your External IP (or DDNS hostname) for internet access, or Machine IP for LAN access
  • Port: 7300 (or whatever you configured)
  • Username & Password: the credentials you set in the server

When a Client Connects

The status changes to "Client connected from [IP]" and the Client Statistics panel appears with live data. The remote operator now has full control of your rig — frequency, mode, filters, everything — just as if they were sitting in front of it.

Stopping the Server

Click Stop Server. Any connected client is disconnected, audio streams close, and the configuration controls become editable again.

You must stop the server before changing the COM port, audio devices, network ports, or credentials. The server locks these controls while running to prevent mid-session configuration changes that could disrupt an active connection.

11 Monitoring & Client Statistics

Once a client connects, the server gives you a live dashboard of the connection health. This is invaluable for diagnosing audio issues or network problems.

Client Statistics Panel

This panel appears automatically when a client authenticates and disappears when they disconnect. It updates every second.

Client Statistics panel showing latency, jitter, packet loss, bandwidth, and data transfer values Client Statistics panel with a remote client connected — live network health data at a glance.
Field What It Means
Client IP address of the connected remote operator
Duration How long the current session has been active
Latency Round-trip delay on the control channel (ms). Under 100 ms feels instant; 200+ ms starts to feel sluggish.
Jitter Variation in audio packet arrival timing (ms). Lower is better. Under 15 ms is excellent; over 30 ms may cause audio glitches.
Packet Loss Percentage of audio packets that didn't arrive. Should be under 1% for clean audio; over 2% will be noticeable.
Bandwidth Average data throughput (kbps). Typically ~60 kbps for audio alone.
Data Sent / Received Total data transferred in this session. Auto-scales from bytes to KB, MB, or GB.

Log Panel

The bottom of the server window shows a timestamped log of everything that happens: client connections and disconnections, authentication attempts, radio detection results, device changes, and errors. This is your real-time event feed.

For more detailed debugging, check the hamserver_debug.log file in the server's installation folder.

If your remote operator reports choppy audio, look at the Jitter and Packet Loss values here first. High jitter (>30 ms) or packet loss (>2%) almost always indicates a network problem between you and the client — not a software issue. Try a wired Ethernet connection instead of WiFi on both ends.

12 Unattended Operation

Want to leave the server running 24/7 so you can connect to your rig any time, from anywhere? HamMixer Server is built for it.

Start with Windows

Check the Start with Windows option. This adds the server to your Windows startup (registry HKCU\...\Run), so it launches automatically every time you log in.

Auto-Connect & Auto-Start

Enable Auto-connect and start server to have the server automatically connect to your radio and begin serving 2 seconds after launch. Combined with "Start with Windows", this gives you a fully hands-free station — power on the PC, and the server is live.

Automatic Device Recovery

If the radio's USB connection is lost — a cable bump, the radio's LCD going to sleep, or Windows USB power management acting up — the server automatically retries every 5 seconds for up to 1 hour. The client stays connected during recovery, and audio resumes automatically when the radio comes back online.

For truly unattended operation: Disable USB selective suspend in Windows Power Options. This prevents Windows from powering down your radio's USB ports during idle periods.

Path: Power Options → Change plan settings → Change advanced power settings → USB settings → USB selective suspend → Disabled.
Make sure Windows doesn't go to sleep while the server is running. Set your power plan's sleep setting to Never, or use a utility like caffeine to keep the PC awake. A sleeping PC can't serve audio.

13 Licensing & Updates

Free Trial

HamMixer Server 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 server menu.
  2. Enter your license key in the input field.
  3. Click Activate. The server contacts the license server to validate and register your activation.
License dialog showing key input field and activation status The License dialog — enter your key and click Activate to license the server.

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

The server 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, 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.
No audio from radio Verify the correct device is selected in "Radio Audio In". Check Windows Sound settings — the radio's USB audio must not be muted or set to exclusive mode by another application.
Client can't connect Check port forwarding (TCP 7300 + UDP 7301). Check Windows Firewall rules. Verify the server is running (green status). Check IP whitelist if enabled.
Choppy remote audio Check Jitter and Packet Loss in Client Statistics. High values indicate network congestion. Try wired Ethernet instead of WiFi on both ends.
"Device lost — reconnecting..." The USB audio device was temporarily lost. The server retries automatically every 5 seconds. Check the USB cable and disable USB selective suspend in Windows Power Options.
"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.
Forgotten password Edit %APPDATA%\HamMixerServer\config.json, clear the password_hash field, restart the server, and set a new password.
Firewall prompt doesn't appear Run the server as Administrator once, or manually create inbound rules for TCP 7300 and UDP 7301 in Windows Defender Firewall.
Multiple COM ports, unsure which one Use the unplug trick: disconnect the USB cable, note which port disappears in Device Manager, reconnect. Try the lower-numbered port first.

B Quick Reference Card

HamMixer Server at a Glance

Control port TCP 7300 (TLS 1.2+ encrypted)
Audio port UDP 7301 (AES-128-CTR encrypted)
Config file %APPDATA%\HamMixerServer\config.json
TLS certificates %APPDATA%\HamMixerServer\certs\
Debug log hamserver_debug.log (same folder as .exe)
Audio codec Opus 48 kHz, mono, 48 kbps (~60 kbps total)
Encryption TLS 1.2+ (control), AES-128-CTR (audio)
Max clients 1 (exclusive lock)
Heartbeat 5-second interval, 15-second timeout
Auto-reconnect Every 5 seconds, up to 1 hour
License activations 1 server + 2 clients per key
Offline grace 45 days
Supported radios Icom CI-V, Kenwood CAT, Elecraft CAT, newer Yaesu

See also: Desktop Manual | Mobile Manual