01 Overview & What You Need

HamMixer Mobile turns your phone or tablet into a remote control for your home station. It connects to HamMixer Server running at your QTH, giving you full rig control and bidirectional audio from anywhere in the world. It's the same TLS+UDP protocol as the desktop client — the server doesn't care which client connects. Your shack in your pocket.

How It Works

The architecture is straightforward: HamMixer Server sits at your home station, connected to your radio via USB. The mobile app connects to that server over the internet. TCP port 7300 (encrypted with TLS) carries all control commands — frequency changes, mode selection, PTT, filter settings. UDP port 7301 (encrypted with AES-128-CTR) carries Opus audio in both directions — you hear the radio, the radio hears you.

Only one client can be connected at a time — it's an exclusive lock, just like sitting in front of your rig. The app is not a standalone radio app. Without HamMixer Server running at your QTH, there's nothing to connect to.

What You Can Do

  • Full frequency, mode, and band control — same as being at the rig
  • Press-and-hold PTT with real-time bidirectional Opus audio
  • DSP filters: NB, NR, P.AMP, ANF, AGC, IF filter width
  • Antenna tuner control (ATU on/off, tune cycle)
  • Real-time waterfall display (requires a radio with built-in spectrum scope output)
  • CW keyer with 8 programmable macros and live text entry
  • QSO logging with ADIF export and optional QRZ.com upload
  • DX Cluster with real-time spots, DXCC resolution, and one-tap tune-and-log
  • Voice memory playback (M1–M8)
  • RF power control (0–100%)
  • VFO A/B exchange and Split mode
  • BLE module with wireless VFO encoder and two configurable hardware buttons (27 mappable functions)
  • Bluetooth keyboard with 26 mappable radio functions

Requirements

  • Mobile or tablet running Android 7.0+ or iOS 15+
  • HamMixer Server running at the home station (see Server Manual)
  • Wi-Fi or mobile data connection
  • Icom radio with CI-V (current version — Kenwood/Elecraft mobile support coming)
Opus audio at 48 kbps uses about 60 kbps total with overhead — less than a voice call. Works fine on 4G/5G. Even a modest home internet upload handles it easily.
HamMixer Mobile main screen showing frequency LCD, S-meter, tuning wheel, band grid, mode row, PTT button, and DSP controls The main screen — full radio control from your mobile or tablet, connected to your home station.

02 Installation & First Launch

Download HamMixer from the App Store (search "HamMixer"). It's a free download — the app connects to your licensed HamMixer Server, so no separate license is needed on the mobile side.

First Launch

On first launch, the app asks for permission:

  • Microphone — needed for TX audio. If you deny this, the app still works for receive, but the PTT button is disabled and shows "NO MIC".

Grant it for the full experience. You can always change permissions later in your device's settings.

If the app detects a previous backup file (from a reinstall or device transfer), it automatically restores your settings — server configurations, DSP presets, CW macros, everything except passwords.

Where Things Are Stored

  • Server credentials: System keychain — passwords are never stored in plain text
  • Settings: App preferences, automatically backed up to your cloud account
  • ADIF logs: HamMixer_Log.adi — on iOS, accessible via Files app; on Android, configure an export location in Settings > Logging Settings
  • All settings can be exported and imported manually (see Settings & Backup)
The mobile app requires HamMixer Server to be installed, running, and connected to your radio at the home station. Without the server, there is nothing to connect to. See the Server Manual for setup instructions.

03 Server Management & Connecting

The connection screen is the first thing you see when you launch the app. It shows your saved servers as cards — tap one to connect.

Connection screen showing saved server cards with station names and the add button The connection screen — your saved servers as cards. Tap one to connect, or tap + to add a new server.

Adding a Server

  1. Tap the + button (bottom-right corner).
  2. Enter a station name (e.g., "Home QTH" — just a label for your reference).
  3. Enter the host — IP address or domain name (e.g., mystation.ddns.net).
  4. TCP port — default 7300. Change only if your server uses a different port.
  5. Username and password — same credentials configured in HamMixer Server.
  6. Tap Save.

Editing & Deleting Servers

Each server card has a three-dot menu. Edit opens the same form with your saved details. Delete removes the server — you'll get a confirmation prompt before it's gone.

Password Security

Passwords are stored in the device's secure keychain — never in plain text, never included in backups. After restoring a backup on a new device, you'll need to re-enter passwords for each server.

Network Diagnostics

When you tap a server card to connect, the app first runs an automatic network check:

  • DNS Resolution — resolves the hostname
  • TCP Connection — tests the control port
  • UDP Port — confirms the audio port is reachable
  • UDP Streaming Quality — sends 140 UDP ping packets over 10 seconds (simulating real audio traffic) and measures packet loss, RTT jitter, and max inter-arrival gap. The max gap metric directly predicts whether audio hiccups will occur — if gaps exceed the audio buffer size, you'll hear silence. The 10-second window catches intermittent WiFi micro-dropouts that shorter tests miss. This is the most important test for real-world audio quality.

Results are color-coded: green (excellent), yellow (good), orange (fair), red (poor). The overall verdict is driven by the UDP streaming quality test. A "CONNECT" or "CONNECT ANYWAY" button is displayed based on the results.

