FreqOut — User Manual

FreqOut is a UHF spectrum survey tool for production sound. You sweep a venue before deploying radio microphones, see what is already occupying the band, and pick clear frequencies with confidence. Get FreqOut on the App Store.

What you need

ItemPurpose
iPhone or iPad (iOS 17+)Runs the app
RTL-SDR dongle (e.g. NESDR SMArt v5)The receiver hardware
AntennaSupplied with most dongles; a half-wave whip is fine for surveys
A way to run rtl_tcpAny Mac, Windows PC, Linux machine, or Raspberry Pi on the same network

The app does not talk to the dongle directly — it connects to rtl_tcp, a lightweight server that streams raw IQ samples over the network. Anything that can run rtl_tcp and reach the iPhone or iPad over Wi-Fi works as a back end:

Back endHow to get rtl_tcp
Macbrew install librtlsdr or build from source
Raspberry Pisudo apt install rtl-sdr
Linux PC/laptopsudo apt install rtl-sdr (Debian/Ubuntu)
Windows PCDownload the Zadig rtl-sdr release; rtl_tcp.exe is included

In every case the server command is the same:

rtl_tcp -a 0.0.0.0 -p 1234 -b 4

Run it on whichever machine has the dongle plugged in, then point the app at that machine's IP address.

1. Quick start — Mac or PC + home/venue Wi-Fi

  1. Plug the dongle into your computer.
  2. Open a terminal (Mac/Linux) or Command Prompt (Windows) and run:
    rtl_tcp -a 0.0.0.0 -p 1234 -b 4
    You should see “Found Rafael Micro R820T tuner” and “Tuned to 100000000 Hz.”
  3. On your iPhone/iPad, join the same Wi-Fi network as the computer.
  4. Open FreqOut → ⚙ → Source: rtl_tcp, Host: the computer's LAN IP (on a Mac, find it in System Settings → Network), Port: 1234.
  5. Set your frequency range (e.g. 606–614 MHz for UK Ch 38) and tap Sweep.

Tip: Some rtl_tcp builds crash when the app disconnects. On a Mac or Linux machine, run it in a loop so it restarts by itself:

while true; do rtl_tcp -a 0.0.0.0 -p 1234 -b 4; sleep 1; done

2. Pi rig — portable, no computer, no venue Wi-Fi needed

The Pi rig is a Raspberry Pi with the dongle attached, broadcasting its own Wi-Fi hotspot. You power it from a USB battery pack and carry it to any venue.

[RTL-SDR] → USB → [Pi] → Wi-Fi hotspot "FreqOut" → iPhone/iPad

First-time setup

  1. Flash Raspberry Pi OS Lite (64-bit) to a microSD with Raspberry Pi Imager. Configure hostname freqout-pi, SSH, and your home Wi-Fi in the Imager settings so you can SSH in for setup.
  2. Boot, SSH in, then:
    sudo apt update && sudo apt install -y rtl-sdr
    echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-rtl.conf
    sudo reboot
  3. Create the systemd service so rtl_tcp starts on boot:
    sudo nano /etc/systemd/system/rtl-tcp.service
    Paste:
    [Unit]
    Description=rtl_tcp SDR server for FreqOut
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/rtl_tcp -a 0.0.0.0 -p 1234 -b 4
    Restart=always
    RestartSec=2
    
    [Install]
    WantedBy=multi-user.target
    Save (Ctrl+X, Y, Enter), then:
    sudo systemctl enable --now rtl-tcp
  4. Create the hotspot:
    sudo nmcli con add type wifi ifname wlan0 con-name FreqOutAP autoconnect yes ssid FreqOut mode ap
    sudo nmcli con modify FreqOutAP \
        802-11-wireless-security.key-mgmt wpa-psk \
        802-11-wireless-security.psk "freqout1" \
        ipv4.method shared ipv4.addresses 10.42.0.1/24
    sudo nmcli con modify FreqOutAP 802-11-wireless.band a 802-11-wireless.channel 36
    sudo nmcli con up FreqOutAP
    The Pi's Wi-Fi switches to the hotspot; SSH drops (expected). Choose your own password in place of freqout1 if you like.

