TALOS - Tracking, Acquisition, and Link Operation System¶
Distributed Satellite Ground Station Network Controller
The Problem¶
Satellite ground stations operate as isolated, manually configured systems with no coordination between sites. Operators must independently compute tracking parameters, manage hardware, and schedule observations -- making multi-station campaigns impractical and leaving most antenna time idle.
The Solution¶
TALOS is a centralized real-time fleet controller that runs a continuous SGP4 physics engine, computes Doppler-corrected pointing and tuning commands at 2 Hz, and pushes them to any number of ground stations simultaneously over MQTT. New stations self-register in seconds with zero manual configuration.
Key Differentiators¶
-
Multi-station, multi-satellite coordination. The only open-source ground station network with real-time centralized control of geographically distributed stations from a single physics engine -- with support for concurrent multi-satellite tracking across different stations.
-
Organization-grade access control. Multi-organization support with membership management and role-based access control (owner, operator, viewer), enabling team-based ground station operations.
-
Campaign-based scheduling. Replace manual single-mission activation with campaign-driven workflows: target a satellite, assign stations with time windows, and track campaign lifecycle from draft through completion.
-
Real-time Doppler correction. Continuous frequency compensation computed centrally and delivered to each station's radio, enabling coherent signal reception across the fleet.
-
Instant provisioning. Ground stations announce themselves over MQTT and receive configuration automatically. Deploying a new station requires only a Raspberry Pi, an antenna, and a network connection.
-
Magic Find sky scanning. Search 8,000+ satellite orbits in milliseconds to identify unknown signals -- a capability not available in any comparable system.
Architecture¶
Dashboard -----> Core API -----> PostgreSQL
|
v
MQTT Broker <---> Director (SGP4 + Doppler + Campaigns)
|
v
Agent (RPi) -----> rotctld/rigctld -----> Antenna + Radio
Stack: Python, FastAPI, PostgreSQL, Mosquitto MQTT, Skyfield, Hamlib, Docker Compose
Current Status¶
- Monorepo with five components: Core API, Director, Agent, Shared Libraries, Operations
- Multi-campaign tracking with per-station assignments and concurrent multi-satellite support
- Organization model with membership management and role-based access control (owner, operator, viewer)
- Campaign lifecycle management (draft, active, completed) with org-scoped API endpoints
- SGP4 propagation at 2 Hz with pass prediction and Doppler correction
- Live mission control dashboard with multi-satellite visualization and color-coded tracking
- Org-scoped MQTT topics for clean traffic partitioning
- Alembic-managed database migrations
- Pydantic v2 data contracts for all MQTT payloads
- MQTT authentication enabled; signed session cookies; secrets externalized
- CI/CD pipeline with linting, type checking, and multi-tier test suite
- Seven published architecture research reports covering security, scalability, standards, and v0.2 strategy
What's Next¶
| Priority | Initiative | Impact |
|---|---|---|
| 1 | Constraint-based scheduling (OR-Tools) | Auto-assign stations to campaigns based on pass windows and priorities |
| 2 | CCSDS compliance (OMM, TDM) | Standard data interchange with professional networks |
| 3 | CesiumJS 3D visualization | Orbital view with coverage cones and ground tracks |
| 4 | SatNOGS coexistence layer | Run real-time and scheduled missions on same hardware |
Get Involved¶
TALOS is open source under the GNU Affero General Public License v3.0.
Repository: gitlab.com/pierros/talos
See the Development Guide for setup instructions and contribution workflow.