Network Check screen showing completed diagnostics with color-coded results and overall verdict Network diagnostics — four tests including 10-second UDP streaming quality with color-coded results and an overall verdict.

Connection Flow

After diagnostics, the app connects via TLS, authenticates with your credentials, exchanges audio encryption keys, and starts streaming. The status bar turns green and you're taken to the main screen automatically.

Auto-Reconnect

If the connection drops (network switch, brief outage, walking between Wi-Fi and mobile data), the app reconnects automatically with exponential backoff — 1s, 2s, 4s, up to 30s between attempts. The status bar turns red during reconnection. Audio mutes cleanly during the process — no glitches or bursts of noise.

TX Safety During Network Failures

Worried about what happens if your internet drops while transmitting? HamMixer Server has multiple safety layers to protect your radio:

  • Heartbeat timeout (10 seconds): The server expects a heartbeat every 5 seconds. Two missed heartbeats trigger automatic disconnect and immediate PTT release.
  • TCP disconnect detection: If the connection drops cleanly, the server detects it within milliseconds and releases PTT.
  • PTT watchdog (2 minutes): The server automatically releases PTT after 2 minutes of continuous transmission — an ultimate safety net regardless of client state.
  • Emergency PTT release: The app sends PTT OFF as its last action before closing the connection.

In the worst case (silent network failure), your radio stops transmitting within 10 seconds. In most cases, within milliseconds.

You can store multiple servers for different stations or different network paths — for example, a LAN IP for home use and a DDNS hostname for remote use. You can also run diagnostics manually at any time from Settings > Network Check.

04 The Main Screen — A Guided Tour

Once connected, this is where you'll spend your time. Let's walk through every element from top to bottom.

Status Bar

  • Green dot + "Connected to [station name]" — your connection status at a glance
  • Left arrow — returns to the connection screen (does NOT disconnect — you stay connected in the background)
  • Waterfall button (wave icon) — opens the spectrum scope (only visible if your radio has built-in scope output)
  • Mute button (speaker icon) — toggles RX audio. Red when muted.
  • Disconnect button (power icon, red) — opens the disconnect dialog: Disconnect Only / Power Off & Disconnect / Cancel

Frequency Display

  • Large amber-on-black LCD readout in the format XXXX.XX kHz
  • Shows ----.-- until the first poll response arrives (before the radio reports its frequency)
  • Ghost "8" digits in the background for that classic LCD effect
  • Tap the frequency display to open the QSO Log (see Section 10)
  • Shows a padlock icon when VFO is locked

S-Meter

  • 54-segment horizontal LED bar matching the IC-7300's S-meter scale
  • Green segments (S1–S9), yellow (S9), red (S9+20, +40, +60)
  • 1-second peak hold LED for easy readback
  • Numeric readout below: "S7", "S9+20 dB", etc.

Tuning Wheel

Horizontal drag bar for smooth VFO control. See Section 05 for detailed behavior.

Band Grid

2×5 buttons (160m through 6m) — active band highlighted. See Section 05.

Mode Row

LSB, USB, CW, AM, FM — active mode highlighted. See Section 05.

PTT Area

Large central PTT button flanked by PWR and SWR peak indicators. See Section 06.

DSP Control Grid

2×5 button matrix for filter, RF front-end, VFO exchange, and split mode control. See Section 07.

RF Power Slider

0–100% horizontal slider with lightning bolt icon. See Section 07.

Voice Memory / CW Macros

2×4 button grid — M1–M8 for voice memories, switches to CW macros in CW mode. See Section 06 and Section 09.

The frequency display, S-meter, and tuning wheel are docked at the top of the screen and remain visible at all times. The remaining controls (band grid, mode row, PTT, DSP grid, power slider, voice memories) scroll beneath them. This means you always have visual feedback on frequency and signal strength, even while scrolling to access controls further down the page.

05 Tuning & Band Selection

The Tuning Wheel

Drag left to go down in frequency, drag right to go up. The wheel uses two-speed velocity: slow, careful finger movement gives you 50 Hz per step (fine tuning), while a quick swipe jumps 1 kHz per step (band scanning). Same feel as the physical tuning knob on your rig.

Haptic feedback clicks on every step — you can feel each frequency change under your finger. Tick marks scroll in real-time as the frequency changes. The wheel is disabled (greyed out, unresponsive) when VFO is locked.

Band Selection

Ten band buttons: 160m, 80m, 40m, 30m, 20m, 17m, 15m, 12m, 10m, 6m. Tap a band to QSY — the radio jumps to that band immediately.

The app uses a Band Stacking Register: it remembers the last frequency and mode you used on each band. When you return to a band, it restores your previous position. First visit uses mid-phone IARU Region 1 defaults (LSB for 40m and below, USB for 20m and above). Band memory persists across sessions — your selections survive app restarts.

Band buttons are disabled when VFO is locked.

Mode Selection

Five buttons: LSB, USB, CW, AM, FM. Active mode highlighted. Switching to CW mode triggers special behavior — the CW text entry panel becomes available and the voice memory buttons relabel to CW macros. Mode buttons are disabled when VFO is locked.

