TCI Remote Compactor v1.4.0

The perfect companion for the TCI Remote app — use your amateur radio from anywhere in the world, from your smartphone, with full compression and zero router configuration.

Windows 10 / 11 ExpertSDR / Thetis TCI Protocol by ON7OFF — DecoSoap BV

Table of Contents

1. What is TCI Remote Compactor?

TCI Remote Compactor is a proxy server that sits between your TCI server (running Thetis, ExpertSDR, or a compatible SDR application) and the TCI Remote smartphone app. It solves two fundamental problems with remote SDR operation over mobile networks: excessive bandwidth consumption and complex network configuration.

Key Features

  • Bandwidth compression — reduces a direct TCI connection from ~1.9–2 Mbit/s down to ~0.8 Mbit/s, comparable to a WhatsApp voice call. Works even on slow 3G connections.
  • Zero-Config remote access — connect to your radio from anywhere in the world without opening router ports or configuring a VPN. Just a callsign and a PIN.
  • Three-level authentication — Master, TX, and RX passwords with different permissions. All traffic is encrypted with SSL.
  • Web Shortcuts tunneling — expose your local web interfaces (antenna rotator, amplifier, antenna switch) to the TCI Remote app without opening any ports.
  • Multiple server failover — configure up to three TCI servers with priority-based automatic failover.
  • Multi-user connections — several users can connect to the same radio simultaneously, with intercom between users.
  • Packet recovery & prioritization — ensures reliable audio and control data even on congested networks.
  • PTT / TUN / ATU watchdog v1.2 — automatically recovers stuck PTT and tune states.
  • Remote ATU control v1.2 — trigger your antenna tuner remotely via the TCI Remote app.
Note: You can use the TCI Remote app with a direct connection for free. The Compactor adds all the features listed above on top of the free experience.

2. System Requirements

ItemRequirement
Operating systemWindows 10 or Windows 11 (64-bit)
SDR softwareThetis, ExpertSDR, or any TCI-compatible server
Internet connectionRequired for Zero-Config remote access and license validation
Smartphone appTCI Remote for Android (version 3.0 or later)
Disk space~50 MB
PermissionsAdministrator rights required during installation

3. Installation

  1. Download the installer from the TCI Remote Compactor website.
  2. Double-click the TCI_Remote_Compactor_v1.4.0_Simplified_Setup.exe file to launch the installer.
  3. Follow the on-screen instructions. The installer will ask whether to create a Desktop shortcut and whether to start the Compactor automatically with Windows.
  4. If Windows Defender or your antivirus shows a warning, this is a false positive caused by the PyInstaller packager. The installer automatically adds a Windows Defender exclusion for the installation folder.
  5. After installation, launch TCI Remote Compactor from the Desktop shortcut or the Start menu.
  6. The Compactor runs in the system tray (near the clock). Right-click the tray icon to access the main window or quit.
Tip: If a previous version of TCI Remote Compactor is running, the installer will close it automatically before upgrading.

Uninstalling

Go to Settings → Apps in Windows, find "TCI Remote Compactor" and click Uninstall. During uninstall you will be asked whether to keep or delete your configuration (callsign, PIN, license key). Your configuration is stored in %APPDATA%\TCI Remote Compactor\.

4. Configuring Thetis (or your SDR software)

The Compactor connects to your SDR software over its TCI WebSocket interface. You need to configure your SDR software to listen on all network interfaces so the Compactor can reach it.

Thetis Setup

  1. Open Thetis and go to Setup → Network.
  2. Set the Bind IP to 0.0.0.0 and the TCI Port to 50001.
    This makes Thetis listen on all network cards, not just localhost.
  3. Click Apply and restart Thetis if required.
Important: If you set the bind IP to 0.0.0.0, the TCI port becomes accessible from other computers on your local network. Make sure the Compactor's passwords are set to something other than the defaults.

Default Port Configuration

ComponentDefault AddressNotes
Thetis TCI server127.0.0.1:50001Local machine — use 0.0.0.0 to listen on all interfaces
Compactor proxy port5002This is the port the TCI Remote app connects to (local/LAN)
Compactor → Thetis127.0.0.1:50001Pre-filled if both run on the same computer

5. Settings Tab

Open the main window and go to the Settings tab to configure the core proxy settings.

Compactor Port

This is the port on which the Compactor listens for incoming connections from the TCI Remote app. Default is 5002. Change this only if port 5002 conflicts with another application.

TCI Server (Thetis) Address

Enter the IP address and port of your TCI server. If Thetis runs on the same computer, use 127.0.0.1 and port 50001. If it runs on another machine on your network, enter that machine's local IP (e.g., 192.168.1.10:50001).

Passwords

See Section 6 — Authentication & Passwords for a full explanation of the three password levels.

Always change the default passwords before using the Compactor remotely.

Saving Settings

Click Save Settings after making any changes. The Compactor will automatically restart the proxy with the new configuration.

