Updating LabRAD: Remote Experimental Control Software
Abstract
LabRAD is a protocol and bundle of software designed for scientific hardware control and data acquisition. At its core, it is a remote procedure call system, allowing for remote control and monitoring of instruments over a network. It is also a distributed system, making it useful for experiments where it may be infeasible to connect many instruments to only one host computer. A centralized “manager” server keeps track of smaller servers, each one of which connects to an instrument or a database. Instrument-specific servers are written in Python, and pre-written servers are available for many instruments. Groups have been using LabRAD for over 10 years now, and like all software it needs maintenance to keep up with the times. Work this summer focused on updating LabRAD’s Python library to use the native asynchrony introduced in Python 3.5 and above.