Scalable Automated Qubit Bring-Up and Calibration with Zurich Instruments LabOne Q and Balthazar

Scalable Automated Qubit Bring-Up and Calibration with Zurich Instruments LabOne Q and Balthazar

We present an integrated bring-up and calibration workflow for superconducting qubits that combines Zurich Instruments QCCS hardware and LabOne Q measurement workflows with Balthazar for experiment orchestration, structured data management, and decision-aware parameter updates. LabOne Q provides optimized, editable Python workflows for standard characterization tasks, while Balthazar executes these workflows in a controlled environment, captures full experimental context (inputs, code version, configurations, logs, and artifacts), and links results to device entities (QPU, qubit) in a persistent database. A key element is human-in-the-loop (or rule-based) promotion of selected fit results (e.g., fge, T1, T2) into the current device state, while retaining complete historical measurement records. The resulting setup supports standardized, reproducible bring-up at scale without sacrificing Python-level flexibility for expert customization and automation.

Introduction


As quantum processing units (QPUs) scale to larger qubit counts, bring-up and calibration become increasingly complex and time-consuming. Each new QPU typically requires iterative sequences of measurements - such as resonator spectroscopy, qubit spectroscopy, Rabi, and Ramsey - where results are inspected and then used to update device parameters that determine subsequent steps. In parallel, the volume of generated metadata (instrument settings, pulse parameters, fit results, code versions, and environmental context) grows rapidly and must be stored in a structured way to enable comparison across runs, cooldowns, and devices.


A practical bring-up stack therefore requires (i) reliable control and measurement hardware with fast firmware/software execution, (ii) standardized and reusable measurement workflows, (iii) user interfaces that support routine operation without exposing unnecessary complexity, and (iv) programmatic access for advanced analysis and automation. Zurich Instruments’ Quantum Computing Control System (QCCS) together with LabOne Q provides a robust framework with a Python interface for qubit control and measurement, including optimized workflows for common characterization tasks. In many laboratories, however, experiment orchestration, device-state tracking, and decision points during calibration are still handled via ad-hoc scripts, notebooks, or manual parameter transfer between tools.


This application note demonstrates an integrated approach in which Balthazar complements LabOne Q by managing workflow execution, organizing results around physical devices (QPU/qubit), capturing full experimental context, and implementing explicit decision loops for parameter updates. The resulting setup supports reproducible, standardized bring-up procedures that remain accessible to non-expert users while preserving full Python-level flexibility for expert customization.

Setup Overview


The combined setup consists of Zurich Instruments Quantum Computing Control Systems (QCCS) controlled through LabOne Q, together with Balthazar acting as an orchestration and data layer (Figure 1). LabOne Q workflows are executed via a Runner connected to the QCCS hardware, while Balthazar provides a browser-based interface for launching workflows, inspecting results, and managing device data, maintaining a persistent connection to the underlying Python code via Git.


As a representative device under test, we use a four-qubit superconducting QPU provided by the Walther-Meißner-Institut (WMI) and operated in a dilution refrigerator. Measurement workflows are executed on a single Runner connected to the measurement setup. Only a single workflow can access the Runner at a time, allowing multiple users to submit and queue experiments without managing hardware access directly.



Figure 1: System overview combining Zurich Instruments hardware and LabOne Q workflows managed through Balthazar. The user executes LabOne Q workflows in Balthazar via a Runner connected to the QCCS, while Balthazar manages workflow execution, decision making, and structured storage of measurement and device metadata through a browser-based interface.  


Measurement plan and workflow structure


In this work, qubit bring-up is organized around Balthazar Flows, which encapsulate LabOne Q workflows together with parametrized inputs, outputs, and artifacts. Each Flow represents either a single measurement (e.g. Ramsey or Rabi) or a grouped calibration sequence, reflecting the graph-based workflow-automation framework already supported by LabOne Q.


Measurement configurations are passed to the workflow as inputs and stored automatically as metadata. Individual parameters remain accessible through the user interface and programmatic APIs. QPUs and qubits are represented as Devices in Balthazar, with mappings that can be edited dynamically through Python scripts. This enables flexible handling of different device layouts while maintaining a consistent data model.


Flows are fully version-controlled via Git. Integration and commits are managed automatically by Balthazar. Users can modify measurement scripts directly via a built-in IDE or locally on their machines and then pull updated changes back into Balthazar. This ensures that executed workflows remain reproducible and traceable while supporting collaborative development.

Data flow and experimental results



Figure 2: Data flow from measurement execution to device updates during qubit bring-up. Measurement data generated by LabOne Q workflows are automatically stored together with metadata and linked to QPU and qubit devices. Decision points allow users to promote selected results to device-level parameters, closing the bring-up loop.


