# What is MSCB?

Physics experiments need to control equipment commonly grouped under *slow
control*: high-voltage supplies, temperatures, pressures, power rails, relays,
and similar quantities. General-purpose interfaces such as IEEE-488 and
RS-232 can do this, while full industrial field buses can require substantial
integration effort.

The Midas Slow Control Bus (MSCB) was originally developed at PSI by S. Ritt (Design and Software) and R. Schmidt (Hardware) in 2001 and continuously improved
since then (L. Kuenzi, Hardware)
as a deliberately compact alternative. It provides fewer mechanisms
than a general industrial field bus, but it is inexpensive, optimized for
experimental environments, and usable either with the
[MIDAS data acquisition system](https://midas.triumf.ca/) or independently.

## Design goals

- inexpensive nodes built around microcontrollers with integrated ADCs, DACs,
  and digital I/O;
- robust differential signaling over RS-485;
- enough address space for large detector systems;
- discoverable, typed node variables so clients need little device-specific
  knowledge;
- individual, group, and broadcast operations;
- deterministic node-side response behavior; and
- a small host library and interactive command-line tool.

## Implementation

The repository contains C firmware for many MSCB devices (`embedded` directory) and the C/C++/Python libraries for the host side running on a PC under Linux/MacOSX/Windows.
