Migrating from STK Cloud: Free Alternatives for Link Budget and Orbit Analysis
Ansys is sunsetting STK Cloud in March 2026. Here are the free open-source replacements for the two things it did best — ITU-R link budgets and orbital pass prediction.
Contents
- What's happening
- The two things STK Cloud did best
- Replacement #1: Link budget
- What to preserve when you migrate
- Built-in cubesat presets
- For programmatic access
- Replacement #2: Orbit propagation and pass prediction
- Quick passes for a known satellite
- Full SGP4 scripting
- What STK Cloud did that free tools don't replicate
- The 2026 migration checklist
What's happening
Ansys announced that STK Cloud will be sunset on December 31, 2025, with paid subscriptions winding down through March 1, 2026. If you've been using STK Cloud for link budget or orbit propagation work — especially on a startup budget where a full desktop STK license isn't practical — you need a migration plan.
The good news: STK Cloud's two most-used capabilities have solid free replacements. You just have to split them across two tools, because the monolithic "everything in one browser tab" model was part of what STK Cloud charged for.
Here's how to reproduce what you were doing.
The two things STK Cloud did best
- Link budget with ITU-R propagation models — rain fade, gaseous absorption, cloud attenuation, scintillation, Monte Carlo over uncertainty.
- Orbit propagation — SGP4/TLE-driven pass schedules, elevation timelines, Doppler curves, slant range vs. time.
STK Cloud coupled these so you could click a satellite, click a ground station, and get both a full link budget and a pass schedule in the same view. Desktop STK still does this. If you don't want to pay for a desktop seat, you'll split the workflow.
Replacement #1: Link budget
Use the rftools.io Satellite Link Budget Analyzer. It implements the same ITU-R recommendations STK uses under the hood:
- P.618-13 — rain attenuation for Earth-space slant paths
- P.676-13 — gaseous absorption (O2 + H2O, Annex 2 approximation)
- P.840-8 — cloud attenuation (liquid water path approximation)
- P.838-3 — specific rain attenuation coefficients
- P.530-18 — terrestrial multipath fading
It adds something STK Cloud didn't do well: Monte Carlo confidence bands over EIRP, G/T, pointing loss, rain rate, and scintillation uncertainties. The p5/p50/p95 margin curves are more useful than a single-point nominal budget for design reviews.
What to preserve when you migrate
If you're moving scenarios out of STK Cloud, capture these inputs — they map 1:1 to rftools:
| STK Cloud field | rftools input |
|---|---|
| Transmitter EIRP (dBW) | EIRP (dBW) |
| Receiver G/T | G/T (dB/K) |
| Frequency | Frequency (GHz) |
| Slant range (or orbit altitude) | Path Distance (km) |
| Elevation angle | Elevation Angle (°) |
| Rain zone / station latitude | Site Latitude |
| Modulation + code rate | Modulation + Required Eb/N0 |
| Symbol/data rate | Data Rate (bps) |
| Target availability | Target Availability (%) |
Built-in cubesat presets
The tool ships with presets that match the scenarios most STK Cloud cubesat users ran:
- Amateur CubeSat (UHF, AMSAT/SatNOGS) — 437 MHz, 9600 baud BPSK, omni dipole ground
- LoRa IoT CubeSat (sub-GHz ISM) — 868 MHz, low-power LPWAN
- LEO S-band telemetry (TT&C) — 2.25 GHz, QPSK 2 Mbps
- LEO X-band EO payload downlink — 8.2 GHz, 150 Mbps 8-PSK
- GEO Broadcast (Ku-band) — 12.5 GHz QPSK
- LEO Ka-band HTS user terminal — 20 GHz 16-QAM
- 5G NTN S-band (3GPP Rel-17)
- Terrestrial Microwave backhaul — 6 GHz, 99.99% availability
Load a preset, tweak one or two parameters, copy the scenario URL, send to the review. That's the entire STK Cloud link-budget workflow in about 30 seconds.
For programmatic access
If you need to script link-budget sweeps (parameter studies, sensitivity analysis, CI integration), use ITU-Rpy directly. It's the open-source reference implementation of the ITU-R recommendations and is validated against the ITU's own test vectors. Our backend aligns with it — you can use both interchangeably.
import itur
import itur.models as m
# Ka-band, 35° elevation, temperate maritime
f_ghz = 20.0
el = 35.0
lat = 51.5 # London
p = 0.01 # 0.01% of the year
R_001 = m.itu837.rainfall_rate(lat, 0.0, p=p)
A_rain = itur.atmospheric_attenuation_slant_path(
lat=lat, lon=0.0, f=f_ghz * itur.u.GHz, el=el,
p=p, D=0.6 * itur.u.m, hs=0 * itur.u.km,
)
print(f"Total slant-path attenuation: {A_rain:.2f}")
Replacement #2: Orbit propagation and pass prediction
For SGP4-driven pass schedules, Doppler curves, and slant-range timelines, you have two tiers:
Quick passes for a known satellite
Use our Satellite Pass Predictor. It pulls live data from the N2YO TLE catalog for 25 curated amateur/weather/APRS satellites, computes slant range, FSPL, Doppler shift, and atmospheric loss per pass. This replaces STK Cloud's "click-a-satellite, show-me-the-next-passes" UX for the most common cubesat use cases.
Full SGP4 scripting
For anything else — custom TLEs, arbitrary epochs, long-horizon planning, constellation analysis — use Skyfield in Python:
from skyfield.api import load, wgs84
ts = load.timescale()
sats = load.tle_file('https://celestrak.org/NORAD/elements/gp.php?GROUP=active&FORMAT=tle')
isoss = {s.name: s for s in sats}
iss = isoss['ISS (ZARYA)']
# Ground station in Boulder, CO
gs = wgs84.latlon(40.0150, -105.2705, 1624)
t0 = ts.utc(2026, 4, 29)
t1 = ts.utc(2026, 4, 30)
t, events = iss.find_events(gs, t0, t1, altitude_degrees=10.0)
for ti, ev in zip(t, events):
print(ti.utc_iso(), ['rise', 'culminate', 'set'][ev])
Skyfield is the most widely-used open-source successor to the old PyEphem/python-sgp4 chain. It's what actual operational cubesat teams use for ground-station scheduling. NASA's GMAT (General Mission Analysis Tool) is the heavier open-source alternative for mission design — free, but complex.
What STK Cloud did that free tools don't replicate
To set expectations honestly:
- 3D visualization — STK's 3D viewer is unmatched in the free ecosystem. Cesium.js + Celestrak TLEs can get you 80% of the way for presentation purposes, but nothing matches STK's native rendering.
- Integrated reporting — STK's scenario report generator is a single-click PDF. You'll assemble your report from the CSV export + Skyfield output yourself.
- Conjunction analysis — if you were using STK Cloud for debris/collision screening, you'll need a different tool (SOCRATES, or commercial conjunction services like LeoLabs or ExoAnalytic).
- RF interference modeling — STK's Comm/Radar modules include ITU-R noise temperature models. The free equivalent is ITU-Rpy plus manual calculation.
For the 80% case — routine link-budget trades and pass schedules for a handful of satellites — the free stack is actually cleaner once you have the workflow set up. For the 20% case of heavy multi-satellite, constellation-scale, or visualization-heavy work, you'll be paying for a desktop STK license or evaluating GMAT.
The 2026 migration checklist
- Before March 1, 2026: export all your saved scenarios from STK Cloud as CSV or PDF.
- Re-enter the most-used scenarios into the rftools Link Budget Analyzer and use Copy scenario URL to bookmark them.
- For orbit work: install Skyfield (
pip install skyfield) and build a small script that loads your satellite's current TLE and computes passes for your ground stations. - For integrated workflows: consider whether GMAT or a desktop STK seat is worth the complexity for your team.
- Document your new stack in your team's design-review template — replace the STK screenshots with rftools scenario URLs + Skyfield notebook links.
The sunset date is firm. Start migration now while you still have overlapping access.
Related Articles
Scripting Satellite Link Budgets with ITU-Rpy (Python Examples)
STK-free link-budget automation: sweep frequency, rain availability, and elevation in pure Python using the ITU-Rpy reference implementation of P.618/P.676/P.840. Companion to the rftools Satellite Link Budget Analyzer.
Apr 30, 2026
Satellite CommunicationsBuilding a Ground-Station Pass Schedule with Skyfield
Ansys STK sunset-ready: compute SGP4 pass predictions for your amateur-radio or cubesat ground station using Skyfield. Full Python walkthrough with TLE fetch, elevation masks, Doppler, and iCalendar export.
Apr 30, 2026
Satellite CommunicationsSizing a 9600-baud UHF Downlink for a 3U CubeSat: Full Walkthrough
End-to-end link budget for an amateur-band 3U cubesat: EIRP, ground-station G/T, ITU-R propagation losses, and Monte Carlo availability. Uses the Amateur CubeSat preset.
Apr 29, 2026