1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to LabRAD!

Synopsis

Problem Unmanageable inflexible spaghetti code is controlling your experimental setups
Implication Slowed progress due to frequent duplication of effort and debugging headaches
Solution LabRAD (RAD = Rapid Application Development)

Motivation

Note: LabRAD is not specific to the use case described here. It is intended to be useful in ANY research or production environment requiring complex instrument control and/or data acquisition.

LabRAD was developed in response to an increasingly complex software effort needed to run experiments in the Martinis Group at the UC Santa Barbara Physics Department. The group's effort is focused on building a Quantum Computer using superconducting integrated circuits. The experiment will eventually include a large number of Qubits, each requiring dedicated control mechanisms. To prevent frequent duplication of effort, a scalable software architecture was needed to provide the required control. This architecture needed to accommodate multiple users and developers, since many different graduate students and post docs are sharing the software and hardware resources required to run their respective experiments. LabRAD was specifically designed to alleviate the problems inherent in designing a complex, scalable, distributed control system managed by several developers and users. As science advances, novel experiments in all fields are becoming increasingly involved, making LabRAD a generally useful tool beyond the developing group.

Overview

LabRAD provides a platform to easily break up a complex software project into small, manageable modules that can be written in different programming languages, run on different computers, and independently maintained by different developers. These modules communicate over a standard network connection, immediately allowing for the system to be remotely accessed and controlled. A growing [labradmodules:home library of standard modules] is available, providing out-of-the-box functionality like hardware interfacing, data storage and presentation, system exploration, etc. LabRAD could potentially be used for almost any distributed software project imaginable, but is targeted at scientific research setups, supporting numerical data (real, complex, timestamps, ...), unit conversion, graphing, etc.

Getting started

After uncompromised performance, the highest priority of the LabRAD project is ease of use. To start playing immediately, check out our:

LabRAD Quick Start Tutorial

For a more thorough introduction, refer to the:

LabRAD Introduction

LabRAD 2.0

We are beginning to sketch out a wishlist and architecture for LabRAD 2.0. You can follow progress here: LabRAD version 2

~ Markus Ansmann, Dec 10th, 2007