Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

POTACAT

POTACAT is a free, open-source desktop application for amateur radio operators who want to hunt Parks on the Air (POTA) activators, chase SOTA summits, work DX, and operate their radio remotely from a phone.

Built by Casey Stanton, K3SBP and a growing community of contributors.

How It Started

POTACAT began with a simple idea: see all the live POTA spots on one page and one-click tune my FlexRadio to any spot. No more copying frequencies by hand, no more fumbling between browser tabs and radio software. Click a row, radio tunes, start calling.

That first version was a weekend project. Then people wanted SOTA spots too. Then DX Cluster integration, DX expedition tracking, and Reverse Beacon Network. Then logbook forwarding, ADIF export, and QSO logging. Then WWFF and LLOTA spots. Then respotting, panadapter integration, and a full CW keyer. Every feature was driven by real operators asking “can POTACAT do this?” and the answer kept being yes.

What It Does Today

  • Live spot aggregation from POTA, SOTA, WWFF, LLOTA, DX Cluster, RBN, and PSKReporter
  • One-click QSY to any spot with CAT control for FlexRadio, Icom, Yaesu, Kenwood, Elecraft, Xiegu, QRP Labs, and Hamlib-supported rigs
  • Map and table views with band/mode filters, distance, bearing, and beam heading
  • QSO logging with ADIF export and forwarding to Log4OM, HamRS, Ham Radio Deluxe, N3FJP, DXKeeper, Wavelog, MacLoggerDX, QRZ Logbook, World Radio League, and SOTAdata
  • JTCAT – a built-in FT8/FT4 engine (no WSJT-X required) with waterfall, decode panel, and auto-QSO
  • CW Keyer with MIDI paddle support, remote CW from your phone, and text macros
  • SmartSDR and TCI panadapter spots so you can see activators on your waterfall
  • DXCC Tracker, DX expedition board, solar propagation, band activity heatmap
  • Scan mode to auto-tune through filtered spots like scanning a police scanner

ECHOCAT: Remote Radio for Everyone

ECHOCAT is POTACAT’s remote radio feature. Open a browser on your phone, connect to your shack over a VPN like Tailscale, and you have full control of your radio: tune, transmit SSB, send CW, and run FT8 – all from your phone.

We are democratizing remote radio.

Not everyone can afford a FlexRadio with SmartLink or the latest internet-connected transceiver. Remote operation shouldn’t be a luxury. Our mission is to bring remote SSB, FT8, and CW to as many radios and operators as possible. ECHOCAT runs on hardware as modest as a Raspberry Pi connected to a Xiegu G90. If your radio has a serial port or USB, you can probably run it remotely with POTACAT.

No cloud services. No subscriptions. No vendor lock-in. Just your radio, your computer, and your VPN.

Get Involved

POTACAT is in active development. New features ship weekly. We build what the community asks for.

73 de K3SBP

Quick Start

  1. Set your grid square in the welcome screen or Settings
  2. Add your radio — pick a connection type, configure it, and click Test Connection
  3. Spots appear automatically — POTA spots load every 60 seconds
  4. Click any spot in the table or on the map to tune your radio to that frequency
  5. Work the contact and click Log to save the QSO

That’s it — you’re hunting parks.


Hunter Mode

Hunter mode is the default view. It shows live spots from all your enabled sources in a sortable table and/or interactive map.

Spot Table

The main table shows one row per spot with these columns (right-click any column header to show/hide columns):

ColumnDescription
LogClick to open the log dialog for this contact
CallsignActivator’s callsign (click to open QRZ page, hover for operator name)
OperatorOperator’s name (from QRZ lookup)
Freq (kHz)Frequency — click the row to tune your radio here
ModeCW, SSB, FT8, FT4, FM, RTTY, FreeDV
SourcePOTA, SOTA, WWFF, LLOTA, DXC, RBN, PSKR, WSJT, DXP
RefPark or summit reference (e.g. K-1234, W6/CT-001)
NamePark or summit name
StateUS state or DX entity
GridMaidenhead grid square
DistDistance from your QTH in miles or km
HeadingBeam heading from your QTH in degrees
AgeTime since the spot was posted (e.g. “5m”, “1h 30m”)
CommentsSpot comment text
SkipToggle to skip this spot during scan

