Getting Started - Jayich-Lab/artiq GitHub Wiki

This page aims to give an overview of a general procedure to learn ARTIQ. Refer to frequently encountered problems too.

Links

Start from Scratch

ARTIQ is software that allows real-time communication with ARTIQ-compatible hardware (e.g., sinara hardware, check the Wiki pages within). Typically, ARTIQ communicates with ethernet connections between the core device (Kasli), and enables controlling multiple Kasli's at the same time (DRTIO). Kasli's are typically connected together using fibers. Each Kasli can connect to a number of devices (e.g., TTL in/out boards (BNC/SMA DIO), rf synthesizers (Urukul), etc.), and controls these devices.

The ARTIQ documentation is likely the most helpful source (though not complete and may be slightly outdated). If you are working with a new system, the first step is to establish communication between the computer and the Kasli, and run some simple test programs (e.g., TTL outputs).

Set up code infrastructure

After making the connection to Kasli, the next step is to set up code infrastructure that supports ARTIQ. Follow Software Setup.

Run ARTIQ control software

ARTIQ provides artiq_master and artiq_dashboard which are commonly used.

  1. artiq_master depends on "config/artiq_master.py" config file. Once the config file is set correctly, use "artiq_master/artiq_master.bat" to run the artiq master.

  2. Run LabRAD manager, web manager, and node.

  3. Run parameter_vault, relay_server, drift_tracker_server, and artiq_control servers in LabRAD.

  4. Run artiq_dashboard to run ARTIQ dashboard.

ARTIQ experiments

ARTIQ applets

Most clients should be written in terms of ARTIQ applets. Applets can be created dynamically in the dashboard, so they can be turned on only when needed, and they can turned off and on without restarting the dashboard.

The applets should be placed in artiq\artiq\applets, and should inherit from QtWidgets.QDockWidget. They can listen to changes in the datasets. See the applets in the folder for examples. These applets can be run in cmd directly as standalone clients, or then can be added in the applets panel in the dashboard and run in the dashboard.

The applets can be connected to the artiq_control LabRAD server (or other LabRAD servers). The artiq_control server can be used to read information with connected boards, to run experiments, and to modify datasets.