Learn

New to satellite watching? GP Passes teaches you inside the app, using your own satellites and your own sky. It has six short lessons, a guided first watch, a glossary, and a simpler way to show everything while you find your feet.A-51A-53A-56A-50

Plain or Detailed

The first time you open the app, it asks: "Have you watched satellites before?"A-50

You can change it any time in Settings, under Display.A-50

Plain Detailed
Satellite list ordered by next pass the order you choose; import your own files
Times to the minute, in everyday words to the second
Pass details rise, highest, set, the light, a rough length adds Doppler, and where the element set came from
Location your place adds grid square entry and the horizon mask
Settings Display, then Learn adds minimum elevation, saved frequencies and the data source
A satellite's screen "the orbit, the element set and the finer figures are in Detailed" the orbit tiles and the element set

A-57 Anything you set in Detailed still applies in Plain. Plain tells you when a filter set in Detailed is hiding passes.A-57

In Plain, the lessons and the glossary mark anything that only Detailed shows with "(in Detailed)".A-57

The six lessons

Each lesson is a few short pages, most with a picture made from your own data. Each ends with Try it now, which takes you to the screen it's about, and Mark as done.A-51 They're in Learn, which you reach from Settings or from "New to this? Start here". In Plain there's also a Start here card.A-55

  1. Seeing one with your eyes. Why satellites shine (they reflect sunlight), when to look, how to tell one from a plane, and how to measure height with your fist. Try it now opens the guided watch for the next pass you can see. A-51A-52
  2. What a satellite pass is. Rise, Highest and Set, and why most passes aren't worth going outside for, unless you listen with a radio.A-51
  3. Reading the sky view. The flat map of the dome above you, rings at 30° and 60°, the rise and set dots, the grey broken line of the Earth's shadow, and dragging along the curve to read any minute.A-51
  4. Why the times move: elements. What an element set is, why low satellites drift, the age chip, and why the app asks CelesTrak at most once every two hours.A-51A-16A-25
  5. What Doppler means. The siren effect, by radio. How big the shift is near 437 MHz, and how the Doppler card's table keeps you on frequency.A-51
  6. Hearing a satellite, and your first contact. Listening first, the licence you need to transmit, and how to make a short first contact through the ISS's repeater.A-51

The guided watch

Your first sighting, step by step, on one screen that changes with the clock. It's for a pass you can see.A-53

Your answer is kept nowhere.A-54 You open the guided watch from lesson 1's Try it now, or from "Watch this pass" on a pass a lesson opened.A-53

The glossary

27 words, from Alpha-5 to Twilight, each explained in a few plain sentences, searchable and sorted A to Z. The five you need first, Pass, Elevation, Azimuth, Can be seen and Doppler, are also in "What these mean", one tap from a pass.A-56

Alpha-5

A TLE has room for five digits, so numbers past 99,999 don't fit. Alpha-5 writes the first two digits as one letter: A is 10, so 100000 is A0000. It skips I and O, so letters can't be misread as 1 and 0. It reaches 339999. Space-Track uses it. CelesTrak doesn't, and serves larger numbers as OMM instead.

Azimuth (which way)

Which way to face. The app says it as a compass point (NNW is between north and north-west) and in degrees round from north: north is 0°, east 90°, south 180°, west 270°. These are true directions, as on a map.

Can be seen

You see a satellite the way you see the Moon: by sunlight on it. So it has to be in sunlight while your sky is dark, which is usually the few hours after dusk and before dawn: deeper into the night the Earth's shadow reaches up to a low satellite's height. "In the Earth's shadow" means the satellite is in the dark too, so there is nothing to see, even though it is overhead: a pass can fade out in mid-sky for that reason. A satellite in daylight is up there as well; the sky is just too bright. The app counts your sky dark once the sun is more than 6° below the horizon; "Twilight" means it is not yet. Whether a satellite is bright enough to pick out, the app does not know: the ISS is; most small satellites are not.

Catalog number

Every object in orbit gets a number when it's first tracked. The ISS is 25544. On 11 July 2026 the numbers passed 99,999, when the satellite Saramago became 100000. A satellite's screen shows its catalog number.

CelesTrak

A free, non-profit website that publishes element sets for satellites. The app asks it for new ones only when you tap Download from CelesTrak. The app asks at most once every two hours. Your location and your stars are never sent.

Designator