VFO A/B Exchange

Tap the A/B button in the DSP grid (see Section 07) to swap between VFO A and VFO B. The frequency and mode are exchanged on the radio, and the app refreshes after 400ms to show the new state. The frequency LCD displays a dual VFO indicator with ghost "A" and "B" letters — the active VFO is shown in full brightness while the inactive VFO appears as a subtle ghost, giving you a classic LCD split-display effect.

Split Mode

Split mode lets you listen on one VFO and transmit on the other — essential for working DX pileups where the DX station is listening on a different frequency. Tap the SPLIT button in the DSP grid to toggle split on/off. When split is active, the button lights up green and the frequency display automatically swaps to show the TX VFO during transmission, so you always know where you're transmitting.

BLE Module

If you have a wireless BLE module (Raspberry Pi Pico W with a rotary encoder and two buttons), it connects automatically when enabled in Settings > External Controls. The encoder provides a physical tuning knob experience — complete with two-speed acceleration (50 Hz slow / 500 Hz fast) — plus two fully configurable hardware buttons (default: PTT and Tune, with 27 available functions). See Section 14 for full setup instructions.

VFO Lock

Long-press (1.5 seconds) on the SWR peak area (right side of PTT) to toggle VFO lock. Heavy haptic feedback confirms the lock or unlock.

When locked: the tuning wheel, band buttons, and mode buttons are all greyed out and unresponsive. A padlock icon appears on the frequency display. Long-press the SWR area again to unlock.

VFO lock is your friend during a contest exchange or a tricky DX pileup. Lock the frequency, focus on the QSO, and you won't accidentally bump the dial. Especially valuable on a touchscreen where stray touches happen.

06 Transmitting

PTT Button

The PTT button is a large 140px circle in the center of the screen — hard to miss, easy to hit.

  • Press and hold to transmit — PTT activates instantly on finger down (zero delay) with a heavy haptic thump.
  • Release to go back to RX — a 150ms debounce prevents accidental release from micro finger slips.
  • During TX: the button turns red with a pulsing glow animation, the label changes from "PTT" to "TX", and the icon switches from outline to filled microphone.
  • RX audio is instantly muted when you press PTT — you don't hear your own delayed audio bouncing back from the server.
  • When mic permission is denied: the button shows "NO MIC" with a mic-off icon and is completely disabled.
Main screen during transmission showing red PTT button with glow, PWR peak percentage, and SWR ratio Transmitting — PTT button glows red, PWR and SWR peak indicators light up during TX.

PTT Lock

Long-press (1.5 seconds) on the PWR peak area (left side of PTT) to toggle PTT lock. Heavy haptic feedback confirms the lock or unlock.

When locked: the PTT button shows a padlock icon and is completely unresponsive. Voice memory buttons are also disabled. Prevents accidental transmission — handy when you're browsing settings or handing the device to someone. Long-press the PWR area again to unlock.

TX Power & SWR Indicators

  • PWR Peak (left of PTT) — shows transmit power as a percentage during TX, holds the peak value after you release PTT.
  • SWR Peak (right of PTT) — shows Standing Wave Ratio during TX. Color-coded: green (< 1.5), orange (1.5–2.0), red (> 2.0).
  • Both indicators dim when idle and light up during transmission.
  • These areas also serve as the long-press targets for PTT Lock (PWR) and VFO Lock (SWR).

Voice Memories

Eight buttons (M1–M8 by default, customizable in Settings > Voice Memory). Tap to trigger the radio's stored voice memory playback. In CW mode, these buttons automatically switch to CW macro labels (see Section 09). Long labels (more than 7 characters) auto-scroll horizontally. Disabled when PTT is locked.

Disconnect & Power Off

Tap the disconnect button (red power icon, top-right of the status bar). Three choices:

  • Disconnect Only — closes the connection, leaves the radio running
  • Power Off & Disconnect — sends a CI-V power-off command to the radio, waits 500ms, then disconnects
  • Cancel — go back to operating
Once you power off the radio remotely, it cannot be turned back on via software. Someone at the QTH will need to press the power button on the rig. Use this when you're done operating for the day and want to shut everything down cleanly.

Tips for Clean TX Audio

  • Use a quiet environment. Mobile and tablet microphones are extremely sensitive omnidirectional capsules — they capture everything. Ambient noise, keyboard clicks, traffic, fans. Even with the noise gate, a noisy room will degrade your TX audio quality. Find a reasonably quiet spot before calling CQ.
  • Avoid Bluetooth headphones for TX. BT audio codecs (SBC, AAC, aptX) add 100–300ms of latency on top of the network delay. That's enough to make your audio feel sluggish and out-of-sync. For the best experience, use the device's loudspeaker or wired 3.5mm headphones. If you must use BT, be aware of the extra delay.
  • The app processes all TX audio through the Mic DSP chain (gain, compressor, noise gate, EQ) before Opus encoding. See Section 11 for how to dial in your mic settings.

07 DSP & RF Controls

The 2×5 DSP control grid gives you direct access to your radio's front-end processing, antenna tuner, VFO exchange, and split mode — the same controls you'd reach for on the rig's front panel.

DSP Button Grid