Column widths are resizable — drag the border between column headers. Widths are saved automatically.

Sorting — Click any column header to sort. Click again to reverse. Sort state is preserved across sessions.

Color coding — Rows are tinted by source: green for POTA, orange for SOTA, purple for DX Cluster. Spots for new (unworked) parks show a green border and “NEW” badge when you have parks worked data loaded.

Watchlist stars — Spots matching your watchlist callsigns show a star icon.

WSJT-X decodes — When WSJT-X integration is active, a decode indicator appears on rows where POTACAT hears the activator in WSJT-X.

Map View

Toggle between Table and Map using the view buttons in the toolbar (or press S for split view).

The map uses dark OpenStreetMap tiles and shows:

  • Your QTH as a home marker
  • POTA activators as green markers with park info popups
  • SOTA activators as orange markers
  • DX Cluster spots as purple markers (positioned via cty.dat country database)
  • Tune arcs — great-circle lines from your QTH to the selected spot
  • Band activity heatmap — a color bar at the bottom showing spot density per band (enable in Settings → Display)

Click any marker to see spot details in a popup. Click the frequency in the popup to tune. The map remembers your zoom level and center position.

Split View

Press S or enable Split view in Settings → Display to show the table and map side-by-side (or stacked — configurable). A draggable splitter lets you resize the panes. The split height/width is saved.

Pop-out Windows

POTACAT supports detachable pop-out windows:

  • Pop-out Map — Click the ↗ button in the view toolbar. Opens the map in its own resizable window with full functionality (markers, popups, tune arcs, Log button). Remembers position and size.
  • Pop-out Spots — In Activator mode, click the pop-out button in the activator toolbar to detach the hunter spots table into a separate window.
  • Pop-out QSO Logbook — Press F2 or click the Logbook toolbar button. See Pop-out QSO Logbook.

Pop-out windows sync theme (dark/light) with the main window and auto-reopen if they were open when you last closed POTACAT.


Activator Mode

Switch to Activator mode from the Settings quick dropdown in the toolbar, or in Settings → App Mode.

Activator mode replaces the hunter table with a streamlined interface for running a POTA/SOTA/WWFF activation.

Starting an Activation

  1. Enter your park reference (e.g. K-1234) in the park input field — autocomplete helps you find parks
  2. Set your frequency — type it or let POTACAT read it from your radio via CAT
  3. Select your mode (CW, SSB, FT8, etc.)
  4. Click Start Activation

A timer starts counting your activation time. Your contact count is displayed prominently.

Logging Contacts

The quick-log form at the top has:

  • Callsign — type the hunter’s callsign
  • RST Sent / Received — split-digit input boxes with auto-advance (or single-field N1MM-style if enabled in Settings)
  • Hunter Park — if the hunter is also at a park (park-to-park QSO), enter their reference
  • Operator name — auto-filled from QRZ lookup

Press Enter or click Log to save. The contact appears in the activation log table below.

Use Alt+R to reload the last contact into the form (handy for correcting mistakes).

Multi-Park Activations

If you’re activating multiple parks from the same location (two-fer, three-fer), press Ctrl+M to open the Multi-Park dialog. Add additional park references and all your contacts will be logged for each park.

Exporting ADIF

Click Export ADIF in the activator toolbar to save your activation log as an ADIF file for upload to pota.app or sotadata.org.uk. For multi-park activations, you can export per-park or combined.

The activator toolbar also has buttons for:

  • Map — show your park location on a map
  • Past activations — view your previous activations at this park
  • Spots — toggle the hunter spot table below the activator view (split view)
  • Logbook (F2) — open the pop-out QSO logbook

Spot Sources

Toggle sources on and off from the Spots dropdown in the toolbar (the funnel icon) or in Settings → Spot Sources.

POTA

Parks on the Air spots from the POTA API. Refreshed automatically (default every 60 seconds, configurable). Green markers on the map.

Parks Worked: Import your parks worked CSV from pota.app (Settings → Spot Sources → POTA → Import CSV). Spots for parks you’ve already worked show no “NEW” badge, and you can filter them out with “Hide worked parks” in the Spots dropdown.

