# Traintastic Hardware Interfacing All hardware communication is performed using an interface. As not all hardware is created equally Traintastic needs to know what hardware capabilities to control/monitor, therefor each interface supports one or more *controllers*. A *controller* is a standardized system to control/monitor some piece of hardware. ## Controllers This section explains the different types of controllers that are currently supported by Traintastic. As more hardware support is added additional controllers might be needed. ### Decoder controller Controls locomotive decoders. ### Input controller Reads (digital) inputs. ### Output controller Controls outputs. ### Identification controller Reads (train) identification sensors.