Celestron AUX Mount Simulator (Unified)
This project provides a high-fidelity simulator for telescope mounts using the Celestron AUX binary protocol. It is designed for testing INDI drivers and planetarium software without requiring physical hardware.
It unifies several previous versions into a single, maintainable Python package.
Features
- Protocol Support: Implementation of the Celestron AUX binary protocol (MC, HC, GPS, Focus, Power).
- Physical Model: Realistic simulation of motion with backlash, periodic error (PE), cone error, and non-perpendicularity.
- Atmospheric Refraction: Optional simulation of atmospheric refraction.
- Modern TUI: Interactive Text User Interface built with
Textual. - Web Console: 3D visualization of the mount using Three.js, including a schematic sky view.
- Stellarium Support: Built-in server for Stellarium telescope control protocol.
- Configurable: All parameters can be tuned via
config.toml.
Installation
Requires Python 3.11+.
Minimal (for basic testing)
pip install .
With TUI support
pip install .[tui]
With Web Console support
pip install .[web]
Usage
After installation, you can run the simulator using the caux-sim command:
# Headless mode (minimal dependencies)
caux-sim -t
# TUI mode (requires 'tui' extra)
caux-sim
# Web mode (requires 'web' extra)
caux-sim --web
# Enable debug logging to file
caux-sim --debug-log --debug-log-file my_debug.log
Command Line Arguments
-t,--text: Use headless mode (no TUI).-p PORT,--port PORT: AUX bus TCP port (default: 2000).-s,--stellarium: Enable Stellarium TCP server.--stellarium-port PORT: Stellarium TCP port (default: 10001).--web: Enable 3D Web Console (default: http://127.0.0.1:8080).--perfect: Disable all mechanical imperfections (backlash, PE, etc.).-d,--debug: Enable debug logging to console.--debug-log: Enable detailed debug logging to file.
Configuration
You can override default settings by creating a config.toml file in your current working directory, or by using the -c/--config command-line argument. The simulator loads config.default.toml from the package and then merges it with your specified or local config.toml.
Example config.toml:
[observer]
latitude = 50.0
longitude = 20.0
[logging]
level = "DEBUG"
file = "simulator.log"
Testing
The project includes a comprehensive test suite using pytest.
# Install development dependencies
pip install .[dev]
# Run tests
pytest
Integration Scanning
A scanner script is provided to verify the simulator's availability and protocol compliance by scanning the virtual bus.
# Start the simulator in one terminal
caux-sim
# Run the scanner
python3 tests/integration_scan.py
This will report all discovered devices (Motor Controllers, Hand Controller, GPS, etc.) and their firmware versions.
Architecture
The simulator consists of several components:
- NSE Telescope (
nse_telescope.py): The core physics and protocol engine. - NSE Simulator (
nse_simulator.py): The networking layer and CLI entry point. - NSE TUI (
nse_tui.py): The Textual-based terminal interface. - Web Console (
web_console.py): The FastAPI/Three.js based 3D visualization.
Supported Devices
The simulator emulates the following Celestron AUX devices:
- Main Board (0x01)
- Hand Controller (0x04)
- Azimuth Motor (0x10): Supports GOTO, SLEW, Sync, Cordwrap
- Altitude Motor (0x11): Supports GOTO, SLEW, Sync
- GPS (0xB0): Provides location and time data
- Battery (0xB6): Reports voltage and status
- Lights (0xBF): Control for mount lighting
Metadata
Release files for caux-simulator 0.2.33
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| caux_simulator-0.2.33.tar.gz | 53.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caux_simulator-0.2.33-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.8 kB
Release files / caux_simulator-0.2.33.tar.gz
| Download URL | caux_simulator-0.2.33.tar.gz |
|---|---|
| Size | 53.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e97380b4045ca14123784294b4d206b43b1830574cdbbd55b1a1e302dbcd3b5
|
|
BLAKE2b-256 checksum How to use checksums |
4138dbe7378ad265976f32b1992e168040c82904f42124a948672322885a99cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.
Transparency logRelease files / caux_simulator-0.2.33-py3-none-any.whl
| Download URL | caux_simulator-0.2.33-py3-none-any.whl |
|---|---|
| Size | 58.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
40dd2edd6f0428290c11e43c3d37edce716077f467435f839330ae6b7c7f714c
|
|
BLAKE2b-256 checksum How to use checksums |
0aeaeb5940500f0195e8c41d9c43bb4b4f36b47841fd1cf26159b1957f8c737f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.
Transparency logSecurity for caux-simulator 0.2.33
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for caux_simulator-0.2.33.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 30, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.