...Although written for this specific task it is easy to adopt for any experimental task which changes hardware parameters and waits for a specific condition before proceeding. The graphical interface (QT4) includes plotting (matplotlib), instrument configuration/monitoring and a program step creator. The communication with the hardware is independent of the GUI and any number of devices can be selected. To modify the code for any other task only the hardware interface needs to be redefined.