Environmental monitoring
Drivers for temperature, vacuum and cryogenic monitoring: Lakeshore, Cryocon, Pfeiffer, Leybold.
Overview
Laboratory environmental monitoring underpins the stability of quantum experiments. Quatm ships drivers for temperature, vacuum and cryogenic level monitoring with real-time data logging and anomaly alerts.
Lakeshore 218 temperature monitor
218 Lakeshore
| Communication | serial (9600 baud, 7E1) |
| Channels | 8 |
| Sensors | diode (Si/GaAs), platinum resistance (Pt100/1000), Cernox, RuO₂ |
| Temperature | 1.4 K – 1500 K (depends on sensor) |
Driver module:
Lakeshore218from quatm.drivers.Lakeshore.base import Lakeshore218
ls = Lakeshore218(conn="/dev/ttyUSB0")
# Configure channel 1 as a silicon diode
ls.set_sensor_type(channel=1, sensor_type="DT-670")
# Read temperature
temp = ls.get_temperature(channel=1) # Kelvin
all_temps = ls.get_all_temperatures() # All 8 channels
# Read raw sensor values (voltage/resistance)
raw = ls.get_reading(channel=1)
Cryocon 12C / 14C / 18C temperature controllers
12C / 14C / 18C Cryocon
| Communication | serial (9600 baud) |
| Channels | 2–4 (depends on model) |
| Supported sensors | diode/Pt/Cernox |
Driver module:
Cryocon1xfrom quatm.drivers.Cryocon.base import Cryocon1x
cryo = Cryocon1x(conn="/dev/ttyUSB0", nchannels=4)
# Read channel 1 temperature
temp = cryo.get_temperature(channel=1)
# PID setpoint
cryo.set_setpoint(channel=1, temperature=4.2) # 4.2 K
cryo.set_heater_range(channel=1, range="low")
cryo.enable_heater(channel=1, enable=True)
Lumel RE72 · Omron E5_C temperature controllers
RE72 / E5_C Lumel / Omron
| Communication | RS485 Modbus RTU |
| Features | PID autotuning, ramp/soak programs |
| Application | optical table temperature stabilization, laser crystal temperature control |
Driver module:
LumelRE72Controller / OmronE5xCControllerfrom quatm.drivers.Lumel.base import LumelRE72Controller
from quatm.drivers.Omron.base import OmronE5xCController
# Lumel RE72
lumel = LumelRE72Controller(conn="/dev/ttyUSB1", daddr=1)
temp = lumel.get_temperature()
lumel.set_setpoint(25.0)
# Omron E5_C
omron = OmronE5xCController(conn="/dev/ttyUSB1", daddr=2)
omron.set_setpoint(30.0)
omron.enable_heater(True)
Pfeiffer TPG2xx high-vacuum gauges
TPG2xx series Pfeiffer Vacuum
| Communication | serial (9600 baud) |
| Channels | 2 |
| Supported gauges | Pirani / Cold Cathode / combination gauge |
| Range | atmospheric pressure – 10⁻¹⁰ mbar |
Driver module:
TPG2xxfrom quatm.drivers.Pfeiffer.base import TPG2xx
tpg = TPG2xx(conn="/dev/ttyUSB0")
# Read both pressure channels
p1 = tpg.get_pressure(channel=1) # mbar
p2 = tpg.get_pressure(channel=2)
# Gauge type identification
gauge_type = tpg.get_gauge_type(channel=1)
Leybold ITR wide-range vacuum gauges
ITR series Leybold
| Communication | serial (9600 baud, binary protocol) |
| Range | atmospheric pressure – 5×10⁻¹⁰ mbar |
| Output | continuous pressure data stream |
Driver module:
GenericITRfrom quatm.drivers.Leybold.base import GenericITR
itr = GenericITR(conn="/dev/ttyUSB0")
pressure = itr.get_pressure() # mbar
Agilent XGS-600 multi-channel vacuum controller
XGS-600 Agilent
| Communication | serial (RS485) |
| Channels | up to 6 gauge heads |
| Gauge types | Hot Filament / Cold Cathode / Pirani / Convection |
Driver module:
XGS600from quatm.drivers.Agilent.pressure import XGS600
xgs = XGS600(conn="/dev/ttyUSB0", addr=1)
# Read all channel pressures
pressures = xgs.get_all_pressures()
p1 = xgs.get_pressure(channel=1)
Cryogenic level monitoring
Cryomagnetics LM500 liquid helium/nitrogen level meter
LM500 / LM510 Cryomagnetics
| Communication | serial (9600 baud) |
| Functions | He/N₂ level, temperature, sample chamber temperature |
| Channels | 1–2 level + 4 temperature |
Driver module:
LM500from quatm.drivers.Cryomagnetics.base import LM500
lm = LM500(conn="/dev/ttyUSB0")
helium_level = lm.get_helium_level() # %
nitrogen_level = lm.get_nitrogen_level() # %
sample_temp = lm.get_temperature()
American Magnetics 1700 level monitor
1700 American Magnetics
| Communication | serial or TCP/IP (port 7180) |
| Functions | He / N₂ level, relay control |
Driver module:
AM1700from quatm.drivers.AmericanMagnetics.base import AM1700
am = AM1700(conn="192.168.1.50") # TCP/IP
# Or serial port: am = AM1700(conn="/dev/ttyUSB0")
level = am.get_helium_level()
Generic environmental monitoring configuration
"chamber_pressure": {
"type": "local",
"module": "drivers.Pfeiffer.base",
"class": "TPG2xx",
"arguments": {"conn": "/dev/ttyUSB0"},
},
"cryo_temp": {
"type": "local",
"module": "drivers.Lakeshore.base",
"class": "Lakeshore218",
"arguments": {"conn": "/dev/ttyUSB1"},
},
Automated monitoring
Together with Quatm’sDataStreamMonitor and UpdatingPlot components, vacuum, temperature and level data can be visualized in real time, and threshold alerts can be configured to pause the experiment automatically.