A satellite's launch label, like 1998-067A. The first part is the launch year. The middle is that year's launch number, and the letter marks one object from that launch. 1998-067A is the first piece of the ISS. US Space Command assigns these.

Doppler

As a satellite comes towards you its radio signal reaches you at a slightly higher frequency than it sends; as it goes away, lower. That is the Doppler shift, the same thing that changes the pitch of a passing siren. On the 2 m band (around 145 MHz) it is about 3 kHz either way, which an FM radio can mostly ignore; on 70 cm (around 435 MHz) about 9 or 10 kHz, which it cannot. The app's table gives the frequency to tune to at about ten times through the pass, so the signal does not drift away from you.

What to enter is the satellite's published frequency, in megahertz: its downlink to listen, its uplink to transmit, with Link set to match. Satellite operators publish them, and AMSAT, the amateur-satellite organisation, keeps a list of the FM satellites' frequencies.

Downlink is what the satellite sends and you listen to. Uplink is what you send up to it. The Doppler card lets you pick either under Link. For a downlink, the curve falls through the pass; for an uplink it rises.

Eccentricity

How stretched an orbit is. 0 is a perfect circle; numbers closer to 1 mean a long, thin oval. Most satellites you'll see are close to 0, so their height barely changes. It's one of the orbit tiles.

Element set

A short description of a satellite's orbit, measured at one moment. The app runs it forward to work out passes. The older it gets, the less exact the times become. After 3 days the app suggests newer ones; after 14 it says its passes are not reliable. The chip on a satellite's screen shows its age.

Elevation (how high)

How high above the horizon, in degrees. The horizon is 0°; straight overhead is 90°. A pass that gets to 15° stays low, behind houses and haze; one that gets to 60° or more passes high in the sky and is the easiest to see. NASA's sighting pages call a pass's highest point its "maximum height".

Epoch

The moment an element set describes. A satellite's age is counted from its epoch. "Epoch in 2 days" means the set is dated ahead. The further a time is from the epoch, the less exact it is.

Grid square (Maidenhead)

A short code for where you are, used by radio amateurs. Two letters and two digits, like FN31, cover an area 2° wide and 1° tall. You say it in a contact so others know where you are. You can set your location by grid square, under Location.

Height

How high a satellite is above the ground. Most orbits aren't perfect circles, so the height changes as it goes round. The tile shows its lowest and highest, about. The lowest point is called perigee and the highest apogee.

Horizon mask

Your real horizon is rarely flat. Hills, buildings and trees hide the lowest part of the sky. Under Location, Horizon mask lets you set a height for each of eight compass points. A pass then counts from where the satellite clears them, for your eyes and for a radio. The grey around the sky view's edge shows it.

In the Earth's shadow

A satellite shines only while sunlight reaches it. When it passes into the Earth's shadow, it goes dark, even straight overhead. The app marks that part of a pass with a broken grey line, "in shadow". The fade isn't exact to the second, so keep watching near that spot.

Inclination

The tilt of an orbit compared with the equator. It sets how far north and south a satellite travels. An orbit right above the equator has an inclination of 0°; one that runs from pole to pole has 90°. It's one of the orbit tiles.

LEO, MEO, GEO

Kinds of orbit, by height. Low Earth orbit (LEO) is closest; most satellites you can see are there. Medium Earth orbit (MEO) is higher, where navigation satellites fly. A geosynchronous orbit (GEO), about 36,000 km up, takes a day; one above the equator seems to stay still. A long oval is a highly eccentric orbit (HEO). A satellite's screen names its kind.

Minimum elevation

The lowest height a pass must reach to be listed. Set it in Settings, or for one satellite under Which passes. Raising it hides low passes that would sit behind houses and haze. Rise and Set are where a pass crosses this height. Reminders already set move with their passes, or go if a pass no longer gets this high.

OMM

Orbit Mean-Elements Message: a newer way of writing an element set, from the space agencies' standards body, CCSDS. It labels every value, and it has room for catalog numbers past five digits. CelesTrak's downloads are read as OMM. You can import OMM files too.

Pass

A pass is the time a satellite is above your horizon: it rises on one side of the sky, climbs, and sets on the other. For the ISS a pass lasts up to about ten minutes from horizon to horizon, and the part you can see with your eyes is usually shorter. Other satellites in low orbit stay up anywhere from a few minutes to half an hour, the higher they orbit the longer; one in a high orbit can be up for hours. The app lists each pass with when it rises, how high it gets, and when it sets.