Using the Pi rig at a venue

  1. Power the Pi from a USB battery pack; give it ~30 seconds to boot.
  2. The FreqOut Wi-Fi network appears when it is ready.
  3. On your iPhone/iPad: Settings → Wi-Fi → FreqOut (password freqout1).
  4. In the app: ⚙ → source rtl_tcp, host 10.42.0.1, port 1234.
  5. Sweep.

Pi maintenance (software updates etc.)

sudo nmcli con down FreqOutAP   # drops hotspot, Pi rejoins your home Wi-Fi
ssh pi@freqout-pi.local         # SSH in from your computer
sudo apt update && sudo apt upgrade -y
sudo nmcli con up FreqOutAP     # restore hotspot when done

3. Doing a sweep

Set the frequency range. For UK radio microphone work the key range is 606–614 MHz (TV Channel 38, covered by the Ofcom UK-wide PMSE shared licence). You can widen to 470–614 MHz for a full survey of the UHF mic band.

Tap Sweep. The app divides the range into 1.92 MHz segments, retunes the dongle through each, and stitches the results into a single trace. A Ch 38 sweep takes a few seconds; the full 470–1000 MHz range takes about two minutes.

Successive sweeps update a max-hold trace (amber) that keeps the highest reading seen in each bin across all passes. The live trace (cyan) shows the current pass. Between them you see both the instantaneous state and the worst-case occupancy since you started.

Reset max hold clears the amber trace and starts fresh — useful after you have moved position or switched antennas.

4. Reading the display

Spectrum view

The upper panel shows power in dBFS on the vertical axis and frequency on the horizontal axis.

ColourMeaning
CyanLive trace — current sweep pass
AmberMax-hold — highest level seen in each bin across all passes

Grid lines mark the per-band power thresholds. Frequency labels and band overlays (e.g. “Ch 38 UK shared licence”) appear automatically based on the UK band plan.

Zooming in. Pinch to zoom the spectrum horizontally; drag left or right to pan when zoomed. Double-tap the spectrum (or tap Fit in the status bar) to return to the full swept range. The waterfall zooms in lockstep. Zoom resets automatically whenever you run a new sweep.

A narrow spike is a classic analog FM wireless transmitter (Lectrosonics, Sennheiser G-series, etc.) — all the power in one or two bins.

A wide, flat-topped block is a digital wireless transmitter (Audio Ltd A10, Zaxcom, Shure Axient Digital, etc.) — power spread across ~200 kHz. The block reads ~20 dB lower per bin than an analog carrier of the same total power; this is normal and expected, not a weak signal. The app uses channel power (integrated over 200 kHz) to score all transmitters fairly, so a digital block is detected and ranked correctly regardless of how low its individual bins appear.

Waterfall

Below the spectrum, the waterfall shows time running downward — the most recent sweep is at the top, older sweeps scroll down. Colour encodes power: dark blue = quiet, cyan = moderate, yellow/orange = strong. A persistent vertical stripe is a continuous occupant; a brief flash is intermittent.

Band verdict chips

A row of chips below the waterfall shows one verdict per TV channel (and other key bands) in the swept range:

ColourMeaning
GreenClear — safe to use
AmberCaution — some activity, monitor carefully
RedBusy — occupied, avoid

The number on each chip is the peak power in dBFS for that channel. Verdicts use both per-bin peak and 200 kHz channel power, so digital transmitters flip a band to amber or red just as reliably as analog carriers.

Avoid list

Below the chips, Avoid: lists the specific frequencies of the strongest occupied regions, ranked by channel power. These are the frequencies to steer clear of when coordinating. FM-harmonic ghost images (tuner artefacts at multiples of local FM broadcast stations) are tagged (FM?) and should be verified before being relied upon.