Stats overlay: When parks data is loaded, click the Stats button in the status bar to see your Parks Worked count, Total QSOs, unique locations, and how many new-to-you parks are on the air right now.

SOTA

Summits on the Air spots from the SOTA API. Orange markers on the map positioned at summit coordinates.

WWFF & LLOTA

World Wide Flora & Fauna and Lighthouses on the Air spots. These are additional park/award programs that pull from their respective APIs.

DX Cluster

Live DX spots streamed via telnet from DX cluster nodes. POTACAT supports up to 3 simultaneous cluster connections.

Setup:

  1. Enable DX Cluster in Settings → Spot Sources
  2. Enter your callsign (required for cluster login)
  3. Choose from 13 preset nodes (W3LPL, VE7CC, DXUSA, NC7J, K1TTT, and more) or add a custom node
  4. Optionally add a second and third node for broader coverage

DX Cluster spots appear with a purple left border in the table and purple markers on the map. Location is resolved from the callsign using the bundled cty.dat country database.

DX Command Bar: When DX Cluster is enabled, a command bar appears below the table. Use it to self-spot or spot other stations on the cluster. Enter a callsign, frequency, and optional comment, then click Send.

Spotting on the cluster: The Log dialog includes a “Spot on DX Cluster” checkbox for non-park contacts. Press Ctrl+R for quick re-spotting with template variables.

Reverse Beacon Network (RBN)

The RBN shows where your CQ calls (and watchlist callsigns) are being heard by the worldwide skimmer network.

Setup:

  1. Enable RBN in Settings → Spot Sources
  2. Enter your callsign

A dedicated RBN view appears in the view toolbar. It shows a map with band-colored circle markers (sized by SNR), a spot table, and a dynamic legend. Filters for band and max age are available at the top.

FreeDV / PSKReporter

FreeDV spots from PSKReporter. Polls every 5 minutes (with automatic backoff on server errors). Coral-colored spots in the table and map.

Hover over the FreeDV checkbox in the Spots dropdown to see a countdown to the next poll.

WSJT-X

POTACAT listens for WSJT-X UDP messages (default port 2237) and cross-references decoded callsigns against active POTA spots.

Features:

  • POTA activators in the WSJT-X decode list are highlighted green
  • Decode indicators appear on matching rows in the POTACAT spot table
  • Click-to-tune sends the frequency to your FlexRadio via SmartSDR TCP (no CAT conflict with WSJT-X)
  • Auto-log: QSOs completed in WSJT-X can be automatically logged in POTACAT

Enable WSJT-X in Settings → Spot Sources. Set the UDP port to match your WSJT-X configuration.

DX Expeditions

POTACAT checks the Club Log DX expedition database and marks active expeditions with a DXP badge. DX expedition spots are pinned to the top of the table and shown with a red/gold marker on the map.


Radio Setup

POTACAT supports five connection methods. Open Settings and click Add Rig to configure your radio.

FlexRadio (SmartSDR)

Best for: FlexRadio 6000/8000 series running SmartSDR.

POTACAT connects to SmartSDR’s built-in CAT server over TCP. No additional software or cables needed.

  1. Add a new rig → select FlexRadio (SmartSDR)
  2. Choose your slice (A, B, C, or D)
  3. Save

SmartSDR exposes Kenwood-compatible CAT on TCP ports 5002–5005:

SlicePort
A5002
B5003
C5004
D5005

If SmartSDR is on a different computer, use IP Radio (TCP CAT) instead with the Flex’s IP address.

IP Radio (TCP CAT)

Best for: FlexRadio on a remote PC, Elecraft K4, or any radio with a TCP-based Kenwood CAT interface.

  1. Add a new rig → select IP Radio (TCP CAT)
  2. Enter the host IP and port
  3. Save

Serial CAT (Kenwood)

Best for: QRPLabs QMX/QDX, Kenwood, Elecraft, Yaesu (via FA/MD commands), and any radio that speaks Kenwood protocol over USB serial.

  1. Add a new rig → select Serial CAT (Kenwood)
  2. Choose your COM port
  3. Set the baud rate
  4. Check Disable DTR/RTS if your radio uses DTR for PTT
  5. Click Test Connection to verify
  6. Save

POTACAT sends only FA (frequency) and MD (mode) commands. Any radio that responds to FA; with a frequency will work.