Period

How long one trip round the Earth takes. The ISS's period is about 93 minutes, so it can pass over several times a day. Higher orbits have longer periods. It's one of the orbit tiles on a satellite's screen.

Rise, Highest, Set

Every pass has three moments. Rise is when the satellite comes up into your sky. Set is when it goes back down. Highest is the top of its climb, with its height and direction. Rise and Set are counted from your minimum elevation and your horizon mask. By default that's the true horizon. "Already up" or "Still up" means the pass begins or ends outside the times shown.

SGP4

The standard method for running an element set forward in time. It allows for the Earth's shape and the thin air at that height. For high orbits, it adds the pull of the Sun and Moon. It's what TLEs are made for. The app uses it, through the GPKit library, to work out every pass.

The two-hour rule

The app asks CelesTrak at most once every two hours, whether the last request was answered or not. It's CelesTrak's rule for fair use. If you tap too soon, you'll see "Not yet" and when you may ask again. Settings shows the same time under May ask again.

TLE

Two-line element set: an element set written as two lines of 69 characters each. Its catalog number has room for only five digits. You can import TLE files, and the element set card shows the two lines.

Twilight

The time after sunset and before sunrise when the sky still glows. The app counts the sky as dark once the sun is more than 6° below the horizon. Before that it says Twilight; with the sun up, it says Daylight. A pass is easiest to see in a dark sky.

A-56b


Go deeper: how the lessons were written

Sources

  1. A-51 The six lessons and their titles, in order. Source: Passes: PassesCore/Lessons.swift:13,84-135.
  2. A-53 The guided watch moves from Before to During to After; VoiceOver announces at most every 30 s. Source: Passes: GuidedWatch.swift:3-166.
  3. A-56 The glossary has 27 entries (list in the source). Source: Passes: PassesCore/Glossary.swift:36-78.
  4. A-50 Plain vs Detailed: the labels, the two notes, default Detailed, and the first-run question "Have you watched satellites before?". Source: Passes: DisplayMode.swift:9-21,47-55; ObserverLocation.swift:340-342.
  5. A-57 What Plain hides: sort, import, the grid square and horizon mask controls, Doppler, finer figures, the orbit and the element set. Source: Passes: SatelliteListView.swift:113-150; LocationView.swift:34-47,146-161; PassDetailView.swift:93-129; SettingsScreen.swift:26-31,76-107.
  6. A-55 "New to this? Start here" leads to Learn. Source: Passes: LearnScreen.swift:12; DisplayMode.swift:61-64.
  7. A-52 A fist at arm's length is about 10°. ISS FM repeater 145.990 up / 437.800 down, 67 Hz tone. A licence is needed to transmit. Source: Passes: Lessons.swift:84-90,127-135. The app cites its sources in docs/audit-2026-10/LEARNING.md §8.
  8. A-16 An element set's age is shown, and it is marked "not reliable" past two weeks. Source: Passes: PassesCore/Lessons.swift:107-116; README.md:65-70.
  9. A-25 At most one request every two hours. The attempt is counted before it is sent, and there are no retries. Source: Passes: Download.swift:146-161; DataSource.swift:98.
  10. A-54 The "Did you see it?" answer is kept nowhere. Source: Passes: GuidedWatchView.swift:22.
  11. A-59 The lessons' words are the owner's (LEARNING.md § 3), and every technical fact in the teaching text is checked against a source listed in LEARNING.md § 8; a test holds the app's text to that file. Source: Passes: Lessons.swift:3-9; docs/audit-2026-10/LEARNING.md:4-5,186,605.
  12. A-26 Nothing runs in the background: a build check fails on background-task, remote-notification or background-mode code, and on download callers outside the list screen. Source: Passes: tools/check-network.sh:36-39,66-71; the script calls itself "a search for names, not a proof" (:10-11).
  13. A-56b The glossary's 27 entries, quoted word for word: each from GP Passes 1.0's source, except Alpha-5, from 1.0.1's corrected text. Source: Passes: Modules/Sources/PassesCore/Glossary.swift at 3557f71 (1.0 (2), TESTFLIGHT.md:19), Alpha-5 at b5f5f76 (Glossary.swift:66, F2 on the 1.0.1 list); written to sites/passes/data/glossary.json by tools/passes_glossary.py, which reads both with git show and stops unless 3557f71 has 27 entries and the old Alpha-5 text, and b5f5f76 the corrected one.