Button Function Behavior
ATU Antenna Tuner Unit Toggle on/off. Green when enabled.
TUNE Auto-tune Triggers ATU tune cycle. Orange while tuning.
NB Noise Blanker Toggle on/off.
NR Noise Reduction Toggle on/off.
P.AMP Preamplifier Cycles: OFF → P.AMP1 → P.AMP2 → OFF. Shows "1" or "2" sublabel.
ANF Auto Notch Filter Toggle on/off. Removes continuous carrier interference.
AGC AGC Speed Cycles: FAST (orange) → MID (green) → SLOW.
FIL IF Filter Cycles: FIL1 (wide) → FIL2 (mid) → FIL3 (narrow).
A/B VFO Exchange Swaps VFO A ↔ B. See Section 05.
SPLIT Split Mode Toggle split (TX on alternate VFO). Green when active.

All buttons reflect the radio's actual state — if you change a setting on the radio's front panel, the button updates within 500ms (bi-directional sync via polling). All buttons are disabled when not connected.

RF Power Slider

0–100% in 5% steps. The slider adjusts the transmit power on the radio in real time. Disabled when not connected.

On a noisy band, try engaging NB first, then NR if needed. P.AMP2 gives extra sensitivity on quiet bands but can overload your front end in a contest. ATU TUNE runs the radio's internal tuner — make sure you have an antenna connected before hitting it.

08 Waterfall & Spectrum Scope

If your radio has a built-in spectrum scope with data output (e.g., IC-7300, IC-7610, IC-705, IC-9700), you get a real-time waterfall display streamed directly from the radio through the server to your mobile or tablet. HamMixer reads and displays the scope data that the radio produces natively — it does not generate the waterfall itself.

Opening the Waterfall

Tap the waterfall button (wave icon) in the status bar. The screen automatically rotates to landscape orientation for maximum display area. When you close the waterfall, portrait is restored.

Waterfall screen in landscape showing spectrum graph at top, scrolling waterfall below, frequency scale, and toolbar controls The waterfall in landscape — spectrum graph on top, scrolling spectrogram below, with Edge and contrast controls.

What You See

  • Spectrum graph (top) — live amplitude-vs-frequency line
  • Scrolling waterfall (main area) — color-mapped spectrogram. New data appears at the top and scrolls down.
  • Frequency scale — automatic tick spacing based on the displayed bandwidth
  • VFO line — your current frequency marked on the display

Controls

  • Edge button — cycles through the radio's 4 preset bandwidth settings (narrow to wide)
  • Contrast slider — adjusts the color mapping intensity for your viewing preference
  • Close button (X) — exits the waterfall and returns to portrait mode

Tuning from the Waterfall

Drag horizontally on the waterfall to tune — same two-speed velocity as the tuning wheel (slow drag = 50 Hz, fast drag = 1 kHz). Haptic feedback on every step. Great for visually spotting a signal and tuning right to it.

The waterfall is only available on radios that natively output spectrum scope data (e.g., IC-7300, IC-7610, IC-705, IC-9700). For radios without a built-in scope, the waterfall button is hidden.

09 CW Keyer

HamMixer Mobile supports text-based CW (keyboard CW) using the radio's internal keyer. You type text, and the radio converts it to perfectly timed Morse code. Since the radio handles all timing, network latency doesn't affect CW quality — your dits and dahs are always clean.

How It Works

  1. Switch to CW mode (tap CW in the mode row).
  2. Tap the PTT button — instead of activating PTT, it reveals the CW text entry panel below the tuning wheel.
  3. Start typing — each character is sent to the radio as you type, character-by-character. The radio's internal keyer queues them and sends perfect CW.
  4. Tap STOP to halt transmission immediately and clear the text field.
  5. Tap X to close the text entry panel.

The panel auto-hides when you switch away from CW mode.

Main screen in CW mode showing CW text entry panel below tuning wheel with typed text and CW macro buttons CW mode — text entry panel visible below the tuning wheel, CW macros on the buttons instead of voice memories.

CW Macros

In CW mode, the Voice Memory buttons (M1–M8) automatically switch to CW macro labels. Tap a macro button to send its pre-programmed text (e.g., "CQ CQ CQ DE MYCALL K"). Configure macro labels and texts in Settings > CW Config.

CW Configuration

Open Settings > CW Config to customize your CW setup:

  • Speed: 6–48 WPM (sent to the radio when CW entry opens and when you save settings)
  • External keyboard toggle: Suppresses the on-screen keyboard for use with a physical Bluetooth or USB keyboard
  • 8 macros: Each with a label (shown on the button) and text (sent to the radio on tap). Defaults: CQ, ANS, TU, 73, AGN, QRZ, RST, NR
Icom IC-7300 / IC-7610 / IC-705 CW sidetone over USB: By default, Icom radios do not send CW sidetone through the USB audio output — you'll hear nothing during CW TX in remote mode. To fix this, go to MENU → SET → Connectors on your radio and set:

ACC/USB AF Beep/Speech… Output = ON