6. Authentication & Passwords

TCI Remote Compactor uses three password levels, each granting a different set of permissions. All connections are encrypted with SSL.

MASTER

Full Control

  • Transmit and receive
  • Configure the Compactor remotely from the app
  • Change settings, passwords, frequencies
  • Access all features
TX USER

Transmit & Receive

  • Full radio operation
  • Transmit and receive audio
  • Cannot change Compactor settings
RX USER

Receive Only

  • Listen and view panadapter
  • Cannot transmit
  • Cannot change settings
  • Ideal for guests or monitoring
Security: Change all three default passwords immediately after installation. Use strong, unique passwords for each level. Never share your Master password with anyone you don't fully trust.

7. Zero-Config Remote Access

Zero-Config remote access allows you to connect to your radio from anywhere in the world — without opening any router ports, without a VPN, and without a static IP address. The Compactor establishes a secure tunnel automatically.

How to Enable

  1. Go to the Zero Config Remote tab in the Compactor.
  2. Check Enable Zero-Config remote access.
  3. Enter your amateur radio callsign. This must match exactly what you registered when purchasing your license (including suffix, e.g., ON7OFF).
  4. Click Generate PIN. A 6-digit PIN will be created automatically.
  5. The Compactor will build the tunnel automatically. When the green status indicator appears, the tunnel is active.
Tip: Write down your callsign and PIN. You will need to enter them in the TCI Remote app every time you connect. The PIN is also shown in the Zero Config Remote tab at any time.

How it Works

When Zero-Config is enabled, the Compactor registers your callsign and a secure tunnel URL on our server. When you enter your callsign in the TCI Remote app, the app looks up the current tunnel URL and connects through it. The tunnel is rebuilt automatically if the connection drops.

Note: Zero-Config remote access requires an active internet connection on the computer running the Compactor. If the tunnel service is temporarily unavailable, a descriptive error message will appear in the log. Try restarting the Compactor or power-cycling your router if this persists.

Connecting from the TCI Remote App

  1. In the TCI Remote app, choose Zero Config Relay as the connection type.
  2. Enter your callsign (same as configured in the Compactor).
  3. Enter the 6-digit PIN shown in the Compactor.
  4. Enter the appropriate password (Master, TX, or RX — see Section 6).
  5. Tap Connect.

Once connected, the app will show the current bandwidth savings (e.g., "96.6% compression"). The Compactor's compression is particularly effective on slow connections and reduces mobile data consumption significantly.

Troubleshooting Zero-Config

  • Tunnel not building: Check your internet connection. Check that no outgoing firewall rules are blocking the tunnel service.
  • "context deadline exceeded" error: The tunnel service cannot be reached. Restart your router or wait a few minutes and try again.
  • Exit code 1: The tunnel service is unreachable. Check your internet connection and outgoing firewall rules.
  • Callsign mismatch: Make sure the callsign in the Compactor exactly matches the callsign you entered when purchasing your license.

8. Web Shortcuts (Remote Web Access)

Web Shortcuts allow you to access local web interfaces (such as an antenna rotator, power amplifier, or antenna switch controller) from the TCI Remote app, without opening any router ports.

Setting Up Web Shortcuts

  1. Go to the Web Shortcuts tab in the Compactor.
  2. For each shortcut, enter a Name/Label (shown in the app), IP address, and Port of the local web server.
  3. If the web interface requires authentication, enter the username and password.
  4. Check Enable for each shortcut you want to activate.
  5. Click Save. A tunnel is built for each enabled shortcut.
Important: If you enable a shortcut without filling in the IP address and port, it will be automatically disabled when you save. Both fields are required for a shortcut to be active.

Using Web Shortcuts in the App

Configured shortcuts appear in the TCI Remote app's menu. Tap a shortcut to open the web interface in the app's built-in browser. All traffic is tunneled securely through the Compactor — no ports need to be opened on your router.

Examples

DeviceTypical Local Address
Antenna rotator controller192.168.1.x:80
Remote antenna switch192.168.1.x:8080
Power amplifier web UI192.168.1.x:80
Network-controlled power supply192.168.1.x:8888

9. Multiple Server Failover

The Compactor supports up to three TCI servers (primary, secondary, and tertiary) with automatic priority-based failover. This is useful if you have multiple computers that can run your SDR software.

Example Setup

A common setup is:

  • Primary: Your main operating PC (desktop or laptop) running Thetis — high performance, not always on.
  • Secondary: A small always-on mini PC (e.g., Intel NUC or Raspberry Pi) running ExpertSDR as a fallback.

When your main PC is off, the Compactor automatically connects to the secondary server. When you turn on your main PC, the Compactor switches back automatically.

Auto Power-Off

If your secondary server is a Thetis instance on a mini PC, you can enable "Auto power off this server if main/secondary server comes online". When your main PC connects and becomes available, the Compactor automatically powers off the Thetis instance on the mini PC, freeing up resources. This allows your radio to always be available at low power cost while giving full performance when you're at the main station.

