// acknowledgements

Credits & attributions

MeshSat is a fork and extension of the satpi project by Andreas Horvath, adding multi-channel notifications. Every component listed here is open-source — please support their authors.

// upstream foundation
satpi
Upstream project — core pipeline
The complete autonomous satellite reception pipeline: TLE download, Skyfield pass prediction, systemd scheduling, SatDump integration, rclone upload, msmtp notifications. MeshSat is a direct fork adding additional notification channels.
github.com/HorvathAndreas/satpi ↗
SatDump
Satellite data decoder and live receiver
The engine that performs live LRPT reception from METEOR-M2 3 and 4, then decodes the CADU data into MSU-MR imagery. Without SatDump there are no images to share.
github.com/SatDump/SatDump ↗
// notification integrations
Meshtastic
LoRa mesh networking — off-grid push
Open-source LoRa mesh firmware and protocol. meshtasticd provides the Linux-native daemon; the Python library enables programmatic message sending from satpi scripts.
meshtastic.org ↗
MeshAdv-Pi Hat
Raspberry Pi LoRa HAT hardware
1 W SPI LoRa HAT by Chris Myers (chrismyers2000) — the tested, recommended hardware for running meshtasticd on a Raspberry Pi 4/5. Assembled units sold via FrequencyLabs on Etsy.
GitHub ↗
FreeTAKServer
TAK server — situational awareness
Open-source implementation of the Team Awareness Kit (TAK) server protocol. Enables MeshSat to send Cursor-on-Target (CoT) events to ATAK, WinTAK, and iTAK clients.
FreeTAK docs ↗
ntfy
Self-hosted push notifications
Simple, open-source push notification service. MeshSat uses a single HTTP PUT to broadcast pass results to any subscribed phone — self-hosted or via ntfy.sh public server.
ntfy.sh ↗
Apprise
Universal notification library
A single Python library that speaks to 100+ notification services — Telegram, Discord, Slack, Signal, Pushover, Gotify, and more. One API call, any mix of services.
github.com/caronc/apprise ↗
Eclipse Mosquitto
MQTT broker
The reference MQTT broker. MeshSat publishes structured pass result JSON to a Mosquitto topic after each decode, enabling Home Assistant, Node-RED, and Grafana integration.
mosquitto.org ↗
paho-mqtt
MQTT Python client library
Eclipse Paho MQTT client — used by notify_mqtt.py to publish pass results. The single-call publish API makes broker integration trivial.
GitHub ↗
msmtp
SMTP mail sender
Lightweight, sendmail-compatible SMTP client. Used by the upstream satpi email notification to deliver pass summaries via Gmail or any SMTP provider.
marlam.de/msmtp ↗
// core dependencies
Skyfield
Orbital mechanics and pass prediction
Python library for high-precision astronomical computations. MeshSat uses Skyfield to compute AOS, LOS, peak elevation, and azimuth from TLE data and observer coordinates.
rhodesmill.org/skyfield ↗
Celestrak
TLE data source
The authoritative public source for Two-Line Element orbital data. MeshSat downloads and filters Celestrak weather satellite TLEs to keep pass predictions accurate.
celestrak.org ↗
rclone
Cloud storage sync
Multi-cloud sync tool supporting Dropbox, Google Drive, S3, and 40+ other providers. MeshSat uses rclone to upload pass results and generate shareable links.
rclone.org ↗
Airspy
SDR hardware — recommended receiver
The Airspy Mini is the recommended SDR for MeshSat — 12-bit ADC, 80+ dB dynamic range, no IQ imbalance or DC spike. Manufactured by Itead Studio. SatDump supports it natively.
airspy.com ↗
Uputronics
LNA and SAW filter hardware — recommended preamp
The Uputronics 137.5 MHz Filtered Preamp uses an LNA-first architecture (correct Friis order) with a MiniCircuits PSA4-5043+ and 0.75 dB noise figure. Built in the UK. The recommended LNA for MeshSat.
store.uputronics.com ↗
RTL-SDR Blog
SDR hardware — budget receiver option
The RTL-SDR Blog V3/V4 with 1 PPM TCXO and software-switchable bias-tee is a solid starting point and budget option. The rtl-sdr.com team maintain the driver and documentation.
rtl-sdr.com ↗
Nooelec SAWbird+
LNA and SAW filter — budget preamp option
The SAWbird+ NOAA provides 30 dB gain at 137.5 MHz and is a capable budget LNA. Note: uses a filter-first architecture which increases the system noise figure versus the recommended Uputronics unit.
nooelec.com ↗
Dire Wolf
Software TNC — APRS and packet radio
Dire Wolf by WB2OSZ is a software soundcard TNC that provides AGWPE and KISS TCP interfaces. MeshSat uses it to transmit APRS status packets and Winlink AX.25 packet sessions over the Baofeng UV-5R via the AIOC cable.
github.com/wb2osz/direwolf ↗
pat
Winlink client — off-grid email over radio
pat by LA5NTA is an open-source cross-platform Winlink client with a web interface and CLI. MeshSat uses pat's send command with AX.25 transport via Dire Wolf to deliver formatted pass result emails to Winlink addresses over VHF packet radio.
getpat.io ↗
KM6LYW Radio
UV-5R + AIOC ham radio data hotspot build
The UV-5R + AIOC + DigiPi portable ham radio data transceiver build by KM6LYW Radio, popularised by Hackaday in October 2025, is the hardware reference for MeshSat's APRS and Winlink integration. MeshSat adapts this concept directly onto the main Pi using Dire Wolf and pat rather than a separate Pi Zero 2W.
youtube — KM6LYW build video ↗
AIOC — All-In-One Cable
USB audio + PTT interface for ham radio
The AIOC by Simon Küppers (skuep) is a USB sound card and PTT controller in a single cable that plugs into the Baofeng UV-5R's K1 connector. It appears to Dire Wolf as a CM108-class audio device with native hardware PTT — no soldering, no modification to the radio required.
github.com/skuep/AIOC ↗
Data Slayer
Wi-Fi HaLow MANET build reference
The $106.23 military-grade IP mesh router build by Data Slayer — Raspberry Pi 4 + Wi-Fi HaLow 802.11ah + OpenWRT — is the reference design for MeshSat's MANET networking layer. Supports ATAK, MAVLink over IP, live video streaming, and Starlink bridging. Source of the HaLow vs LoRa comparison and MANET configuration guidance.
youtube — Data Slayer build video ↗
Raspberry Pi Foundation
Hardware platform
The Raspberry Pi 4 and 5 single-board computers are the target platform for MeshSat. The Foundation's Raspberry Pi OS Lite (64-bit) is the recommended operating system.
raspberrypi.com ↗
Cyberpony Express / High Desert Institute
Meshtastic hardware community research
The Cyberpony Express Meshtastic Workshop series by the High Desert Institute produced the hardware build list and community insights that informed MeshSat's Meshtastic node recommendations — including the Heltec V3 drone relay, T-Deck Plus handheld, and RAK WisBlock options.
cyberpony express build list ↗
Meshtastic community
Global mesh network · meshmap.net
The global Meshtastic community operating meshmap.net, site.meshtastic.org, and the distributed ISM-band mesh network that MeshSat broadcasts satellite pass notifications over. No ham licence required.
meshmap.net ↗
Licence note: MeshSat is an independent fork of satpi and is provided as-is for educational and experimental use. All third-party projects listed above retain their original licences. TAK, ATAK, and related marks are property of their respective owners. Andreas Horvath's satpi project remains the upstream reference implementation — please consider contributing improvements back upstream.