Data capture and storage


During qubit bring-up and calibration, a large amount of heterogeneous data is generated, including raw measurement results, derived parameters, plots, logs, and measurement configurations. In the presented setup, each LabOne Q workflow is executed within a Balthazar Flow, which captures the full execution context - all workflow inputs, including measurement configuration, selected qubits or QPUs, and executed code, are captured and stored as structured metadata. Measurement outputs such as numerical results (e.g., T₁, T₂, fge), plots, and raw data files (artifacts) are automatically logged and associated with a single Run.


Device-centric data storage


Runs are linked to physical Devices in the database. QPUs are represented as Devices with hierarchical relationships to individual qubits. This structure allows measured and derived parameters to be traced back to the corresponding physical entities across multiple experiments, cooldowns, and measurement sessions.


Interactive decision making


A central element of bring-up is deciding which measurement results should update the current operational parameters of the device. After a workflow completes, users inspect the generated plots and output variables and decide which parameters should be promoted to the current device state (used as inputs for subsequent calibration steps). This enables human-in-the-loop decision points with decision outcomes that are traceable alongside the underlying data and code that produced them.


As a result, Device-level data always represents the current operational state of each qubit, while the full measurement history remains accessible for comparison and analysis.This interaction is implemented through Python input prompts and is executed within the context of the same Flow (Figure 2). 



Exploring and analyzing measurement data


Once measurement data and metadata generated through LabOne Q are captured in Balthazar, they can be inspected and analyzed through multiple connected views. At device level, the device feed (Figure 3) provides a chronological record of all measurements linked to a given qubit or QPU. For more structured comparison, Run Explorer and Device Explorer expose the same data in tabular form, combining results with the corresponding experimental and device parameters. Dashboards provide a fast way to visualize trends, correlations, and distributions across devices, runs, or batches. For advanced analysis, the same data is also accessible programmatically through APIs where it can be queried and manipulated directly in Python as dataframes.


Figure 3: Example device-centric view in Balthazar, showing measurement history and linked results for a selected device. The same underlying data can also be explored through tabular views, dashboards, and programmatically, via Python APIs.


Dedicated Apps for bring-up


For interactive bring-up and calibration, Balthazar supports Python-based Apps (fully customizable GUIs) that can be implemented on top of the same backend. These interfaces expose measurement steps and decision points through buttons and controls, while relying on the same LabOne Q workflows and the Balthazar execution engine in the background.


All measurements and parameter updates performed through the Apps are automatically stored and linked to the underlying device data, ensuring full traceability and reproducibility without requiring users to interact directly with the underlying scripts.


Figure 4: Example of customizable GUIs in Balthazar, designed to give users a task-specific interface for interacting with LabOne Q data, parameters, and workflows.

Conclusions and outlook


By integrating Zurich Instruments QCCS and LabOne Q with the Balthazar platform, we implemented a structured and interactive workflow for qubit bring-up and calibration that combines reliable measurement execution with device-centric data management and traceable decision points. LabOne Q provides optimized Python workflows for standard characterization measurements, while Balthazar adds orchestration, versioned execution context, structured storage of results and artifacts, and explicit promotion of selected fit outcomes into the current device state.


This unified approach reduces manual parameter transfer, improves reproducibility, and enables standardized bring-up procedures that can be executed by non-expert users while preserving full Python-level flexibility for expert customization and automation. By making decision context and device state explicit and queryable, teams can systematically build on prior work, reduce rework across cooldowns, and accelerate iteration on QPU performance.


As qubit counts and calibration complexity increase, this approach provides a scalable foundation for multi-device handling, richer interfaces for decision making, and higher degrees of automation. While this work focuses on experiment execution and traceability, the LabOneQ + Balthazar stack enables automated calibration and natural-language interaction with measurement data, which become increasingly relevant as data volumes and system complexity grow.


Acknowledgements


We thank the Walther-Meißner-Institut (WMI) for providing the superconducting QPU used in this work and for access to experimental infrastructure.

About us

Zurich Instruments makes cutting-edge instrumentation for scientists and technologists in advanced laboratories. We have revolutionized instrumentation with fully digital lock-in amplifiers and the first commercial quantum computing control system. By combining excellent hardware, signal generation, and signal analysis in the frequency-domain and time-domain within single products, we help to reduce the complexity of laboratory setups and support innovative measurements in the DC to Gigahertz range.


Balthazar builds the digital backbone for experimental R&D. Its platform enables laboratories and instrument manufacturers to deliver next-generation usability, automation, and data management across complex measurement environments. By capturing every experiment’s configuration, metadata, and results, Balthazar turns hardware control into structured, reusable knowledge, making R&D more accessible through intuitive interfaces, while maintaining the power and flexibility of Python for advanced users to explore, analyze, and automate at scale. 

