SatStation

Ground station control, right from your browser.

SatStation drives an AZ/EL antenna positioner and an Icom IC-9700 transceiver for amateur satellite work — SGP4 pass prediction, live tracking, and real-time Doppler correction, with no desktop install and no build step.

SatStation Operations window showing target tracking, AZ/EL chart, rotator and radio control

Features

SGP4 Pass Prediction

Full SGP4 propagation against CelesTrak's active-satellite catalog, reporting AOS/LOS, max elevation, and orbit number for every pass in your window — filtered to the satellites you actually care about.

Automated AZ/EL Tracking

Drives a BLE-connected AZ/EL positioner through an entire pass automatically — prepositioning, AOS start, waypoint refill mid-pass, and stow at LOS — with no operator babysitting required.

IC-9700 CAT & Doppler

CAT control over the radio's own USB port sets Main/Sub frequency and mode, and continuously pushes Doppler-corrected uplink/downlink frequencies while tracking, with passband offset and TX trim for inverting transponders.

Sun & Moon Tracking

Live az/el for the Sun and Moon using a Meeus-algorithm implementation with topocentric parallax correction — handy fixed targets for antenna calibration and field tests.

Your Satellite Database

A curated, hand-vetted database of active amateur satellites and transmitters ships in the box, and you can add or correct entries locally without waiting on an upstream update.

Runs Anywhere on Your LAN

One headless backend, any number of browser windows or tabs sharing the same live hardware state — open the Operations window on your shack PC and a status view on your phone at the same time.

Screenshots

Select Target dialog listing upcoming passes with a satellite selection checklist
Select Target — upcoming passes, sorted chronologically, with a full satellite picker.
Select Target Mode dialog listing a satellite's transmitters with RX/TX frequencies and modes
Select Target Mode — pick the transponder to operate on for the active pass.
Station Setup window showing ground station location, rotator, and radio configuration
Station Setup — ground station location, rotator, and radio configuration in one place.
Your Satellites card for adding or correcting satellite and transmitter entries
Your Satellites — add or correct satellite/transmitter entries without waiting on an upstream update.
SatStation Operations window in light theme
Light theme, if the dark shack look isn't your thing.

Architecture

SatStation is a headless Rust backend (satstation-server, built on Axum) paired with a plain HTML/CSS/JS frontend — no bundler, no npm, no build step. The frontend talks to the backend over one WebSocket per browser window, using a small request/response and push-event protocol.

  • satstation-core — SGP4/TLE math, IC-9700 radio control, and the AZ/EL positioner's BLE protocol client. No knowledge of the web server or a browser.
  • satstation-server — serves the frontend as static files and exposes satstation-core over a WebSocket RPC/ event API. One shared application state, so every connected window sees the same hardware and mission state.
  • Binds to 127.0.0.1 by default — deliberately not 0.0.0.0 — since this is direct, unauthenticated control of real RF hardware.

Status

Verified against real hardware: orbit propagation and pass prediction, BLE positioner control (connect, query, jog, home, live pass tracking through a full LOS), and IC-9700 CAT control (frequency/mode on Main and Sub, satellite mode, continuous Doppler push).

Still in progress: the flip-mode decision for auto-tracking passes that cross the mount's zenith limit, GPS-based ground station input, and the IC-9700's satellite Normal/Reverse tracking-direction setting.

Downloads

Windows

satstation-server 0.3.2 · x86_64 · MSI installer · 4.1 MB

Installs SatStation as a regular Windows application. Launch it from the Start menu; it opens the Operations window in your default browser.

Download .msi

Ubuntu 26.04

satstation-server 0.3.2-1 · amd64 · .deb package · 2.9 MB

Install with sudo apt install ./satstation-server_0.3.2-1_amd64.deb, then run satstation-server from a terminal or the applications menu.

Download .deb

Either package prints a URL (http://127.0.0.1:7878 by default) to open in a browser — override the port with SATSTATION_PORT and the bind address with SATSTATION_BIND. Source isn't public yet; it's headed toward an open-source release once it's further along.