Also verify: ACC/USB Output Select = AF (not IF), and that your CW sidetone level is above zero. Once enabled, the radio's CW sidetone will stream through USB audio to HamMixer Server, and you'll hear it in the mobile app during CW keying.
Using an external keyboard for CW? Enable "External keyboard only" in CW Config — the on-screen keyboard won't pop up, giving you full screen real estate. A small Bluetooth keyboard makes a surprisingly effective CW paddle from the couch.

10 QSO Logging

After completing a QSO, log it right from the app — no need to switch to a separate logging program.

Opening the Log

Tap the frequency display on the main screen. A full-page QSO log form opens with everything auto-filled from the live radio state.

QSO Log screen showing callsign field, time scroll wheels, RST scroll wheels, and band/mode chips The QSO log form — callsign entry, UTC time wheels, RST reports, and live band/mode chips from the radio.

The Log Form

  • Callsign field — large amber monospace text, auto-uppercase, auto-focused with the keyboard appearing immediately. Only allows A–Z, 0–9, and /.
  • Band, Mode, Frequency — live chips that update in real-time as you tune. No need to fill these in manually.
  • Start / End time (UTC) — slot-machine style scroll wheels for hours and minutes. "Now" buttons (clock icon) set the time to the current UTC with a smooth animation and haptic feedback. Mark the start when you begin the QSO, the end when you finish.
  • RST Sent / Received — scroll wheels that auto-switch between phone values (11–59, 59+5..59+60) and CW values (119–599, 599+5..599+60) depending on the current mode. Default: 59 (phone) or 599 (CW).
  • Comments — free-text field for notes about the QSO (e.g., "Great signal", "Portable /P"). Saved as the ADIF COMMENT field. Optional — leave blank if not needed.
  • Reset button — clears callsign, resets times to "now", resets RST to defaults, and clears comments.

PTT on the Log Page

A full PTT button is available right on the log screen — you can continue the QSO while logging without going back. In CW mode, the inline CW text entry appears here too.

Saving the QSO

Tap SAVE QSO. The record is appended to a stable ADIF 3.1.4 file named HamMixer_Log.adi. A success notification shows the QSO number (e.g., "QSO #42 logged: CT7BAC on 20m"), so you can track your contact count.

ADIF fields saved: call, band, mode, submode, freq, qso_date, time_on, time_off, rst_sent, rst_rcvd, station_callsign, comment. Compatible with Log4OM, HRD Logbook, LoTW, HAMRS, and any ADIF-compliant logger.

Heavy haptic feedback confirms a successful save. If start time is after end time, the save is rejected with a red error message. If a save fails for any reason, the actual error message is shown so you can diagnose the issue.

Accessing the ADIF File

The ADIF log file is automatically maintained by the app. Here's how to find it on each platform:

  • iOS (iPad / iPhone): Open the Files app → On My iPad (or On My iPhone) → HamMixer. The file HamMixer_Log.adi is there — you can share, copy, or AirDrop it directly from Files.
  • Android: Go to Settings > Logging Settings > ADIF File Location and tap to choose an export folder (e.g., Downloads). The app uses Android's Storage Access Framework — you pick the location once, and from then on, every QSO save automatically syncs the full ADIF file to that location. No file picker on each save. If you change phones or the permission is lost, you'll be prompted to pick again.

QRZ.com Logbook Upload

Optional auto-upload to QRZ.com Logbook on every save. Configure in Settings > Logging Settings:

  • Enter your station callsign and QRZ.com API key
  • Enable auto-upload
  • API key is stored securely in the device keychain
  • Test API Key button validates your key with QRZ.com

Getting Your QRZ.com API Key

  1. Go to qrz.com and log in with your callsign and password as usual.
  2. Hover over your callsign at the right end of the top menu bar, then click "My Logbook" from the dropdown.
  3. On the logbook page, check the logbook selector (top-left corner) — make sure the correct logbook is selected for receiving your logs. If it's already right, leave it as-is.
  4. On the left side of the page, find the "QRZ Logbook API" section. The API Key field is blurred by default — click the eye icon (labelled "show") to reveal it.
  5. Copy the API key and paste it into Settings > Logging Settings > API Key in the mobile app.
The API key is four groups of four characters separated by dashes (e.g., ABCD-1234-EFGH-5678). Copy it exactly as shown on QRZ.com — preserve the uppercase/lowercase letters, include the dashes, and make sure no extra spaces sneak in before or after the key.

If the upload fails (no internet, QRZ.com down), the QSO is still saved locally — you'll see an orange notification.

The log form remembers your callsign and times if you navigate away and come back — handy if you need to check something on the main screen mid-QSO. After a successful save, the form cache is cleared for the next contact.

11 DX Cluster

The DX Cluster gives you a real-time feed of DX spots from the worldwide DX Spider network, right inside the app. See who's active on each band, tap to tune your radio instantly, and jump straight into logging the contact.

Opening the DX Cluster

On the main screen, long-press the frequency LCD area. If you haven't configured your station callsign yet, the app will prompt you to enter it — your callsign is used to log in to the cluster node. You can also set it in Settings > Logging Settings.

DX Cluster screen showing spot list with callsigns, frequencies, countries, and connection indicator The DX Cluster screen — real-time spots filtered by your current band, with DXCC entity names resolved automatically.