Yaesu radios also support these commands — POTACAT auto-detects 9-digit (Yaesu) vs 11-digit (Kenwood) FA format from the radio’s response.

Other Rig (Hamlib)

Best for: Icom, Yaesu, and radios that don’t speak Kenwood protocol.

POTACAT bundles Hamlib 4.6.5 (rigctld) — no separate installation needed. Supports 200+ radio models.

  1. Add a new rig → select Other Rig (Hamlib)
  2. Search for your radio model
  3. Choose your COM port and baud rate
  4. Click Test Connection
  5. Save

POTACAT spawns a rigctld process, connects via TCP, and translates commands to your radio’s native protocol.

rigctld Network

Best for: Connecting to an existing rigctld instance running on another machine or managed by other software.

  1. Add a new rig → select rigctld Network
  2. Enter the host and port (default localhost:4532)
  3. Save

My Rigs

POTACAT supports multiple saved rig profiles. Each profile stores a name and connection settings. Switch between rigs by clicking the CAT status pill in the status bar and selecting from the rig list.

Win4Yaesu Setup

If you use Win4Yaesu Suite, both programs need access to the radio’s serial port. The solution is COM0COM (free virtual COM port driver):

  1. Install COM0COM (signed 64-bit version)
  2. Create a virtual port pair (e.g. COM18 ↔ COM19)
  3. In Win4Yaesu: assign COM18 to an AUX/CAT port
  4. In POTACAT: set up Serial CAT (Kenwood) on COM19
POTACAT ←→ COM19 ──(COM0COM)── COM18 ←→ Win4Yaesu ←→ Radio

Win4Yaesu caches radio state, so POTACAT’s polling doesn’t add load on the radio. Multiple programs can run simultaneously on separate AUX/CAT ports.

Tested Radios

RadioConnectionBaudDTR/RTS Off?Notes
FlexRadio 6000/8000FlexRadio (SmartSDR)Works out of the box
QRPLabs QMXSerial CAT (Kenwood)38400NoDon’t use Hamlib; power cycle if stuck in terminal mode
QRPLabs QDXSerial CAT (Kenwood)38400YesDTR = PTT on QDX
Yaesu FTX-1Serial CAT (Kenwood)38400NoHamlib backend failed in testing
Xiegu G90Other Rig (Hamlib)19200Only with DigirigCI-V protocol; try X5105 or IC-718 backend as fallback
Kenwood TS-480/590/2000Serial CAT (Kenwood)9600NoAlso works with Hamlib
Elecraft KX2/KX3/K3Serial CAT (Kenwood)38400No
Elecraft K4IP Radio (TCP CAT)Ethernet TCP CAT

If your rig isn’t listed, try Serial CAT (Kenwood) first — many radios support FA/MD commands — then fall back to Hamlib.

SmartSDR Panadapter Spots

For FlexRadio users: enable Push spots to SmartSDR panadapter in Settings → Display. POTACAT connects to the FlexRadio API on port 4992 and displays color-coded spot markers directly on your SmartSDR panadapter.

Configure which sources appear (POTA, SOTA, DX Cluster, RBN, etc.) and set a max spot age.

TCI Panadapter Spots

For Thetis (ANAN/Hermes-Lite 2), ExpertSDR3 (SunSDR), and other TCI-compatible SDR software: enable Push to Thetis/TCI panadapter in Settings → Display.

POTACAT connects via WebSocket and sends color-coded spot markers to your panadapter. Configure:

  • Host and port (default 127.0.0.1:50001)
  • Per-source filters (POTA, SOTA, DX Cluster, RBN, WWFF, LLOTA, FreeDV)
  • Max spot age

ECHOCAT — Remote Phone Control

ECHOCAT turns your phone into a wireless remote for your POTACAT-connected radio. Tune spots, transmit, stream audio, send CW, log QSOs, and even run POTA activations — all from a mobile browser over a secure connection.

What You Need

  • POTACAT running on your shack PC, connected to your radio
  • A phone or tablet with a modern browser (Safari on iOS, Chrome on Android)
  • Network connectivity between the two — either your home Wi-Fi (for local use) or Tailscale (for remote access away from the shack)

Quick Start

1. Enable ECHOCAT on the Desktop

