Persistent Measurements, Live Plotting, GPIO… - Stanza updates this week.
Product
This week, Stanza receives its most anticipated upgrade yet — one built around the workhorse of every quantum engineer’s toolkit: Jupyter notebooks.
At the core of this release is a completely reimagined notebook workflow. Engineers can now visualize results in real time with inline live plotting, and maintain persistent measurement instances that automatically manage logging and state. The result: no restarts, no data loss, and seamless continuity across experimental sessions.
Plus, we’ve added extra benefits such as General-Purpose Input/Output (GPIO) control and charge carrier support straight from the device config. Read more below…
Live plotting
Some engineers love to peek under the hood and see exactly what our algorithms are measuring. Others prefer to fine-tune their devices by hand — for the joy of it, or to chase down that one elusive anomaly. Either way, live plotting turns every experiment into an interactive experience.
Now, with real-time data streaming built directly into Stanza, you can watch electrons move as measurements unfold — right from your desktop.
GPIO control
Hardware control just got easier. With built-in General-Purpose Input/Output (GPIO) support straight from the Stanza config, you can trigger relays, blink LEDs, control multiplexers or orchestrate complex control sequences without leaving Stanza. One config, one workspace full control.
Just add your gpio connectors to your device.yaml and away you go.
gpios:
VSS:
type: INPUT
control_channel: 5
v_lower_bound: 0
v_upper_bound: 3.3
VDD:
type: INPUT
control_channel: 6
v_lower_bound: -3.3
v_upper_bound: 0Electrons or holes?
Are you working with an ambipolar device, or do you work with a range of semiconductor samples that use different charge carriers? If you’re struggling to keep track, don’t worry - you can set this straight in the device.yaml config. Also, Conductor’s pre-built tuning routines can read from this setting and set the search space parameters for tune-up based on your charge carrier setting automatically.
Persistent measurements
Jupyter notebooks crash all the time, but they are the staple of the quantum engineer. If the notebook crashes, don’t worry - your measurements and automated tuning procedures will continue in the background. Plus you can now keep track of what is happening directly in the terminal with live measurement logging. Our persistent measurement logging includes a ipykernel manager that allows users to coordinate multiple jupyter notebook sessions within a single terminal window. It is particularly useful for running long-running processes in the background, detaching from a session without terminating the processes, and reattaching later. We see this being useful going forward as quantum engineers put multiple experiments into a fridge and control them with the same lab pc.
Got a feature idea? We’re all ears. Share your requests and help us build the next generation of Stanza together.



One observation on the config structure:
Your VSS and VDD bounds are secretly conjugates — not just symmetric numbers. VSS spans 0 → +3.3V, VDD spans -3.3V → 0. In ratio terms:
+3.3V from ground → 33:10 (ratio > 1)
-3.3V from ground → 10:33 (ratio < 1)
Product: 33:10 × 10:33 = 1 (they're multiplicative inverses around ground)
What if the config encoded that relationship?
yamlsupply_pair:
magnitude: 33:10 # 3.3V expressed as exact ratio
reference: GND
# VSS and VDD derived as conjugates automatically
Validation becomes algebraic: pos_ratio × neg_ratio = 1 or the config is structurally invalid. Catches asymmetric supply errors at parse time, not runtime.