Zephyr is an open-source data acquisition and measurement automation program written in Java. It has been developed to simplify some laboratory tests at Nanomix. It is also being used by the Star Research Group at the University of Pittsburgh. This program is suitable for many applications involving measurement instruments and actuators, especially when there is a need to change the setup often.
The most important feature of this program is scripting, which allows scheduling of configuration and measurement events. The script language is based on XML. The script interpreter, instruments and output components are loosely coupled in this program, making it quite flexible.
Communication with an instrument requires a Zephyr driver class that implements certain simple interfaces, depending on the instrument's functionality. Currently, about 30 various instruments from Agilent Technologies, Keithley Instruments, Teledyne Instruments and other manufacturers are supported. The program can use GPIB, RS-232 and Ethernet connections. Writing a new driver is usually trivial. For simple instruments, the main challenge is figuring out the communication protocol. The driver interfaces are based on the same general principles as the Interchangeable Virtual Instrument (IVI) standard. Future versions of Zephyr may support existing IVI drivers.
Program's output components receive the data from the measurement instruments that are active in a given script. Output components also implement simple interfaces. Currently, the following output components exist:
Development of Zephyr has been partially supported by the National Science Foundation Grant No. 0450648.