Multiple Network Interfaces

You can configure different IP addresses for the same physical machine (e.g., Ethernet and Wi-Fi). The Compactor can handle failover between interfaces on the same computer, ensuring the most reliable path to your TCI server is always used.

10. PTT / TUN / ATU Control v1.2

PTT Watchdog

The PTT (Push-To-Talk) watchdog is a safety feature that automatically monitors the transmit state of your radio. If a PTT command is lost due to a network interruption and the radio gets stuck in transmit mode, the watchdog detects this and sends a release command automatically. This prevents your transmitter from staying keyed indefinitely during a connection problem.

TUN (Tune) Watchdog

Similar to the PTT watchdog, the TUN watchdog monitors the tune (carrier) state. If a tune command is issued and the connection is interrupted before the release command is received, the watchdog will release the tune state automatically.

ATU (Antenna Tuner) Control v1.2

TCI Remote Compactor v1.2 adds remote ATU control. You can trigger your antenna tuner from the TCI Remote app, even over the Zero-Config tunnel. The ATU command is transmitted using the standard CAT command protocol compatible with most remotely-controlled antenna tuners.

Safety tip: The PTT and TUN watchdogs are always active when the Compactor is running. There is no configuration required. If the watchdog triggers, a warning will appear in the live log.

11. Multi-User Connections & Intercom

Multiple users can connect to the same TCI Remote Compactor instance simultaneously. Each user connects with their own password (Master, TX, or RX), giving them the appropriate level of access.

Intercom

Users connected to the same Compactor instance can talk to each other using the intercom feature in the TCI Remote app. This is useful for coordinating with another operator or club member who is monitoring the same radio.

Packet Recovery & Prioritization

The Compactor implements packet recovery and packet prioritization to ensure reliable audio and control data delivery even on congested or lossy mobile networks. Control commands (frequency, PTT, mode) are prioritized over audio data, ensuring responsive radio control even when bandwidth is limited.

12. System Dashboard

The System Dashboard tab provides a real-time overview of the Compactor's performance and diagnostics.

Live Statistics

The top section displays real-time statistics:

  • Data In / Out (TCI Server): The total amount of raw data received from and sent to your SDR software.
  • Data In / Out (Clients): The total amount of compressed data received from and sent to remote clients.
  • Saved Bandwidth: A live calculation of how much data the Compactor has saved you compared to a direct connection.

Live Log & Filtering

The bottom section shows real-time diagnostic output from the Compactor. It displays connection events, compression statistics, tunnel status, and any errors or warnings.

Log Filter

Use the filter dropdown to show only entries relevant to a specific topic (e.g., only tunnel events, only connection events). When you apply a filter:

  • The last 300 entries in the log history are scanned and any matching entries are displayed immediately.
  • Going forward, only new entries that match the filter are shown.
  • Select All to remove the filter and see everything.

Auto-Scroll

The log auto-scrolls to the latest entry by default. If you scroll up to review earlier entries, auto-scroll pauses. It resumes when you scroll back to the bottom.

Reading the Log

LevelMeaning
INFONormal operation events (connections, registrations, tunnel active)
WARNINGNon-critical issues (tunnel restart, fallback server used, PTT watchdog triggered)
ERRORSerious problems that may affect functionality
DEBUGDetailed internal events (shown when debug logging is enabled)

13. Radio Network — Share Your Radio

The Radio Network feature allows you to share your radio with other amateur radio operators when you're not using it. Your radio appears in the Radio Network directory inside the TCI Remote app, and visitors can connect for RX-only access.

✅ Key Benefits:
  • Headless & Transparent: When you use your radio locally or an operator connects with TX/Master rights, Radio Network guests are automatically downgraded to listen-only or disconnected based on your settings.
  • Automated Queue System: The first guest in the queue gets Full RX rights (can change frequency, mode, filters). Others are listen-only. When #1 disconnects, #2 is automatically promoted.
  • Local Activity Protection: After you use Thetis locally (PTT, frequency change), a cooldown period keeps guests in listen-only mode to prevent interruption.
  • Complete Control: Set max visitors, idle timeout, cooldown period, and choose whether to disconnect or downgrade guests when an operator connects.

How It Works

Radio Network operates on four access levels:

