Detailed Setup Guide¶
This guide walks you through essential first-time setup to get FBSAT59 working with your equipment.
Initial Setup Checklist¶
You must configure these before satellite tracking will work:
- Location (QTH) — Your latitude/longitude for accurate pass predictions
- Radio (optional) — If you have an amateur radio
- SDR (optional) — If you have a software-defined radio
Everything else is optional and can be configured later.
Step 1: Set Your Location (CRITICAL)¶
Accurate pass predictions depend on your observer location (QTH). You set it from the File menu → Set QTH….
On the very first launch, before any QTH is saved, FBSAT59 makes a rough city-level guess from your IP address (via ip-api.com) so the map isn't empty. That guess is never allowed to overwrite a QTH you set yourself — so open Set QTH… and enter your real location.
The Set QTH dialog¶
The dialog has two tabs — use whichever you prefer — plus a callsign field. Both tabs write the same location; the last one you edit before clicking OK wins.
Coordinates tab
- Latitude (°N) — decimal degrees; negative for the southern hemisphere
- Longitude (°E) — decimal degrees; negative for the western hemisphere
- Elevation (m) — type it in, or click Get Elevation to look it up online from the coordinates (it falls back to 0 m when offline)
Grid Locator tab
- Grid Locator — your 4- or 6-character Maidenhead locator (e.g.
PM95orPM95aq). The decoded latitude/longitude appears next to Decoded: - Elevation (m) — filled in automatically about a second after a valid locator is entered; you can still override it
To look up your locator: https://www.gridlocator.com/ or a "QTH Locator" phone app.
Callsign (optional) — stored for logging and digital-mode QSOs.
Click OK. The status bar then shows your QTH and pass predictions recalculate.
Step 2: (Optional) Connect Your Radio¶
Hamlib is built into FBSAT59, so it can control 700+ radio models for Doppler correction without any external software.

