The Nyx project introduces a new protocol stack, backward-compatible with INDI 1.7 (and indiserver), for controlling scientific hardware.
It enhances INDI by supporting multiple independent nodes, each embedding its own protocol stack. Nodes communicate using JSON over MQTT for slow control, and through a dedicated streaming system for real-time visualization. An alternative INDI compatibility mode, based on XML over TCP, is also supported. This architecture provides flexibility and scalability for distributed systems. The core library is written in C11 and targets POSIX, Windows, Arduino and Python environments. Its low footprint makes Nyx suitable for deployment on microcontrollers such as ESP32, Cortex-M, …
The Nyx project also includes Nyx Lab, an integrated desktop and web interface for controlling Nyx and INDI devices through an addon-based design.
With Nyx Lab, control your devices locally or remotely. Alternatively, use any existing INDI-compliant client.
Design your drivers efficiently with Nyx Assistant (visual designer) and Nyx Gen (code generator).
Comprehensive documentation is provided for the protocol, the core library, as well as usage examples.