We present an integrated bring-up and calibration workflow for superconducting qubits that combines Zurich Instruments QCCS hardware and LabOne Q measurement workflows with Balthazar for experiment orchestration, structured data management, and decision-aware parameter updates. LabOne Q provides optimized, editable Python workflows for standard characterization tasks, while Balthazar executes these workflows in a controlled environment, captures full experimental context (inputs, code version, configurations, logs, and artifacts), and links results to device entities (QPU, qubit) in a persistent database. A key element is human-in-the-loop (or rule-based) promotion of selected fit results (e.g., fge, T1, T2) into the current device state, while retaining complete historical measurement records. The resulting setup supports standardized, reproducible bring-up at scale without sacrificing Python-level flexibility for expert customization and automation.

Introduction


As quantum processing units (QPUs) scale to larger qubit counts, bring-up and calibration become increasingly complex and time-consuming. Each new QPU typically requires iterative sequences of measurements - such as resonator spectroscopy, qubit spectroscopy, Rabi, and Ramsey - where results are inspected and then used to update device parameters that determine subsequent steps. In parallel, the volume of generated metadata (instrument settings, pulse parameters, fit results, code versions, and environmental context) grows rapidly and must be stored in a structured way to enable comparison across runs, cooldowns, and devices.


A practical bring-up stack therefore requires (i) reliable control and measurement hardware with fast firmware/software execution, (ii) standardized and reusable measurement workflows, (iii) user interfaces that support routine operation without exposing unnecessary complexity, and (iv) programmatic access for advanced analysis and automation. Zurich Instruments’ Quantum Computing Control System (QCCS) together with LabOne Q provides a robust framework with a Python interface for qubit control and measurement, including optimized workflows for common characterization tasks. In many laboratories, however, experiment orchestration, device-state tracking, and decision points during calibration are still handled via ad-hoc scripts, notebooks, or manual parameter transfer between tools.


This application note demonstrates an integrated approach in which Balthazar complements LabOne Q by managing workflow execution, organizing results around physical devices (QPU/qubit), capturing full experimental context, and implementing explicit decision loops for parameter updates. The resulting setup supports reproducible, standardized bring-up procedures that remain accessible to non-expert users while preserving full Python-level flexibility for expert customization.

Setup Overview


The combined setup consists of Zurich Instruments Quantum Computing Control Systems (QCCS) controlled through LabOne Q, together with Balthazar acting as an orchestration and data layer (Figure 1). LabOne Q workflows are executed via a Runner connected to the QCCS hardware, while Balthazar provides a browser-based interface for launching workflows, inspecting results, and managing device data, maintaining a persistent connection to the underlying Python code via Git.


As a representative device under test, we use a four-qubit superconducting QPU provided by the Walther-Meißner-Institut (WMI) and operated in a dilution refrigerator. Measurement workflows are executed on a single Runner connected to the measurement setup. Only a single workflow can access the Runner at a time, allowing multiple users to submit and queue experiments without managing hardware access directly.



Figure 1: System overview combining Zurich Instruments hardware and LabOne Q workflows managed through Balthazar. The user executes LabOne Q workflows in Balthazar via a Runner connected to the QCCS, while Balthazar manages workflow execution, decision making, and structured storage of measurement and device metadata through a browser-based interface.  


Measurement plan and workflow structure


In this work, qubit bring-up is organized around Balthazar Flows, which encapsulate LabOne Q workflows together with parametrized inputs, outputs, and artifacts. Each Flow represents either a single measurement (e.g. Ramsey or Rabi) or a grouped calibration sequence, reflecting the graph-based workflow-automation framework already supported by LabOne Q.


Measurement configurations are passed to the workflow as inputs and stored automatically as metadata. Individual parameters remain accessible through the user interface and programmatic APIs. QPUs and qubits are represented as Devices in Balthazar, with mappings that can be edited dynamically through Python scripts. This enables flexible handling of different device layouts while maintaining a consistent data model.


Flows are fully version-controlled via Git. Integration and commits are managed automatically by Balthazar. Users can modify measurement scripts directly via a built-in IDE or locally on their machines and then pull updated changes back into Balthazar. This ensures that executed workflows remain reproducible and traceable while supporting collaborative development.

Data flow and experimental results



Figure 2: Data flow from measurement execution to device updates during qubit bring-up. Measurement data generated by LabOne Q workflows are automatically stored together with metadata and linked to QPU and qubit devices. Decision points allow users to promote selected results to device-level parameters, closing the bring-up loop.


Data capture and storage


