Show HN: Sidereon: GNSS and Astrodynamics (Python, Rust, JavaScript, C, Elixir)
15 hours ago (sidereon.dev)
I’ve been building Sidereon, an MIT-licensed GNSS positioning and astrodynamics engine.
The submission is a browser demo running the Rust core client-side through WASM. Source for this:
https://github.com/neilberkman/sidereon
The idea is one engine for both the receiver and spacecraft sides: SPP/RTK/PPP, RINEX/RTCM/NTRIP, Galileo HAS/SSR, GNSS/INS fusion, SGP4 and numerical propagation, orbit determination, conjunction screening, pass prediction, reference frames, and time systems. Python, Rust, JavaScript/WASM, C, and Elixir all use the same core.
Several features came directly from open issues in widely used GNSS and astrodynamics libraries: multi-constellation ARAIM, Galileo state-space corrections, station-displacement corrections, sidereal multipath filtering, and track cleanup without an IMU.
Tests compare results with RTKLIB, the 33-satellite Vallado/CelesTrak SGP4 verification corpus, pinned Skyfield frame vectors, Karney’s test set, and the published WG-C ARAIM example. The Vallado corpus and Skyfield vectors match at 0 ULP.
The language-specific interfaces are here:
Python: https://github.com/neilberkman/sidereon-python
JavaScript/WASM: https://github.com/neilberkman/sidereon-wasm
C: https://github.com/neilberkman/sidereon-c
Elixir: https://github.com/neilberkman/sidereon-ex
Much of the code was written with AI coding agents, with me very much in the loop.
I'd really appreciate any feedback!
No comments yet
Contribute on Hacker News ↗