// autonomous satellite reception

Weather satellites.
Decoded headlessly.
Notified everywhere.

MeshSat is a config-driven pipeline that runs on a Raspberry Pi — receiving METEOR-M2 imagery, decoding it, uploading results, and pushing notifications over LoRa mesh, TAK, ntfy, MQTT, APRS, Winlink, and more. No manual intervention required.

Setup guide → View on GitHub install.sh ↓

One-line install: bash <(curl -fsSL https://raw.githubusercontent.com/IngeniiImperator/MeshSat/main/scripts/install.sh)

RTL-SDR + QFH SatDump live CADU decode rclone upload Meshtastic+ TAK CoT+ ntfy+ MQTT+ APRS+ Winlink+ Apprise
// what it does

Everything runs automatically

📡
TLE prediction
Downloads and filters Celestrak TLE data. Skyfield computes exact AOS, LOS, and peak elevation for every upcoming pass.
🛰
Systemd scheduling
One .service and .timer generated per pass. A refresh timer keeps predictions current. Zero cron, zero manual triggers.
🖼
SatDump decode
Records LRPT from METEOR-M2 3 and 4. Decodes MSU-MR imagery automatically after each pass with configurable quality gates.
Cloud upload
rclone pushes results to Dropbox, Google Drive, S3 or any configured remote. Creates a shareable link automatically.
📊
Reception analytics
Logs SNR, BER, Viterbi state, and elevation per sample into a structured JSON file per pass. SQLite DB optional.
🔔
Multi-channel notify
Email, LoRa mesh, TAK CoT, ntfy push, MQTT, and Apprise — enable any combination, all non-fatal and independently configurable.
// notification stack

Notify however you want

Every channel is optional and independently switchable in config.ini. All failures are non-fatal — the pipeline always completes.

Meshtastic LoRa RF
TAK / CoT situational
ntfy push
MQTT IoT
Apprise 100+ services
APRS VHF RF
Winlink radio email
Email (msmtp) smtp
// quick start

One script. Fully guided.

Run on a fresh Raspberry Pi OS Lite 64-bit install. The script handles everything interactively.

bash <(curl -fsSL https://raw.githubusercontent.com/IngeniiImperator/MeshSat/main/scripts/install.sh)

Or clone and run locally: git clone https://github.com/IngeniiImperator/MeshSat && bash MeshSat/scripts/install.sh

For the complete step-by-step walkthrough, see the tutorial →

Built on the shoulders of

satpi by Andreas Horvath SatDump Airspy Mini Uputronics Meshtastic meshmap.net Cyberpony Express FreeTAK ntfy Apprise Mosquitto Celestrak TLE Skyfield rclone msmtp Dire Wolf pat Winlink MeshAdv-Pi HAT