Understanding the Screen

  • Title bar — shows "DX Cluster (N)" where N is the number of spots currently displayed. A green dot indicates an active connection to the cluster node; red means disconnected (auto-reconnect is active).
  • Spot cards — each card shows the UTC time, frequency (kHz), DX callsign, and resolved DXCC country name. Spots are sorted newest-first.
  • Band filtering — spots are automatically filtered to match the band your radio is currently tuned to. Change bands on the main screen and the cluster list updates to show only spots on that band.

Tuning to a Spot

Long-press (tap and hold for 1.5 seconds) on any spot card. During the press, a green border animates around the card to show progress. When the timer completes:

  • Your radio tunes to the spot's frequency
  • The DX callsign is pre-filled into the QSO log form
  • A green confirmation toast appears

While you're pressing, the spot list is frozen — even if new spots arrive, the list won't shift under your finger. This prevents accidentally tuning to the wrong station during high-activity periods like contests.

DXCC Entity Resolution

Each spotted callsign is resolved to its DXCC entity (country) using the CTY_WT_MOD database — the same comprehensive dataset used by contest logging software. The bundled database covers 340 entities with over 28,000 prefix patterns. The database auto-updates weekly in the background from Win-Test's public mirror.

After tuning to a spot, tap the frequency display to open the QSO log — the callsign is already filled in, so you just need to complete the QSO and tap Save.

12 Microphone DSP

Your mobile or tablet mic wasn't designed for ham radio — but the built-in DSP chain shapes it into something usable. Open Settings > Mic DSP to configure the processing that's applied to your voice before Opus encoding.

Mic DSP screen showing LED level meter, gain/compressor/noise gate sliders, and equalizer bands Mic DSP — LED level meter, processing sliders, and 8-band equalizer for shaping your TX audio.

Level Meter

20-segment LED bar at the top of the screen. Green (segments 1–12), yellow (13–17), red (18–20). The meter is live whenever the screen is open — no need to press anything. Numeric dB readout in the corner.

Processing Chain

All processing happens in the native audio thread before Opus encoding — zero additional latency.

  • Mic Gain (0–20 dB, default 6 dB) — boost your mic level. Start at 6 dB and adjust until your peaks are in the yellow zone on the meter.
  • Compressor (0–100%, default 100%) — evens out volume differences. Higher values mean more compression (tighter dynamic range). 100% is quite aggressive — back off to 50–70% if your audio sounds "squeezed."
  • Noise Gate (OFF to 0 dB, default −10 dB) — silences the mic when you're not speaking. The gate opens on voice (1ms attack), holds for 150ms after you stop, then smoothly closes (50ms release). Set the threshold just above your ambient noise floor. Slide all the way left for OFF (gate bypassed entirely).
  • 8-Band Equalizer — shape your mic's frequency response. Bands: 80, 160, 250, 500, 900, 1500, 2500, 3200 Hz. Range: ±6 dB per band. The defaults boost the presence range (900 Hz and above) for better intelligibility on HF.

Testing Your Audio

  • REC button — records 5 seconds of your voice through the full DSP chain, then auto-plays it back through the speaker. No extra tap needed — the playback starts automatically. Great for hearing how you'll sound on the air.
  • MON button (Monitor) — routes your processed mic audio to headphones in real time so you can hear yourself live. Requires headphones (wired, BT, or USB) — loudspeaker output is blocked to prevent feedback. Green when active.
  • RESET button — all sliders smoothly animate back to factory defaults (400ms ease-out).
The noise gate is your best weapon against ambient noise, but it's not magic. In a noisy cafe or with a fan blowing, even a −10 dB gate may not be enough. Find a quiet spot, set the gate threshold just above the ambient floor, and you'll have clean breaks between words.

13 Audio & Network Tips

Remote operation over the internet introduces variables that don't exist when you're sitting in front of your rig. Here are the things that matter most for a good experience.

Network Quality Matters

The app runs on Opus at 48 kbps (about 60 kbps with overhead) — very efficient, but latency is the real enemy:

  • Under 100ms: Feels like local operation — the rig responds instantly.
  • 100–250ms: Perfectly usable, slight delay on PTT.
  • 250–500ms: Noticeable delay. You'll hear a gap between pressing PTT and the radio keying up. Still fine for ragchewing, but fast contest exchanges feel sluggish.
  • Above 500ms: Operational but uncomfortable. CW is unaffected (radio-side timing), but voice QSOs feel like a satellite phone call.

Wi-Fi is generally better than mobile data for stability (less jitter). 4G/5G works fine for bandwidth, but latency varies significantly with cell tower load.

Bluetooth vs. Wired Audio

Audio output device has a massive impact on latency — often bigger than the network itself:

  • Device loudspeaker or wired headphones: ~29ms audio output latency. Combined with a good network, total end-to-end delay stays well under 100ms — feels like sitting in front of the rig.
  • Bluetooth headphones: 150–350ms audio output latency depending on the codec (SBC ~250–350ms, AAC ~150–250ms, aptX ~80–150ms). This stacks on top of network delay. A 30ms network path becomes 350ms+ with Bluetooth — the difference is night and day.