Computer noise and the Weak list

Laptops, USB hubs, monitors and comms gear radiate narrow lines that a nearby receiver picks up just as the survey antenna does. In testing, a MacBook Pro put lines at 607.8, 608.5 and 613.8 MHz into a dongle plugged into its right-hand USB ports; the left-hand ports, or a hub 30 cm away, were clean.

From the next update, signals less than 15 dB above the noise floor are listed separately, in grey, as Weak — avoid if receivers sit near computers, so local noise doesn't crowd real transmitters out of the Avoid list.

5. Coordinating frequencies

The basic rule

Survey with your own transmitters switched off. You are measuring what is already in the band — other productions, permanent installations, DTT broadcast leakage. Your own rig is what you are trying to fit around everyone else.

Analog transmitters (Lectrosonics, Sennheiser G-series, etc.)

Narrow spikes on the spectrum. Require clean spectrum with no intermodulation products landing within ~150 kHz of your chosen channel. Standard coordination tools (FreqFinder, IAS) handle these well.

Digital transmitters (Audio Ltd A10, Zaxcom, Shure Axient Digital, etc.)

Wide flat-topped blocks ~200 kHz wide. Their receivers tolerate IM products landing on-channel — error correction absorbs them as extra noise. This means:

Mixed rigs (digital + analog)

Pack your digital channels on a tight uniform grid at one end of the band. Coordinate your analog channels in the remaining spectrum, checking IM products from all transmitters (digital + analog) against the analog receiver frequencies only. FreqFinder: enter only the analog channels; ignore warnings about products landing on digital frequencies.

UK Ch 38 (606–614 MHz)

The 8 MHz TV channel 38 is the primary UK PMSE allocation, covered by Ofcom's UK-wide shared licence. Up to ~10 channels fit in typical venue conditions. A practical mixed-rig starting plan (6× digital + 4× analog):

ChannelsFrequenciesNotes
Digital ×6606.6, 607.0, 607.4, 607.8, 608.2, 608.6 MHz400 kHz uniform grid
Analog ×2 (Lectro)611.3, 613.7 MHz100 kHz Lectro raster
Analog ×2 (G4)611.9, 613.0 MHz

This plan has been verified clean: worst-case 2T3O margin 300 kHz, 2T5O/3T3O margin 100 kHz against all four analog channels from all ten transmitters. Substitute frequencies as needed based on your sweep results.

6. Gain setting

The default tuner gain of about 21 dB suits a passive whip antenna in a typical venue. If you see signals approaching 0 dBFS (the top of the display), reduce gain in ⚙ — an overloaded front end raises the apparent noise floor and creates intermodulation products inside the dongle itself, making quiet spectrum look busier than it is. In a quiet venue, work up from there until the noise floor is stable and no wanted signals clip.

7. Demo mode

With source set to Demo, the app sweeps simulated signals. No hardware is required. Data displayed in demo mode carries a DEMO watermark.

8. Troubleshooting

SymptomLikely cause / fix
“No rtl_tcp server found”Server not running, wrong IP, or firewall blocking port 1234
Connected but no sweep / instant sweepStale samples in the buffer — disconnect and reconnect; the server may need restarting
Noise floor suddenly much higherTuner overload from strong nearby signals — reduce gain; switch transmitters off during survey
Analog carriers hard to see / digital blocks very wideGain too high — same fix
Lines that move or vanish when the dongle movesNoise from a nearby computer or hub — keep the antenna 30 cm away, try another USB port or a hub; survey from the receiver position with that kit running
FM? tags in avoid listTuner harmonic images of local FM stations — fit an FM band-stop filter on the antenna to eliminate at source
App shows DEMO watermarkSource picker is set to Demo — change to rtl_tcp in ⚙
Pi rig: can't SSH after enabling hotspotJoin the FreqOut Wi-Fi from your computer and SSH to 10.42.0.1, or run nmcli con down FreqOutAP on the Pi first

9. Limitations