Show HN: Sidereon: GNSS and Astrodynamics (Python, Rust, JavaScript, C, Elixir)

One reference-validated GNSS and astrodynamics engine. A Rust core with first-class interfaces in Rust, Python, C, Elixir, and WebAssembly.
2 points by nberkman 94 days ago sidereon.dev 0 comments
Summary not yet generated for this article.

Original Text

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!

Comments (0 of ) ⌛

Loading more comments... ⌛
Scroll down to load more comments
No comments available.
Type to search HN and engineering blog articles
Press Escape to close  |  ↑↓ to navigate  |  Enter to open