Karabo (software)

Karabo is an open source SCADA (supervisory control and data acquisition) framework developed at the European X-ray Free Electron Laser facility since 2010. The framework can be used to build a distributed control system, in which concrete functionality such as hardware control, or a command sequence, is implemented in form of so-called devices. Devices may be implemented in Python or C++.

Similar to systems like EPICS and TANGO, Karabo is developed chiefly with control of large scientific infrastructure and experiments in mind. The system emphasises fully asynchronous, and event driven distributed messaging via a central message broker (AMQP/RabbitMQ). Developers can additionally leverage tightly integrated peer-to-peer (P2P) TCP channels to transfer large data volumes at rates of multiple gigabytes per second. A standalone graphical user interface (GUI) client application, which can be used to design and view synaptic views of the distributed system, is provided alongside the framework.

At the European XFEL, Karabo is used to operate the photon systems and experiment end stations (instruments)   of the facility. In 2023, the EuXFEL control system integrated 3.5 million control parameters distributed over 25,000 devices on ca. 100 physical servers. Additionally, the facility's scientific data acquisition system, and online detector calibration pipelines are implemented in Karabo, and process data rates of approximately 20Gbyte/s.

Karabo is free and open source software under the MPL2 (framework) and GPL3 (GUI application) licenses.