When we look up at the night sky and spot a fast-moving dot of light, we often ask
ourselves: "Is that the International Space Station or China's Tiangong?"
Existing satellite trackers are either complex smartphone apps that ruin our night vision with bright backlights, or web services requiring constant internet connectivity. As stargazers and amateur radio (HAM) operators, we wanted a dedicated, tactile, pocket-sized gadget designed for the field—one that doesn't need a cellular network, survives on low power, and offers a premium visual experience.
SkyCompass Satellite is a standalone, offline, 3D spacecraft radar built on the M5Stack Cardputer. It tells you exactly when and where to look up to witness humanity's orbital outposts pass overhead.
Firmware has been released to M5Burner
- Orthographic 3D Projection: Renders a miniature 3D Earth spinning on the Cardputer's TFT screen, complete with orthographic camera coordinate mapping.
- True Starry Sky Dome: Features a celestial sphere background populated by the 25 brightest stars (like Sirius, Vega, and Betelgeuse) using real astronomical coordinates (RA/Dec). Powered by Greenwich Mean Sidereal Time (GMST), the stars rotate in perfect sync with the real night sky.
- Dynamic Dusk/Dawn City Lights: Renders city lights in the dark hemisphere to mock night/day transitions.
- Mathematical Point-Cloud: Features the 2000 brightest global light points extracted from NASA's VIIRS Black Marble dataset (with polar coordinate noise filtering). It renders dynamic nightlight fading smoothly at 30 FPS using inline-optimized mathematical projections.
- Visual Magnitude Prediction: Calculates satellite brightness (Magnitude) in real-time by analyzing the satellite's Radar Cross Section (RCS), solar phase angles, and observer distance.
- Pass Prediction: Determines Earth's shadow occlusion and elevation to rank and recommend the absolute best "Visible Windows" (AOS/LOS).
- Shows real-time uplink/downlink frequencies, tones, and modulation modes (e.g., ISS SSTV, NOAA APT) adjusted with dynamic Doppler shift calculations based on range rate. An ultimate companion for field satellite通联 (contacts) with handheld transceivers or SDRs.
- Cardputer lacks external PSRAM, making PNG compression prone to Out-Of-Memory (OOM) crashes.
- I resolved this by streaming raw RGB565 framebuffer segments directly via the Serial interface. A custom Python script runs on the PC to listen, isolate, and reconstruct these frames into perfect, lossless 24-bit BMP screenshots.
- Orbit Prediction: Powered by the SGP4 propagation model to calculate TEME vectors from standard TLE (Two-Line Element) parameters.
- Geodetic Conversion: Coordinates are converted to Geodetic latitude/longitude using a high-precision WGS84 ellipsoidal earth model with a 5-step iterative convergence algorithm.
- True Offline Survival: Incorporates a GNSS receiver to fetch geographical coordinates and synchronize RTC to UTC atomic time. Once a 3D Fix is secured, it sends deep sleep commands to the GPS hardware (e.g.,
$PCAS10,0*1C), saving precious battery life. TLE data is cached locally in LittleFS for up to 48 hours. - Force-Directed UI Labels: Implements a spring-mass physical repulsion model to dynamically push overlapping text labels away from each other on the tiny screen, ensuring clear legibility.









Comments