Two connection methods¶
FBSAT59 can reach a radio in one of two ways, chosen per rig under Connection Mode:
| Mode | What it does | Use it when |
|---|---|---|
| Direct (Hamlib built-in) | FBSAT59 drives the radio itself over its USB/serial CAT cable, using the Hamlib library compiled into the app. | The radio is wired straight into the computer running FBSAT59. This is the normal choice. |
| NET (rigctld compatible) | FBSAT59 connects over TCP to a running rigctld server, which owns the radio. |
A rigctld is already running (on this or another machine), or you want another program (WSJT-X, etc.) to share the radio at the same time. |
Open Rig Settings¶
Radio menu → Rig Settings… opens a dialog with tabs Rig 1, Rig 2, SDR Settings and Sound Card. Set up your main radio on the Rig 1 tab; only enable Rig 2 if you run a second radio (see Dual Radio Setup below).
Direct mode setup¶
- Connect the radio to the computer with its USB/CAT cable (install the radio's USB driver first if needed)
- Radio → Rig Settings… → Rig 1
- Connection Mode → Direct (Hamlib built-in)
- COM Port — click Scan, then pick the radio's port
(
COM3etc. on Windows,/dev/ttyUSB0on Linux,/dev/cu.*on macOS) - Baud Rate — match the radio's CAT speed; Test verifies it
- Rig Model — type in Search to filter, then select your exact model. For Icom radios, set CI-V Address if it differs from the default
- Click OK
NET mode setup¶
- Start
rigctldfor your radio on a machine you can reach - Radio → Rig Settings… → Rig 1
- Connection Mode → NET (rigctld compatible)
- Host —
localhost, or the IP / hostname of therigctldmachine - Port — the
rigctldport (default 4532; the Rig 2 tab defaults to 4533) - Click OK
Connect¶
Open the Radio Control tab and click Connect Rig 1 (the button is also on the Dashboard). When connected, the status bar shows RIG: 1 (or RIG: 1+2) and the button changes to Disconnect Rig 1 — or Retry if the connection failed.
Testing the connection¶
- Select a satellite from the left-hand list
- Open the Radio Control tab and choose a transponder
- During a pass, the downlink (and uplink) frequencies update about once a second as FBSAT59 applies Doppler correction
Troubleshooting¶
"Serial port not found"
- Windows: Install FTDI drivers → https://ftdichip.com/drivers/
- macOS: Restart FBSAT59 after connecting radio
- Linux: Check lsusb output for your radio
"Connection refused" - Some radios require baud rate change - Try different baud rates in Settings - Check radio manual for CAT configuration
Step 3: (Optional) Connect Your SDR¶
If you have a software-defined radio (RTL-SDR, HackRF, etc.):
Supported Devices¶
Which devices work depends on your operating system:
Linux / macOS — any SDR that has a SoapySDR driver, including:
- RTL-SDR (RTL2832U family)
- HackRF One / HackRF Jawbreaker
- Airspy R2 / Airspy Mini / Airspy HF+
- ADALM-PlutoSDR
- Other SoapySDR-supported radios (LimeSDR, SDRplay, USRP, etc.)
Windows — SoapySDR is fundamentally incompatible with the WinUSB driver, so for a locally connected SDR only these two are supported:
- RTL-SDR (RTL2832U family)
- HackRF One
Both need the WinUSB driver applied once with Zadig (never choose libusbK). Airspy, Airspy HF+ and PlutoSDR cannot be used over a local USB connection on Windows.
Remote SDR (any OS, including Windows) — an SDR on another machine reached over TCP/IP is supported on every platform, because the client side never touches USB. See Remote SDR below.
Setup¶
- Plug in the SDR (and apply the WinUSB driver with Zadig if you're on Windows).
- Radio → Rig Settings… → SDR Settings tab.
- Click Enumerate, pick your device, and assign it to Rig 1 or Rig 2.
- Set the sample rate, RF gain (Auto or a manual dB value), PPM correction and bias-T as needed. The Measure… button next to PPM measures clock drift automatically (not on Windows).
- Click OK.
- On the Radio Control tab, click Connect Rig 1 (or Rig 2). The status bar shows RIG: 1 and the SDR Control tab becomes active.
First SDR session¶
- Open the SDR Control tab (spectrum, waterfall, demodulator, IQ recorder).
- Select a satellite and a transponder — the demodulator mode follows the transponder.
- The waterfall should show the downlink; adjust gain so the noise floor isn't clipping.
- Start audio to listen, or record IQ for later.
Step 4: Location-Specific Adjustments¶
Rotator Alignment (Rotator Only)¶
FBSAT59 sends true azimuth/elevation to the rotator through Hamlib. There is no magnetic-declination setting — the rotator's own controller defines where "north" is, so align it to true north during its mechanical setup (or use the controller's built-in offset).
South Init (avoiding the north-crossing spin)¶
Most azimuth rotators can only travel 0°–360° and have a hard stop near north. When a pass crosses north — say the satellite moves from AZ 350° to AZ 010° — a north-stopped rotator can't step across the stop, so it unwinds the long way instead: a full ~360° rotation back through south. The pass is lost while the rotator spins, and the cable takes the strain.
South Init works around this. If you physically park the rotator facing south (180°) before a north-crossing pass and enable this option, FBSAT59 adds a 180° offset to every azimuth it sends. A pass that really crosses north (350° → 010°) is then sent to the rotator as a smooth move through its mid-travel point (170° → 190°), nowhere near the stop, so no unwind happens. Passes that cross south are the ones that would now spin, so use this only for passes whose track goes over your northern horizon.
To enable it:
- Park the rotator facing south (180°)
- Open the Radio Control tab
- Tick South Init (next to Connect Rotator)
FBSAT59 applies the 180° offset to everything it sends the rotator, while the radar display and the manual AZ/EL boxes keep showing true (real-world) bearings. The setting is remembered between sessions, so turn it back off for normal passes.
The rotator connection itself (COM port, baud rate, Hamlib rotator model, or
NET/rotctld host) is set in Radio → Rotator Settings….
Minimum Elevation¶
FBSAT59 drops passes that never rise above a minimum elevation (5° by default) so low passes hidden by trees or buildings don't clutter predictions:
- Passes tab → Group Pass → Min El: sets the threshold (0–90°) for group pass predictions.
- Single-satellite pass lists and Autotrack use the built-in 5° floor.
Display options
UTC vs local time, the World Map background, notifications and other preferences live in File → General Settings and the View menu — see Configuration.
Step 5: Testing Your Setup¶
Test 1: predictions¶
- Select a satellite in the left list.
- In the Upcoming Passes panel (bottom of the window), on the Target
tab, click a quick range (e.g.
+7d) then Search. - You should get a list of passes with AOS, TCA, LOS, max elevation, duration and a quality rating.
Test 2: real-time tracking¶
- Wait for a pass (or pick a satellite that's up now).
- On the Dashboard tab the map and radar update every second; the bottom strip shows live elevation / azimuth / range.
Test 3: Doppler¶
- During a pass, on the Radio Control tab, pick a transponder with a rig connected.
- The downlink frequency updates about once a second: above nominal near AOS, ≈0 shift at TCA, below nominal toward LOS.
Common Setup Mistakes¶
❌ Wrong Location¶
Symptom: Pass predictions are 30+ minutes off
Fix: - Double-check your coordinates (use GPS or web tool) - Remember: negative longitude for West, negative latitude for South - Example: New York is 40.7128°N, -74.0060°W (note the minus sign)
❌ Old TLE Data¶
Symptom: Satellite appears in wrong part of sky
Fix: - Satellite → Update TLE - Right-click the satellite → Satellite Info… to check its TLE epoch - Keep it under a day or two old
❌ Radio Not Responding to Frequency Changes¶
Symptom: Radio frequency doesn't update when selecting transponder
Fix: - Ensure radio is in USB/LSB or compatible mode (not FM) - Check radio CAT/CI-V is enabled - Verify baud rate matches radio settings - Try different port
❌ Doppler Shift Seems Wrong¶
Symptom: Frequency correction is too much or too little
Fix: - Your location might be slightly off (a few km is normal) - TLE data should be less than 24 hours old - Test with known satellite (ISS is best reference)
Advanced Setup (Optional)¶
Dual Radio Setup (Rig 1 + Rig 2)¶
For running an uplink radio and a downlink radio at once:
- Radio → Rig Settings…
- Configure the first radio on the Rig 1 tab
- On the Rig 2 tab, tick Enable Rig 2 and configure the second radio
- Click OK, then use Connect Rig 1 / Connect Rig 2 in the Radio Control tab — for example downlink on Rig 1, uplink on Rig 2
Remote SDR (SoapyRemote)¶
FBSAT59 can use an SDR that is physically connected to another machine (for example a receiver in a shed near the antennas) over a TCP/IP network. This works on Linux, macOS and Windows — the client side is a plain network connection and does not use USB.
On the remote machine (where the SDR is plugged in):
- Install SoapySDR, the matching device module, and
SoapySDRServer - Run
SoapySDRServer --bind(listens on TCP port55132by default)
In FBSAT59 (Radio → Rig Settings… → SDR Settings tab):
- Same LAN: the remote host is auto-discovered and appears in the device
list as a
remotedevice — just select it. - Across routers / VPN: click Add Remote Host…, then enter the host
(IP or name), port (default
55132), and optionally the real driver name (e.g.rtlsdr) and a display name. Select the saved entry and it is remembered for future launches.
You're All Set! 🎉¶
Next steps:
- Radio Control — Advanced radio features
- Communications — APRS, FT4, Q65
- Autotrack — Automatic pass tracking
- Wait for a satellite pass — Your first real-world test!
Getting Help¶
- In-app: Help menu has built-in guides
- FAQ: Troubleshooting Guide
- GitHub Issues: https://github.com/JF9SOM/fbsat59/issues
- Discord/Forum: (link to community)
Don't give up if something doesn't work immediately — Most issues are resolved with one small setting change!