Bottom line: For the lowest latency, use wired headphones or the device loudspeaker. Bluetooth is fine for casual listening, but if responsiveness matters (contest exchanges, quick PTT turnaround), go wired. For CW, latency doesn't affect keying quality (the radio handles all timing), but it does affect your ability to hear the sidetone in sync.

Background Audio

The app runs a foreground service that keeps audio alive when you switch to another app (WhatsApp, browser, email). A persistent notification shows "Connected to [station name]" — tap it to return. RX audio plays through the device speaker or headphones even when the screen is off or the app is in the background.

Audio Focus & Auto-Mute

  • When a phone call comes in (cellular, WhatsApp, Telegram), radio audio automatically mutes and resumes when the call ends.
  • Media apps (YouTube, Spotify) are NOT auto-muted due to system limitations. Use the manual mute button (speaker icon in the status bar) if you want to silence the radio temporarily.

Keep Screen On

Enabled by default (Settings > Keep Screen On). Prevents the screen from sleeping while the app is in the foreground — essential during a QSO. Disable it if you prefer battery savings.

Mobile and tablet microphones are highly sensitive omnidirectional capsules. They will pick up ambient noise even with the noise gate engaged — keyboard taps, traffic, air conditioning, other people talking nearby. For the best TX audio quality, operate from a reasonably quiet environment. Your fellow hams will appreciate it.

14 External Controls (BLE Encoder & Keyboard)

HamMixer Mobile supports two types of external hardware controllers: a BLE module (with a VFO encoder and two configurable buttons) built on a Raspberry Pi Pico W, and any Bluetooth keyboard with 26 mappable radio functions. Both are configured in Settings > External Controls.

BLE Module

A physical rotary encoder connected to a Raspberry Pi Pico W communicates wirelessly over Bluetooth Low Energy. It gives you a real tuning knob for your mobile setup — with the same two-speed acceleration as the on-screen tuning wheel (50 Hz slow, 500 Hz fast) — plus two fully configurable hardware buttons.

Setup

  1. Flash the Pico W firmware (encoder_ble/main.py from the HamMixer repository) onto your Pico W. See the encoder_ble README for wiring and installation instructions.
  2. Power the Pico W — the onboard LED blinks slowly while advertising.
  3. In the app, go to Settings > External Controls and enable BLE Module.
  4. Tap Scan for BLE Module — the app finds and connects to "HamMixer VFO". The Pico W's LED turns solid when connected.
  5. Choose a function for each button using the Button 1 and Button 2 dropdowns (default: PTT / Tune).
  6. Tap Save BLE Module Settings to persist your choices.

Encoder Behavior

  • Rotation — turns the VFO just like the on-screen tuning wheel. Two-speed acceleration: slow rotation = 50 Hz steps, fast rotation = 500 Hz steps.

Configurable Buttons

Both hardware buttons can be assigned to any of 27 radio functions via the Button 1 and Button 2 dropdowns in Settings > External Controls. The defaults are PTT (Button 1, GP16) and Tune (Button 2, GP22).

  • PTT (Hold) — press and hold to transmit, release to receive. Works identically to the on-screen PTT button, including CW mode interception.
  • All other functions — trigger on a single button press (tap). No hold required.

Available functions include: PTT, Tune, ATU Toggle, NB/NR/P.AMP/ANF/AGC/FIL toggles, Band Up/Down, Mode Up/Down, Freq Up/Down, RF Power Up/Down, VFO A/B Exchange, Split Toggle, and Voice Memory M1–M8.

Auto-Reconnect

If the BLE connection drops (module powered off, out of range), the app continuously scans in the background and reconnects automatically when the module is available again. No manual intervention needed.

Encoder PPR Setting

The default encoder is a 600 PPR (pulses per revolution) model divided by 6 in firmware, yielding 100 effective steps per revolution. If you use a different encoder, adjust the Encoder PPR setting in External Controls to match your hardware. This controls the scaling between raw encoder ticks and frequency steps.

Bluetooth Keyboard

Any standard Bluetooth keyboard (or mini keypad) can be mapped to 26 radio control functions. This is particularly useful for CW operation, quick band changes, or hands-free control.

Setup

  1. Pair your Bluetooth keyboard with your phone or tablet via the device's Bluetooth settings.
  2. In the app, go to Settings > External Controls.
  3. Tap any function row to open the key capture dialog — press the physical key you want to assign, and the app captures it.
  4. The key is now mapped to that radio function.

Available Functions (26)

Each function can be assigned to any key on the keyboard:

  • Frequency: Freq Up, Freq Down
  • Band: Band Up, Band Down
  • Mode: Mode Up, Mode Down
  • VFO: VFO A/B Exchange, Split Toggle
  • DSP: NB Toggle, NR Toggle, ANF Toggle, P.AMP Cycle, AGC Cycle, FIL Cycle
  • Tuner: ATU Toggle, ATU Tune
  • TX: PTT Toggle, RF Power Up, RF Power Down
  • Voice Memory: M1, M2, M3, M4, M5, M6, M7, M8
A small Bluetooth numeric keypad (the kind used for accounting) makes an excellent radio control pad. Map the number keys 1–8 to voice memories, and the remaining keys to your most-used functions. Combined with the BLE VFO encoder, you get a surprisingly complete physical control surface for your mobile station.