During qubit bring-up and calibration, a large amount of heterogeneous data is generated, including raw measurement results, derived parameters, plots, logs, and measurement configurations. In the presented setup, each LabOne Q workflow is executed within a Balthazar Flow, which captures the full execution context - all workflow inputs, including measurement configuration, selected qubits or QPUs, and executed code, are captured and stored as structured metadata. Measurement outputs such as numerical results (e.g., T₁, T₂, fge), plots, and raw data files (artifacts) are automatically logged and associated with a single Run.


Device-centric data storage


Runs are linked to physical Devices in the database. QPUs are represented as Devices with hierarchical relationships to individual qubits. This structure allows measured and derived parameters to be traced back to the corresponding physical entities across multiple experiments, cooldowns, and measurement sessions.


Interactive decision making


A central element of bring-up is deciding which measurement results should update the current operational parameters of the device. After a workflow completes, users inspect the generated plots and output variables and decide which parameters should be promoted to the current device state (used as inputs for subsequent calibration steps). This enables human-in-the-loop decision points with decision outcomes that are traceable alongside the underlying data and code that produced them.


As a result, Device-level data always represents the current operational state of each qubit, while the full measurement history remains accessible for comparison and analysis.This interaction is implemented through Python input prompts and is executed within the context of the same Flow (Figure 2). 



Exploring and analyzing measurement data


Once measurement data and metadata generated through LabOne Q are captured in Balthazar, they can be inspected and analyzed through multiple connected views. At device level, the device feed (Figure 3) provides a chronological record of all measurements linked to a given qubit or QPU. For more structured comparison, Run Explorer and Device Explorer expose the same data in tabular form, combining results with the corresponding experimental and device parameters. Dashboards provide a fast way to visualize trends, correlations, and distributions across devices, runs, or batches. For advanced analysis, the same data is also accessible programmatically through APIs where it can be queried and manipulated directly in Python as dataframes.


Figure 3: Example device-centric view in Balthazar, showing measurement history and linked results for a selected device. The same underlying data can also be explored through tabular views, dashboards, and programmatically, via Python APIs.


Dedicated Apps for bring-up


For interactive bring-up and calibration, Balthazar supports Python-based Apps (fully customizable GUIs) that can be implemented on top of the same backend. These interfaces expose measurement steps and decision points through buttons and controls, while relying on the same LabOne Q workflows and the Balthazar execution engine in the background.


All measurements and parameter updates performed through the Apps are automatically stored and linked to the underlying device data, ensuring full traceability and reproducibility without requiring users to interact directly with the underlying scripts.


Figure 4: Example of customizable GUIs in Balthazar, designed to give users a task-specific interface for interacting with LabOne Q data, parameters, and workflows.

Conclusions and outlook


By integrating Zurich Instruments QCCS and LabOne Q with the Balthazar platform, we implemented a structured and interactive workflow for qubit bring-up and calibration that combines reliable measurement execution with device-centric data management and traceable decision points. LabOne Q provides optimized Python workflows for standard characterization measurements, while Balthazar adds orchestration, versioned execution context, structured storage of results and artifacts, and explicit promotion of selected fit outcomes into the current device state.


This unified approach reduces manual parameter transfer, improves reproducibility, and enables standardized bring-up procedures that can be executed by non-expert users while preserving full Python-level flexibility for expert customization and automation. By making decision context and device state explicit and queryable, teams can systematically build on prior work, reduce rework across cooldowns, and accelerate iteration on QPU performance.


As qubit counts and calibration complexity increase, this approach provides a scalable foundation for multi-device handling, richer interfaces for decision making, and higher degrees of automation. While this work focuses on experiment execution and traceability, the LabOneQ + Balthazar stack enables automated calibration and natural-language interaction with measurement data, which become increasingly relevant as data volumes and system complexity grow.


Acknowledgements


We thank the Walther-Meißner-Institut (WMI) for providing the superconducting QPU used in this work and for access to experimental infrastructure.

About us

Zurich Instruments makes cutting-edge instrumentation for scientists and technologists in advanced laboratories. We have revolutionized instrumentation with fully digital lock-in amplifiers and the first commercial quantum computing control system. By combining excellent hardware, signal generation, and signal analysis in the frequency-domain and time-domain within single products, we help to reduce the complexity of laboratory setups and support innovative measurements in the DC to Gigahertz range.


Balthazar builds the digital backbone for experimental R&D. Its platform enables laboratories and instrument manufacturers to deliver next-generation usability, automation, and data management across complex measurement environments. By capturing every experiment’s configuration, metadata, and results, Balthazar turns hardware control into structured, reusable knowledge, making R&D more accessible through intuitive interfaces, while maintaining the power and flexibility of Python for advanced users to explore, analyze, and automate at scale.