Open POTACAT and click the gear icon in the top bar to open Quick Settings. Toggle ECHOCAT on. You’ll see:

  • A URL (e.g., https://192.168.1.50:7300)
  • A 6-character token (e.g., A1B2C3)

If you have Tailscale installed, the Tailscale IP is shown with a green label — use that IP for remote access.

You can also configure ECHOCAT from Settings > ECHOCAT, where you can change the port (default 7300), regenerate the token, set the PTT safety timeout, and select audio devices.

2. Open ECHOCAT on Your Phone

  1. Open your phone’s browser and navigate to the URL shown in POTACAT
  2. You’ll see a certificate warning (ECHOCAT uses a self-signed TLS certificate) — tap Advanced > Proceed to accept it
  3. Enter the 6-character token and tap Connect

That’s it — you’re connected. You’ll see the spot list, a frequency display, and the mode badge at the top.

3. Select Audio Devices

In Settings > Radio (on the rig’s configuration), set the ECHOCAT Audio Input and ECHOCAT Audio Output devices. These control which sound devices carry RX audio from the radio to your phone and TX audio from your phone to the radio.

  • Audio Input: The device that receives audio from your radio (e.g., a virtual audio cable output, or your radio’s USB audio device)
  • Audio Output: The device that sends audio to your radio’s TX input

Tip: You can also change audio devices from the Quick Settings panel without opening the full Settings dialog.

Using ECHOCAT

Tuning

Tap any spot in the list to tune your radio to that frequency and mode. The status bar at the top shows the current frequency and mode.

To tune manually, tap the frequency display to open the dial pad. Enter a frequency in MHz (e.g., 14.060) and tap a step size to nudge the frequency up or down.

Transmitting (PTT)

Tap and hold the red PTT button at the bottom of the screen to transmit. Release to return to receive. A safety timer (default 3 minutes) automatically drops PTT if you forget to release it.

The STOP button is an emergency kill switch that immediately drops PTT and halts any CW or digital transmission.

Audio

Tap the Audio button to start streaming. Your phone will ask for microphone permission — this is needed for TX audio.

  • RX audio streams from your radio to your phone speaker/earpiece
  • TX audio streams from your phone microphone to the radio when PTT is held
  • Tap Vol to cycle through gain levels (1x, 2x, 3x) if RX audio is too quiet

iOS note: Keep ECHOCAT in the foreground or use the Audio button to maintain the connection. iOS aggressively suspends background WebSocket connections.

Scanning

Tap the Scan button in the status bar to auto-tune through your filtered spot list. The radio dwells on each spot for a configurable time (default 7 seconds, adjustable in the settings overlay). Tap Scan again or tap any spot to stop.

Filters

Tap the gear icon on the phone to open the settings overlay where you can filter by:

  • Bands (160m through 6m)
  • Modes (SSB, CW, FT8, FM, etc.)
  • Regions (NA, EU, AS, etc.)
  • Spot sources (POTA, SOTA, WWFF, LLOTA, DX Cluster)
  • Max age — hide spots older than a set time
  • New parks only — show only parks you haven’t worked
  • Hide worked — hide callsigns you’ve already logged

Radio Controls

Tap the rig controls button to reveal additional controls:

  • Filter width — step the IF bandwidth narrower or wider
  • NB — toggle the noise blanker
  • ATU — toggle the antenna tuner (if your radio supports CAT-controlled ATU)
  • VFO A/B — switch VFOs or swap A⇄B
  • RF Gain slider (0–100%)
  • TX Power slider (0–100%)

Rotor Control

If you have PSTRotator configured in POTACAT, a rotor toggle appears in the radio controls section. When enabled, tuning a spot automatically sends the bearing to your rotator.

CW from Your Phone

ECHOCAT includes a full CW keyer that lets you send CW from your phone’s touchscreen or a Bluetooth MIDI paddle.

Enable CW

  1. In POTACAT desktop Settings > ECHOCAT, check Enable CW Keyer
  2. On your phone, the CW panel appears when you’re in CW mode

CW Panel Controls

  • WPM — adjust sending speed (5–50 WPM)
  • Keyer mode — Iambic B, Iambic A, or Straight Key
  • Sidetone — adjustable frequency (400–900 Hz) and volume
  • 5 macro buttons — programmable CW messages (default: CQ, 599, 73, AGN, TU). Customize the labels and text in POTACAT’s desktop settings.
  • Free text field — type any text and send it as CW

CW Keying Methods

ECHOCAT supports three keying methods that can work simultaneously:

  1. Text macros (KY command) — Tap a macro button and the radio’s internal keyer sends the text. Best for programmed messages with clean keying. Requires radio firmware support (QMX firmware 1_00_021+).

  2. Paddle CW (TX/RX keying) — Touch the on-screen paddle or use a Bluetooth MIDI paddle. Your phone sends paddle contact events over WebSocket, POTACAT’s iambic keyer generates the timing, and TX/RX commands key the radio. Preserves your sending rhythm.

  3. Hardware DTR keying — A dedicated USB-to-serial adapter wired to your radio’s key jack. Best for absolute timing precision. See the Remote CW Setup Guide for wiring details.

Sidetone: For paddle CW and DTR keying, your phone generates local sidetone via its speaker — the radio’s sidetone is not used since TX/RX keying bypasses the radio’s internal keyer.

FT8 / Digital Modes (JTCAT)

ECHOCAT integrates with POTACAT’s JTCAT feature for remote FT8/FT4 operation.

Tap the FT8 tab on your phone to access:

  • Band selection (80m–6m) with one-tap band changes
  • Mode selector (FT8, FT4, FT2)
  • Decode log — live scrolling list of decoded stations
  • TX controls — enable TX, call CQ, reply to stations
  • Waterfall — live spectrum display streamed from the desktop
  • Auto QSO sequencing — JTCAT handles the exchange sequence; you just pick who to call

Activator Mode

ECHOCAT supports running full POTA/SOTA activations from your phone.

Start an Activation

  1. Tap the Activate tab
  2. Select your activation type (POTA, SOTA, or Other)
  3. Enter your park/summit reference (autocomplete helps you find it)
  4. Tap Start Activation

Logging QSOs

During an activation, tap the Log button next to any spot, or use the quick-log form:

  • Enter callsign, RST sent/received, and optional notes
  • QSOs are numbered and timestamped automatically
  • Your contact list shows at the bottom of the activation view

Re-spotting

When you log a QSO during an activation, ECHOCAT can automatically re-spot you on POTA/SOTA/WWFF. Configure your re-spot comment template in POTACAT’s desktop settings (e.g., {rst} in {QTH} 73 {mycallsign} via POTACAT).

Export

Tap Export ADIF to generate an ADIF file of your activation contacts. Past activations are saved and viewable with individual map views showing your QSO locations.

Club Station Mode

For multi-operator club stations, ECHOCAT supports authenticated access with license privilege enforcement.

Setup

  1. In POTACAT Settings > ECHOCAT, enable Club Station Mode
  2. Point it to a club_users.csv file with columns for callsign, password, license class, and rig access
  3. Each member logs in with their callsign and password

How It Works

  • Members can only tune frequencies within their license class privileges (e.g., a US Technician can’t tune 80m SSB)
  • Rig access can be restricted per member
  • The OPERATOR field in logged QSOs is set to the individual member’s callsign
  • All actions (logins, tunes, PTT, rig switches) are written to an audit log

Network & Security

Local Network

On your home Wi-Fi, your phone can reach POTACAT directly at its LAN IP address. No special setup needed beyond enabling ECHOCAT.

Remote Access with Tailscale

For operating away from the shack:

  1. Install Tailscale (free) on both your shack PC and your phone
  2. Sign in on both devices with the same account
  3. Use the Tailscale IP shown in POTACAT’s ECHOCAT panel (highlighted in green)
  4. No port forwarding or firewall changes needed — Tailscale creates an encrypted tunnel

Certificate Warning

ECHOCAT generates a self-signed TLS certificate that includes all your local and Tailscale IP addresses. Your browser will warn you the first time — accept the certificate and it will be remembered for future sessions. The certificate regenerates once per year.

Token Authentication

The 6-character hex token prevents unauthorized access. You can regenerate it at any time from the desktop settings. Share it only with people you want to grant radio access.

Settings Reference

SettingDefaultDescription
Enable ECHOCATOffStart the ECHOCAT server
Port7300HTTPS/WebSocket server port
Require TokenOnRequire token authentication
TokenAuto-generated6-character hex authentication token
PTT Safety Timeout180sAuto-drop PTT after this many seconds
Enable CW KeyerOffAllow CW keying from phone
CW Key PortNoneCOM port for hardware DTR keying
Audio InputNoneRX audio device (radio → phone)
Audio OutputNoneTX audio device (phone → radio)

Troubleshooting

Can’t reach the ECHOCAT URL:

  • Make sure ECHOCAT is enabled (green indicator in POTACAT’s connection bar)
  • Verify your phone is on the same network as the PC (or both are on Tailscale)
  • Check that the port (default 7300) isn’t blocked by your firewall

Certificate error won’t go away:

  • On iOS Safari, you may need to tap “Show Details” then “visit this website”
  • On Android Chrome, tap “Advanced” then “Proceed to [IP] (unsafe)”

No audio:

  • Tap the Audio button on the phone and allow microphone access
  • Check that the correct audio devices are selected in Settings > Radio
  • On iOS, make sure your phone isn’t on silent mode

PTT not working:

  • Verify your radio’s CAT connection is active (green dot in status bar)
  • Check the PTT safety timeout hasn’t expired (the phone will show a warning)
  • Tap the STOP button and try again

High latency / audio dropouts:

  • Use a 5 GHz Wi-Fi network instead of 2.4 GHz
  • If using Tailscale remotely, latency depends on your internet upload speed at the shack
  • Close other bandwidth-heavy applications

Phone disconnects when screen locks:

  • On iOS, keep the browser in the foreground while operating
  • The audio session helps keep the connection alive, so start audio before locking the screen
  • On Android, disable battery optimization for your browser

CW Keyer

POTACAT includes a built-in CW keyer for FlexRadio users with a MIDI paddle (e.g. HaliKey).

Setup:

  1. Enable CW Keyer in Settings → CW Keyer
  2. Select your Keyer Mode: Iambic B, Iambic A, or Straight key
  3. Set your Speed (WPM)
  4. Click Refresh to detect MIDI devices, then select yours
  5. Use the Learn buttons to map dit and dah MIDI notes from your paddle
  6. Enable Local sidetone and adjust pitch/volume

How it works: POTACAT reads MIDI paddle events via the Web MIDI API, runs an Iambic keyer state machine, and sends cw key commands directly to your FlexRadio via the SmartSDR TCP API. This preserves your exact fist timing — no buffering.

CW status: The CW pill in the status bar shows keyer state. Click it for a popover with volume and WPM controls. The sidetone requires one click anywhere in the app to unlock (browser audio policy).


Scan Mode

Click the Scan button in the toolbar or press Space to start scanning.

Scan automatically tunes through all visible (filtered) spots, dwelling on each for a configurable time (Settings → Tuning → Scan Dwell Time, default 7 seconds).

  • The current scan row is highlighted and auto-scrolled into view
  • Skip individual spots by checking the Skip column — scan will skip those frequencies
  • Press Space again to stop scanning

Keyboard Shortcuts

Press F1 to see this list in the app.

ShortcutAction
F1Show keyboard shortcuts
F2Open/focus QSO logbook
F5Check for updates
F11Show welcome/setup screen
SpaceStart / stop scan
SToggle split view (table + map)
Ctrl+LQuick log (unspotted QSO)
Ctrl+RQuick re-spot
Ctrl+MMulti-park dialog (activator mode)
Alt+RReload last contact (activator mode)
Ctrl+=Zoom in
Ctrl+-Zoom out
Ctrl+0Reset zoom
EscClose popover
EnterSave QSO (in log dialog)

Settings Reference

Open Settings from the toolbar dropdown → “Open Settings…” or from the welcome screen.

Community & Support

Website: potacat.com

Discord: Join the community at potacat.com/discord — get help, share your setup, request features, and chat with other POTACAT users.

Support development: If POTACAT helps you chase parks, consider supporting the project at buymeacoffee.com/potacat.

Report bugs: github.com/Waffleslop/POTACAT/issues

Author: Casey Stanton, K3SBP

License: MIT. Bundles Hamlib (GPL v2).