15 Settings & Backup

The Settings screen (gear icon on the connection screen, or via the app menu) collects all configuration in one place.

Settings Overview

Setting What it does
Keep Screen On Prevents screen sleep while the app is in the foreground (default: ON)
Mic DSP Opens the mic processing screen (Section 11)
Voice Memory Customize M1–M8 button labels
CW Config CW speed, macros, external keyboard (Section 09)
Logging Settings Station callsign, QRZ.com API key, auto-upload, ADIF file location (Section 10)
External Controls BLE module enable/PPR/button functions, Bluetooth keyboard mapping (Section 14)
Network Check Run diagnostics against any saved server
Backup & Restore Export/import settings
Power Off Radio Shut down the radio remotely (when connected)
About App version, credits, contact

Voice Memory Labels

Rename M1–M8 buttons to whatever you like — "CQ DX", "CONTEST", "73 TU", etc. Leave blank to keep the default. Reset button restores all defaults.

Backup & Restore

  • Auto-backup: The app automatically saves your settings after every change. This backup is included in your device's cloud backup.
  • Manual export: Settings > Backup & Restore > Export Settings — creates a JSON file you can share, save to cloud storage, or transfer to another device.
  • Manual import: Select a previously exported file to restore all settings. Settings apply immediately — no app restart needed.
  • What's backed up: Server configs (without passwords), DSP settings, voice memory labels, CW macros, band stacking register, QRZ.com settings, display preferences.
  • What's NOT backed up: Passwords (security — re-enter them after restore).

Power Off Radio

Available when connected. Sends a CI-V power-off command to the transceiver. A confirmation dialog warns that the radio cannot be turned back on via software. Also available from the disconnect dialog (Disconnect button > Power Off & Disconnect).

About

Shows app version, build date, credits (architecture by CT7BAC, coding by Claude Code AI), contact email, website link, and the traditional "Good DX and 73!"

A Troubleshooting

Quick-reference solutions for the most common issues.

Problem Possible Cause Solution
Can't connect to server Server not running, wrong IP/port, firewall blocking Verify server is running. Check IP and ports (TCP 7300, UDP 7301). Run Network Check from Settings.
"Another client may already be connected" Exclusive lock — only one client at a time Disconnect the other client (desktop or mobile) first, or restart the server.
No audio from radio Output device issue, audio muted Check the mute button (speaker icon). Check device volume. Ensure audio focus isn't taken by another app.
PTT not working Mic permission denied, PTT locked Check PTT lock (long-press PWR area to unlock). Check mic permission in device settings.
High latency / choppy audio Poor network, BT headphones Switch to wired headphones or loudspeaker. Check Network Diagnostics. Try Wi-Fi instead of mobile data.
Waterfall button missing Radio has no built-in scope The waterfall requires a radio with native spectrum scope output (e.g., IC-7300, IC-7610, IC-705, IC-9700). The button is hidden for radios without this capability.
CW not sending Not in CW mode Switch to CW mode first, then tap PTT to reveal the text entry.
QSO save fails Empty callsign or start > end time Enter a valid callsign. Ensure start time is before end time.
Settings lost after reinstall Passwords not in backup Re-enter passwords for each server after restoring a backup. Settings are restored automatically from cloud backup on fresh install.
Reconnecting loop Server shut down, network dropped Check server status. Check internet connection. The app will keep trying (exponential backoff up to 30s).
BLE module not found Module not powered, Bluetooth off, iOS permissions Check that the Pico W is powered (LED should be blinking). Ensure Bluetooth is enabled on your device. On iOS, check Settings > Privacy > Bluetooth and allow HamMixer.
BLE module disconnects frequently Range, 2.4 GHz interference Move the BLE module closer to your phone/tablet. Avoid placing near Wi-Fi routers, microwaves, or other 2.4 GHz devices. The app auto-reconnects when the module is back in range.

B Quick Reference Card

HamMixer Mobile at a Glance

Audio codec Opus 48 kHz mono, 48 kbps
Control channel TCP 7300 (TLS 1.2+)
Audio channel UDP 7301 (AES-128-CTR)
Sample rate 48,000 Hz
Audio frame 10ms (480 samples)
Tuning steps 50 Hz (slow) / 1 kHz (fast)
CW speed range 6–48 WPM
RF power range 0–100% (5% steps)
S-meter segments 54 (1s peak hold)
Max servers saved Unlimited
Log format ADIF 3.1.4
BLE module Nordic UART, 100 PPR (600/6), 20ms batch, 2 configurable buttons

Touch Gestures

Gesture Action
Tap frequency LCD Open QSO Log
Long-press frequency LCD Open DX Cluster
Drag tuning wheel Tune frequency (velocity-sensitive)
Hold PTT button Transmit (press-and-hold)
Tap PTT in CW mode Toggle CW text entry
Long-press PWR area (1.5s) Toggle PTT Lock
Long-press SWR area (1.5s) Toggle VFO Lock
Tap disconnect button Disconnect / Power Off dialog

See also: Server Manual | Desktop Manual