Satellites

Phase 1/6 (10%)

← Back to Projects

Current Status

2026-02-16 – Completed 01-01-PLAN.md


Concept

A terminal-based satellite tracker that plots real-time satellite positions on a world map, predicts passes over your location, and displays transmission frequencies from SatNOGS. Built with Rust, ratatui, and the SGP4 orbital propagation algorithm.

Quick Facts

   
Status Phase 1/6 (10%)
Language N/A
Started 2026

Current Status

2026-02-16 – Completed 01-01-PLAN.md


What This Does

Fetches Two-Line Element (TLE) orbital data from CelesTrak, propagates satellite positions in real time using SGP4, and renders them on a terminal canvas world map. Select a satellite to see its orbital parameters, upcoming passes with rise/set times, and transmitter frequencies from the SatNOGS database.

TUI Layout

┌──────────────────────────────────────────────────┐
              World Map (Canvas)                     ~40%
  [satellite dots]  [observer ]  [labels]        
├──────────────────────────┬───────────────────────┤
  Satellite Table           Detail Panel           ~55%
  Name | El | Az | Freq     Orbit info           
  ISS    45   NW  145.8     Transmitters list    
  SO-50  12   SE  436.8     Next pass timeline   
├──────────────────────────┴───────────────────────┤
 London 51.5°N 0.1°W  14:23 UTC  12 sats  q/? 
└──────────────────────────────────────────────────┘

Key Features

Data Sources

Satellite Groups

15 CelesTrak groups available, switchable with g:

Group Description
active All active satellites (~1000) — default
stations Space stations (ISS, Tiangong)
amateur Amateur radio satellites
weather / noaa / goes Weather satellites
starlink / oneweb Mega-constellations
geo Geostationary satellites
science / military / cubesat Specialized groups

Coordinate Pipeline

TLE data flows through a multi-stage transformation:

TLE  SGP4 (ECI position/velocity)
     ECEF rotation (Earth-fixed frame)
     Geodetic (lat/lon/alt for map plotting)
     AER (azimuth/elevation/range from observer)

Pass prediction propagates at 60-second intervals over 24 hours, detects elevation zero-crossings, then binary-searches to ~1 second accuracy for AOS/LOS times.

Development Roadmap

Tech Stack

Current Status

2026-02-16 – Completed 01-01-PLAN.md


← Back to Projects