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
Communicationserial (9600 baud, 7E1)
Channels8
Sensorsdiode (Si/GaAs), platinum resistance (Pt100/1000), Cernox, RuO₂
Temperature1.4 K – 1500 K (depends on sensor)
The standard temperature monitor for cryogenic physics experiments. The eight channels are configured independently and support diode and resistance thermometers as well as Cernox thin-film resistors.
Driver module: Lakeshore218
from 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
Communicationserial (9600 baud)
Channels2–4 (depends on model)
Supported sensorsdiode/Pt/Cernox
Cryogenic temperature controllers with PID heater output for precise temperature stabilization.
Driver module: Cryocon1x
from 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
CommunicationRS485 Modbus RTU
FeaturesPID autotuning, ramp/soak programs
Applicationoptical table temperature stabilization, laser crystal temperature control
Industrial-grade PID temperature controllers communicating over the Modbus RTU protocol. Commonly used for laser crystal temperature control and optical table environmental temperature control.
Driver module: LumelRE72Controller / OmronE5xCController
from 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
Communicationserial (9600 baud)
Channels2
Supported gaugesPirani / Cold Cathode / combination gauge
Rangeatmospheric pressure – 10⁻¹⁰ mbar
A compact two-channel vacuum gauge controller supporting both rough vacuum (Pirani) and ultra-high vacuum (cold cathode) gauge heads.
Driver module: TPG2xx
from 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
Communicationserial (9600 baud, binary protocol)
Rangeatmospheric pressure – 5×10⁻¹⁰ mbar
Outputcontinuous pressure data stream
Wide-range Pirani/cold cathode combination vacuum gauges that actively push pressure data.
Driver module: GenericITR
from 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
Communicationserial (RS485)
Channelsup to 6 gauge heads
Gauge typesHot Filament / Cold Cathode / Pirani / Convection
A multi-gauge controller for large vacuum systems, addressed over RS485 in a daisy chain.
Driver module: XGS600
from 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
Communicationserial (9600 baud)
FunctionsHe/N₂ level, temperature, sample chamber temperature
Channels1–2 level + 4 temperature
The standard instrument for monitoring levels in superconducting magnet dewars. It monitors liquid helium/nitrogen levels and the sample chamber temperature simultaneously.
Driver module: LM500
from 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
Communicationserial or TCP/IP (port 7180)
FunctionsHe / N₂ level, relay control
A level monitor supporting both serial and network interfaces.
Driver module: AM1700
from 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"},
},