Source-available building automation controls. Hardware-agnostic control engines, web tools for Sedona and SkySpark, and AI tooling for the people who keep buildings running.
Project Sandstar is run by Kum Yıldızı Derneği (Sandstar Association), a non-profit based in Fethiye, Türkiye. The association exists to develop and spread open, flexible, and sustainable solutions for building automation and IoT, so that controllers from different manufacturers can work together without vendor lock-in.
Our stack sits on two open standards:
- Sedona Framework for portable, component-based control logic that runs on small embedded hardware.
- Project Haystack for semantic tagging so data from any device means the same thing everywhere.
The engine is open source. The applications built on top of it ship under the Project Sandstar Source-Available License (PSSL v1.1): free on unlimited devices when the data comes from Sandstar controllers, with a commercial arrangement for data from other systems.
| Repository | What it is | Stack |
|---|---|---|
| Sandstar_Rust | The Sandstar Engine: a pure-Rust IoT/HVAC control engine for BeagleBone. Channel-based I/O, PID loops and sequencers, BACnet/IP and MQTT drivers, Haystack REST + WebSocket APIs, and an in-process Sedona VM with zero C/FFI. Live in production. | Rust · ARM · BACnet · MQTT · Haystack |
| AxonMcpServer | An MCP (Model Context Protocol) server that indexes Axon code and docs for SkySpark, so AI assistants can discover HVAC sequences, fault-detection sparks, energy reports and workflows. Includes a VS Code extension and a dashboard. | TypeScript · MCP · SkySpark · Axon |
| FantomMcpServer | An MCP server that indexes an entire Fantom / Haxall / SkySpark codebase so AI assistants can search it by meaning, walk its call graph and answer questions with citations to the file and line. Parses Axon with a real tree-sitter grammar and ships 22 more language grammars, so the rest of the stack is indexed too. Pairs with AxonMcpServer, which talks to the live instance. | TypeScript · MCP · Fantom · LanceDB · tree-sitter |
| SideCar | A GPU orchestrator agent for LLM workloads. Run it on a machine with a GPU and let remote apps use it for embeddings, completions, OCR and reranking, with honest VRAM accounting and no silent CPU fallback. | TypeScript · Ollama · vLLM · Docker |
| mcp-proxy | A reconnecting proxy for MCP servers. Fronts any number of HTTP and stdio MCP servers behind a single port and holds the upstream connections itself, so when one restarts the client's session survives instead of dying with a "session not found" that fires no close event. | JavaScript · Node · MCP · PM2 |
Web tools such as the Sandstar Web Editor, Sandstar Web Socket and Sandstar Port Manager are described on the projects page.
- Use it. Start with the wiki for docs, tutorials and training material.
- Contribute. Open an issue or pull request on any repository above.
- Join. Personal and corporate memberships fund the association and unlock training, the community forum and priority support.
- Talk to us. Use the contact form or the community forum.