LevelDescription
MasterFull control including TX rights (station owner or authorized operator)
TXFull control including TX rights (operator)
RX FullCan change frequency, mode, filters — no TX (Radio Network user #1 in queue)
Listen OnlyCan only listen — no frequency/mode changes, no TX (Radio Network users #2, #3, etc.)

Guest Promotion & Demotion:

  • The first Radio Network guest automatically gets RX Full rights if no operator is connected and the cooldown period is not active.
  • All other guests are Listen Only.
  • When an operator connects (TX/Master), guests are either downgraded to Listen Only or disconnected based on your setting.
  • After local activity (PTT, frequency change in Thetis), guests are downgraded to Listen Only for the cooldown period (default: 30 minutes).
  • When #1 disconnects, #2 is automatically promoted to RX Full (if conditions allow).

Enabling Radio Network

1

Go to the Radio Network tab in the Compactor.

Check the box: "Publish my radio on the Radio Network"

2

Fill in a short Description (max 120 characters) — this appears in the Radio Network directory to help visitors understand what you're offering.

Example: ON7OFF - Dipole for 80 & 40m - 2el Quad 20m

3

Set Available from / to (GMT time). Use 00:00 to 00:00 for "always available".

4

Max simultaneous visitors: How many Radio Network guests can connect at once (1-10).

5

RX-Full idle timeout: Minutes of inactivity before the #1 guest (RX Full) is automatically disconnected (default: 30 minutes).

6

Local activity cooldown: Minutes after local PTT/frequency change before guests can get Full RX again (default: 30 minutes).

Recommended: 30 minutes is a good balance between protecting your local use and keeping the radio available for visitors.
7

Disconnect Radio Network visitors when operator connects:

  • Checked: Radio Network guests are disconnected when an operator (TX/Master) connects.
  • Unchecked: Radio Network guests are downgraded to Listen Only but remain connected.
8

Share Remote Web Shortcuts: Choose which of your configured web shortcuts (QRZ, PSKReporter, etc.) are visible to Radio Network visitors.

9

Click "Save Radio Network Settings". Your radio will be published to the Radio Network directory within 30 seconds.

Local Operator Mode

The "Lock my radio (Local Operator Mode)" button allows you to temporarily lock your radio so all Radio Network guests are downgraded to Listen Only, even #1 in the queue.

  • Use this when you want to operate locally but keep Radio Network guests connected as listeners.
  • Radio Network guests see a banner: "🔒 Station owner is using the radio locally"
  • Click the button again to unlock and allow #1 to get Full RX rights.

Monitoring Radio Network Status

The Radio Network tab shows real-time status:

  • Status: Not published — Radio Network is disabled or not yet registered.
  • Status: Published — 2/5 visitors | freq. 14,223.00 kHz — Currently published with 2 out of 5 max guests, showing current VFO frequency.
  • Operator active — Shows if a TX/Master operator is connected (Radio Network guests are downgraded or disconnected).
  • Local Operator Mode active — Shows if you locked the radio (all guests listen-only).
  • Thetis idle or cooldown timer — Shows time since last local activity or cooldown remaining.

In the Who's Connected tab, Radio Network guests are shown with their access level: [RX Full] or [Listen].

Read the Full Guide

For a detailed explanation of how Radio Network works, how the queue system manages promotion and demotion, and troubleshooting tips, click "📖 Read full guide — How Radio Network works" in the Radio Network tab.

⚠ Important: Radio Network requires Zero-Config Remote Access to be enabled. Your radio appears in the directory using your callsign and can be accessed through the tunnel service. Make sure your callsign is verified and you have a valid license before enabling Radio Network.

14. Wide Area Diversity (WAD) v1.3.4

Wide Area Diversity listens to the station you are working on your own radio and on public receivers from ubersdr.org at the same time, and puts whichever one hears it best into your audio. When conditions shift, it switches over by itself.

✅ There is nothing to configure here. WAD is switched on from the TCI Remote app, and the Compactor does all the work: it opens the remote receivers, keeps them on your frequency, measures them continuously and performs the switching. The app only shows you what it is doing.

What it needs

  • TCI Remote app v3.7 or newer, connected as Master or TX. WAD is for the operator.
  • An internet connection that reaches ubersdr.org. Those receivers are public and free; we do not run them and we cannot promise one will be available.

The threshold is signal-to-noise, not signal strength

The number you set in the app is a signal-to-noise ratio in dB. It is the difference between the station and the noise around it, which is the only figure that says whether you can actually read someone. An S9 signal on a noisy receiver is worth less than an S5 signal on a quiet one.

Signal-to-noiseWhat it sounds like
under 10 dBHard work. You catch words, not sentences.
15 – 20 dBComfortable. This is a good place to set it.
over 25 dBLoud and clear.

A receiver has to reach the threshold before WAD hands the audio over to it, and then keeps it until it falls about 4 dB below that number. Without that gap a signal sitting exactly on the line would make the audio flip back and forth. On a changing band expect it to switch a few times a minute.

Tuning

Turn the VFO and WAD retunes the remote receivers for you, once you have stopped turning. A receiver stays muted until it has confirmed the new frequency, so you never hear a moment of somebody else's QSO on the way. The mode follows your radio as well — change from LSB to USB and the receivers change with you.

LOCK has nothing to do with WAD. Up to v1.3.4.2 it did: WAD needed the VFO locked and stopped when the frequency moved. Since v1.3.4.3 you simply tune, and WAD follows.

Levels and the switch beep

Your own radio is always the first row in the list, and it is the reference. REMOTE VOLUME (±12 dB) moves every remote receiver together and deliberately leaves your own radio where it is, so a remote receiver can be matched to the level you are used to.

The short beep when WAD switches — two notes going up when it moves to a remote receiver, one lower note when it comes back home — is generated in the app, for you alone. It is never transmitted and never recorded.

⚠ WAD never transmits. A remote receiver is a receiver: you transmit on your own radio and nothing else. Transmitting pauses WAD and it picks up again on receive — paused, not stopped, so your slots on the remote receivers stay yours. Whatever they heard while you were transmitting is thrown away; that was your own signal, not the station you are working.
One operator at a time. WAD runs for the operator who switched it on. A second person listening to the same Compactor keeps hearing the radio itself, not the receiver WAD selected.
WAD and FreeDV cannot run together. FreeDV needs the radio's own receiver and its own audio path; switching one on stops the other.

15. FreeDV — Digital Voice v1.3.5

FreeDV is digital voice over your own radio, on the HF bands, using the open RADE waveform. Everything happens in the Compactor: it encodes your speech, it decodes what comes in, and it drives the neural network in a separate process so that nothing else it does can be held up by it. In the app you simply pick FreeDV from the mode list.

⚠ Thetis needs a TX profile named FreeDV. This is the one thing you have to prepare by hand, and it is the reason FreeDV refuses to start for most people the first time. The Compactor switches Thetis to a profile with that name when FreeDV goes on, and waits up to 15 seconds for the radio to confirm it. If there is no such profile, FreeDV gives up and tells you the radio did not confirm the profile.

Creating the FreeDV profile in Thetis

Start from the SSB profile you normally use, so that your microphone settings and audio routing come along, then change these and save it under a new name:

  1. Equalizer menu — set both the Receive Equalizer and the Transmit Equalizer to DISABLED.
  2. DSP → CFC — switch off CFC Enable, Post CFC EQ Enable and Phase Rotator.
  3. Transmit — switch off CESSB Overshoot Control. Leave "Restore PA profile from TX Profile" OFF: with it on, changing to FreeDV would also change the power calibration of your PA.
  4. Audio → VAC 1 — Enable VAC 1 off, "Allow PTT to override/bypass VAC for Phone" on.
  5. Main screen — switch DUP and PS-A on if you use PureSignal.
  6. Save the profile. In the pop-up, clear the existing name completely and type FreeDV. The orange "TX Profile modified" bar at the top right should disappear once it is saved.
Upper and lower case do not matter — freedv, FreeDV and FREEDV are all found. After saving, Thetis is on the FreeDV profile; switch back to your SSB profile before your next voice contact.
You do not have to set the transmit filter: the Compactor sets it to 0 – 2300 Hz itself every time FreeDV starts, and puts it back afterwards.
⚠ Reduce your power. FreeDV is a continuous-carrier digital mode, not SSB — the transmitter is at full output for the whole of every over. Set a power limit your amplifier and power supply can hold at 100% duty cycle, in Thetis under ADVANCED → Power limit, before your first transmission.

Sideband

FreeDV follows the ordinary SSB convention and the Compactor sets it for you: LSB below 10 MHz, USB above it, and USB on 60 m (5250 – 5450 kHz), which is USB by agreement and in several countries by law. This is not a matter of taste — transmitting in LSB while the other station listens in USB means you are not decoded at all.

Waveforms

Two waveforms are available, RADE V1 and RADE V2. V1 occupies roughly 700 – 2300 Hz, V2 is narrower at about 1072 – 1898 Hz. You can only change waveform while FreeDV is off: the choice is fixed the moment the engine starts, so switching it would mean killing and restarting the engine while the radio sits on the FreeDV profile. Switch FreeDV off, change the waveform, switch it back on.

Everyone listening in hears speech v1.3.5.1

When the operator switches the radio to FreeDV, Radio Network visitors and receive-only guests hear the decoded speech instead of the raw modem tone. A guest can also switch FreeDV listening on by themselves: that is receive only, so no command goes to the radio and nothing changes for the operator.

The station decodes once for everybody, so extra listeners cost almost nothing. The FreeDV Reporter window, the waveform, the comment and the callsign on the map belong to the operator; a guest cannot change them.

WAD and FreeDV cannot run together. Switching one on stops the other.

16. Live Translate v1.4.0

Live Translate puts your words on the air in somebody else's language. You press PTT and talk in your own language; the Compactor sends your voice to Google Gemini and transmits the translated voice. Everything is set up on the Live Translate tab of the Compactor.

⚠ Read this before you switch it on. A translation is not a transcript. The model can replace a sentence with a plausible but different one, phonetic alphabet words often become other words with the same first letter ("Foxtrot" comes out as "Florida" — the letter is right, so the callsign is still right, but it no longer sounds like the standard alphabet), and technical jargon is hit and miss. Listen to yourself, and tell the other station you are using a translator.

Your own Google Gemini API key

Live Translate runs on your key, which you create at aistudio.google.com/apikey and paste into the Compactor. Google bills you directly. We charge nothing for it, none of your audio passes through us, and you can revoke the key at any moment.

About 1.5 eurocent for a 25-second transmission at the rates of September 2026. What you have really spent can only be read on your own page at aistudio.google.com; there is a link to it on the tab. No API key can report its own bill, and discounts would make any figure we printed wrong.

⚠ The key is stored as plain text in compactor_config.json, in the same folder as the rest of your settings, exactly like the passwords on the Settings tab. Anyone who can read that folder can read the key. If that is not acceptable to you, do not use this feature.

What it sounds like on the air

The translation does not start instantly. Measured on real recordings, the first translated audio comes back about 3.2 seconds after you start speaking. During those seconds your own voice goes out, so the frequency is never left empty while you hold the key — an empty frequency invites another station to start transmitting on top of you.

The transmitter stays keyed until the translation has finished speaking. Releasing PTT does not cut it off: the last sentence is still on its way. Expect roughly one to one and a half seconds after you let go, and longer after a long over.

Tip: open with a filler word — "okay", "so", "euh" — and give the model a moment before you say the part that matters.

Your own voice under the translation

Three settings, and a change applies immediately, even in the middle of a transmission:

SettingWhat happens once the translation starts
Quiet underneathYour voice stays audible in the background for the whole transmission. This is how it worked before v1.4.0.
Far in the backgroundThe default. Much quieter, from the moment the translation first speaks. Under a translation loud enough to be understood, anything louder is a second voice the other station has to listen past.
Off once the translation startsYour voice goes out only until the translation begins, then stops. Cleanest for the other station, but he can no longer hear that you are the one on the microphone.
New in v1.4.0: a new installation starts on Far in the background instead of Quiet underneath. A choice you already made is kept.

PTT timing

Two numbers decide how far the transmitter is held open:

  • Minimum PTT hold — hold the PTT for less than this and the transmitter drops the moment you let go, exactly like plain SSB. The translator needs about three seconds before it says your first word, so anything shorter was a slip of the thumb, not a transmission. Set it to 0 to switch this off.
  • Extra tail — extra time after the translated voice has finished. Leave it at 0 unless you hear the last word being clipped. It can never hold the transmitter past the ceiling that ends every transmission anyway.

Daily limit and safety

The AI service charges by the minute for as long as a session is open, so Daily limit is what your transmitting costs. Sixty minutes is an hour of real transmitting in one day. When the limit is reached, Live Translate does not switch off and your transmission is not held back: the Compactor simply stops opening sessions, so you transmit as plain SSB and the app tells you why. The counter resets at 00:00 UTC. Set it to 0 to stop translating altogether.

The master operator can change the limit from the app as well, under Advanced in the Live Translate window, and see how many of today's minutes have gone. The field on this tab follows along; you do not have to press Save for that.

A session is also closed by the Compactor itself if the transmitter goes down without the app saying so, if no transmit audio arrives for twenty seconds while the PTT is still down, or if a session somehow stays open longer than any transmission can last. That watchdog cannot be switched off.

Translation context

The box at the bottom of the tab is what the translator is told before it hears you. Without it, it behaves like an interpreter at a meeting — which is exactly wrong for radio: it turns a callsign into an ordinary word, and drops a word you said twice as if it were a slip of the tongue.

Measured on one recording of "Oscar November seven Oscar Foxtrot Foxtrot", five runs each: with no context the model heard only one Foxtrot in 5 runs out of 5. With a context it heard both. The instruction changes what the model hears, not just how it translates.

There is a default text and a Reset to default button. Leave the box empty to send no instruction at all — that is how you compare the two on the air. A change applies from your next PTT and never interrupts a transmission.

Both languages the same is not refused, only pointless: nothing would be translated and the transmission would still be billed. The tab says so under the two lists.

17. RX Transcript v1.4.0

RX Transcript is the other direction: it writes down what you receive and translates it in the app, each listener in a language of their own choosing. It never touches the transmitter. It uses the same Gemini API key as Live Translate, so the received speech it sends to the AI service is charged to that key.

Only an operator with transmit rights can switch it on in the app. RX guests and Radio Network visitors can read along — and four readers in four languages do not cost four times as much.

Two engines

EngineWhat it doesRoughly
Standard
first words after about 3 seconds
Streams the speech to the same AI model as Live Translate and shows the text word by word while the station is still talking. On a weak signal or a strong accent it can write words that were never said, and garble callsigns. $2.00 per hour of listening for one reader, and about $0.50 more for every extra language — each language needs its own session.
Delayed translation
about 15 seconds behind
Best for SWL. Sends each transmission as a whole once it has ended, and checks a weak signal twice. More accurate, but you read it about 15 seconds later. $0.35 per hour of listening, and up to four languages cost no more than one.

A change takes effect when you save, also while RX Transcript is running: it switches off and on again for the same operator.

Daily limit

Only speech counts, not silence: the Compactor sends a transmission only when it hears a voice. A weak signal is sent twice, to check what was heard, and counts twice; so does a transmission the AI service is slow to answer. When the limit is reached, RX Transcript switches itself off until 00:00 UTC. Set it to 0 to switch it off completely.

Here too the master operator can change the limit from the app, in the RX Transcript window, and the field on the tab follows along without a Save.

Where you read it. In the app, a short tap puts the text in a ticker across the waterfall; holding it opens a window of its own. The language it actually heard is shown beside the text, so a wrong guess is visible rather than silent.
⚠ This is speech recognition on an HF signal. Fading, noise and a strong accent all cost accuracy, and a callsign is exactly the kind of word a language model is worst at. Read it as a help, not as a log.

18. Waterfall Painting

Waterfall painting draws your text into the waterfall of every station listening to you. It is transmitted as audio through the Compactor like any other transmission, so nothing has to be set up here — the panel is in the app, held open from the WF PAINT button.

⚠ It is not a data mode. A painting carries nothing a decoder can read. It is a picture of your text, made of tones, for human eyes on a waterfall. Do not use it where a mode is required to be identifiable, and identify yourself by voice or CW as your licence requires.

When the letters turn into a blob

The picture is about 2.4 kHz wide no matter how much you write, so the more characters you send, the narrower each one becomes. There are three cures, and the label under Font in the app tells you what span the current setting still survives:

  • Write less.
  • Pick the SMALL font: 3 columns by 5 rows per character instead of 5 by 7.
  • Let the receiving station zoom in. A painting that is unreadable at full band width is perfectly readable zoomed.

What happens on the air

The painting is sent after you release PTT, and the transmitter stays keyed until the last sample has actually gone out — not until the last sample was handed over, which is not the same thing and used to cut the bottom off the picture. While a painting goes out your microphone is off.

New in app v4.0: you now see your own painting on your own waterfall. It used to be invisible to the operator sending it, because both of the sources the waterfall draws from are silent while a painting is being transmitted.

19. TCI Remote Android App

TCI Remote Compactor works together with the TCI Remote app for Android. The app is free and available here:

▶ Get TCI Remote for Android (free)

Make sure you are running version 4.0 or later of the TCI Remote app to use all Compactor features. From this release the two version numbers name each other: Compactor v1.4.0 belongs with app v4.0, and the last two digits will keep running together. An older app still connects and everything you already had keeps working — the newest modes simply do not appear in it.

Connecting to the Compactor (Local Network)

  1. In the app, choose Direct connection.
  2. Enter the IP address of the computer running the Compactor and port 5002.
  3. Enter your Master, TX, or RX password.
  4. Tap Connect.

Connecting via Zero-Config (Remote)

  1. In the app, choose Zero Config Relay.
  2. Enter your callsign, PIN, and password.
  3. Tap Connect.

Once connected, the app displays the current frequency, transmit status, live panadapter, and compression statistics. Bandwidth savings of 60–97% are typical, depending on panadapter settings and network conditions.

Tip: Watch the video playlist on YouTube for a step-by-step walkthrough of the app configuration: TCI Remote App & Compactor — From Zero to Hero.

20. Licensing

TCI Remote Compactor is a paid application. Without an active license, the Compactor operates in trial mode with a connection time limit.

Purchasing a License

  1. In the Compactor, go to the License tab and click the link to open the purchase page.
  2. Purchase the license on the Gumroad page. Important: the callsign you enter during purchase must exactly match the callsign you configured in Zero-Config Remote Access.
  3. After purchase, you will receive a license key by email.
  4. Enter the license key in the License tab and click Activate.

License Terms

  • One license = one person, one station, one computer.
  • The license covers all v1.x versions (v1.0, v1.2, etc.) for two years from the date of purchase.
  • After two years, the software continues to work but no further updates or support are provided.
  • Version 2.0 (if released) will require a new license key.
  • Licenses are non-transferable. See the full EULA for details.

All Sales Final

Because the Software is a digital product delivered and activated immediately, all sales are final. By completing the purchase you waive your 14-day right of withdrawal in accordance with EU Directive 2011/83/EU.

21. Changing Your Registered Callsign v1.2

You may need to change your registered callsign in the following situations:

  • You received a new callsign due to a license upgrade.
  • You changed QTH and obtained a new callsign.
  • You became a licensed amateur radio operator (congratulations if you're joining from the CB band!).
  • You are temporarily operating from abroad under a different callsign.
Important: Callsign changes are logged and reviewed. Changing your callsign to pass the license to another person is strictly prohibited and will result in immediate license revocation.

How to Change Your Callsign

  1. Go to the License tab.
  2. Click the ? button next to "Change Registered Callsign" to read the full explanation.
  3. Click Change Callsign... and confirm the warning by clicking OK.
  4. Enter your new callsign and click OK.
  5. The Compactor updates your registration automatically. The Zero-Config remote callsign is also updated.
  6. Update the callsign in your TCI Remote app configuration to match the new callsign.

Limits

  • Maximum 2 callsign changes per calendar month.
  • All changes are logged and subject to manual review by DecoSoap BV.
  • DecoSoap BV reserves the right to refuse or reverse a callsign change if fraud is suspected.

22. Troubleshooting

The Compactor cannot connect to Thetis

  • Make sure Thetis is running and the TCI server is enabled.
  • Check that the bind IP in Thetis is set to 0.0.0.0 (not 127.0.0.1 or a specific interface).
  • Verify the TCI port in the Compactor matches the TCI port in Thetis (default 50001).
  • Check Windows Firewall: ensure Thetis is allowed to accept incoming connections on its TCI port.

The app cannot connect to the Compactor (local network)

  • Check that the Compactor is running and the correct port (default 5002) is configured.
  • Ensure the smartphone and the computer running the Compactor are on the same Wi-Fi network.
  • Check Windows Firewall: the Compactor may need a firewall exception for port 5002.
  • Try temporarily disabling the firewall to confirm it is the cause.

Zero-Config tunnel is not building

  • Check your internet connection on the computer running the Compactor.
  • Ensure outgoing connections are not blocked by a firewall or corporate proxy.
  • If you see "context deadline exceeded": the tunnel service cannot be reached. Power-cycle your router to get a new IP address, or wait up to one hour and try again.
  • If you see "exit code 1": the tunnel service is unreachable. Check your internet connection and outgoing firewall rules.
  • If the tunnel keeps restarting every few seconds, check the live log for specific error messages.

Windows Defender or antivirus blocks the application

  • The installer automatically adds a Windows Defender exclusion for the installation folder. If Defender was temporarily disabled during install, add the exclusion manually via Windows Security → Virus & threat protection → Manage settings → Add or remove exclusions.
  • For other antivirus products, add the Compactor installation folder to the exclusion list manually.

The application crashes or freezes

  • Check the live log for error messages before the crash.
  • Make sure you are running the latest version (check the About tab).
  • Post the log output in the Discord support channel.

Bandwidth is not being compressed

  • Make sure the TCI Remote app is connecting through the Compactor (port 5002), not directly to Thetis (port 50001).
  • The compression statistics are visible in the app after connecting — look for the "compression" percentage display.

23. Frequently Asked Questions

Can I use the Compactor without a license?

Yes, in trial mode. The trial has a connection time limit. Purchase a license to remove the limit.

Can I install the Compactor on more than one computer?

No. One license covers one computer. If you replace your computer, uninstall the Compactor from the old machine before installing it on the new one.

Does the Compactor work with SDR programs other than Thetis?

Yes — any SDR application that implements the TCI protocol should work, including ExpertSDR. Check the software's documentation for TCI server settings.

Do I need to open any ports on my router?

No. Zero-Config remote access and Web Shortcuts both use outgoing tunnel connections that do not require any port forwarding or router configuration.

Is the connection encrypted?

Yes. All connections between the TCI Remote app and the Compactor are encrypted with SSL. The Zero-Config tunnel adds an additional layer of encryption.

What happens if the internet goes down while I'm connected?

The connection will drop. The PTT and TUN watchdogs will release any stuck transmit states automatically. The tunnel will rebuild itself when internet connectivity is restored.

Can several people connect to the same radio at the same time?

Yes, multi-user connections are supported. Each user connects with their own password. Users can talk to each other via the intercom feature.

What does the "auto power off" option do?

When enabled on a secondary or tertiary server, the Compactor will automatically shut down that server's Thetis instance when the higher-priority server comes online. This avoids running multiple Thetis instances simultaneously.

Can I use the Compactor with a VPN?

Yes. If you already have a VPN, you can use the Compactor in direct mode without Zero-Config. If you use Zero-Config, a VPN is not needed — the tunnel handles secure connectivity.

My callsign changed — what do I do?

Use the Change Callsign feature in the License tab. See Section 15 for step-by-step instructions.

24. Support

Technical support for TCI Remote Compactor is provided exclusively through the official Discord support channel:

💬 Join the Discord support channel

When posting a support question, please include:

  • Your operating system version (e.g., Windows 11 Home 23H2)
  • TCI Remote Compactor version (shown in the About tab)
  • SDR software name and version
  • A description of the problem
  • Relevant lines from the live log (use the log filter to narrow down the relevant section)
Note: Support is provided on a best-effort basis during the two-year license term. DecoSoap BV does not provide support via email, telephone, or social media.

Useful Links

© DecoSoap BV  ·  VAT BE0457088150  ·  Borrestraat 37, 3090 Overijse, Belgium
TCI Remote Compactor v1.4.0  ·  by ON7OFF  ·  73 & 7F