Skip to content

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

sidereon.dev
3 pointsnberkmandiscuss
On HN

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

No comments yet.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.