Lasers and optics
Drivers for lasers and optical measurement: Cobolt, Toptica, Sirah Matisse, M² Solstis, HighFinesse wavemeters.
Overview
Quatm supports diode lasers, pump lasers, tunable ring lasers and optical measurement instruments. Laser-type devices are controlled over serial ports; SCPI instruments inherit the standard interface.
Hubner Cobolt MLD / DPL single-frequency lasers
Cobolt 06-01 series Hubner Cobolt
| Communication | serial (115200 baud) |
| Wavelength | 405/445/488/515/532/561/594/633/660/780/1064 nm |
| Power | 25–300 mW |
| Modulation | analog + digital TTL (up to 5 MHz) |
Driver module:
Coboltfrom quatm.drivers.Hubner.Cobolt import Cobolt
laser = Cobolt(conn="/dev/ttyUSB0")
# Turn on the laser
laser.set_autostart(True)
laser.set_power(50e-3) # 50 mW
# Digital modulation (TTL)
laser.set_digital_modulation(True)
laser.set_modulation_power(100e-3) # High power during modulation
# Read operating parameters
hours = laser.get_operating_hours()
temp = laser.get_base_temperature()
Toptica iBeam smart diode lasers
iBeam series Toptica
| Communication | serial (115200 baud) |
| Wavelength | 375–1550 nm |
Driver module:
TopticaIBeamfrom quatm.drivers.Toptica.ibeam import TopticaIBeam
laser = TopticaIBeam(conn="/dev/ttyUSB0")
laser.set_power(channel=0, power=10e-3)
laser.enable(channel=0, enable=True)
Laser Quantum Finesse pump laser
Finesse Laser Quantum
| Communication | serial (19200 baud) |
| Power | 4–16 W (532 nm) |
| Noise | < 0.1% RMS |
| Application | Ti:sapphire/dye laser pumping |
Driver module:
Finessefrom quatm.drivers.LaserQuantum.base import Finesse
pump = Finesse(conn="/dev/ttyUSB0")
pump.set_power(10.0) # 10 W
pump.enable(True)
actual_power = pump.get_power()
Lighthouse Photonics Sprout G
Sprout G Lighthouse Photonics
| Communication | serial (19200 baud) |
| Wavelength | 532 nm |
| Power | 6–18 W |
| Noise | < 0.2% RMS |
Driver module:
SproutGfrom quatm.drivers.LighthousePhotonics.base import SproutG
sprout = SproutG(conn="/dev/ttyUSB0")
sprout.set_power(15.0)
sprout.enable(True)
Sirah Matisse tunable ring laser
Matisse Sirah Lasertechnik
| Communication | VISA or TCP/IP |
| Wavelength range | visible–near-infrared (depends on dye/Ti:sapphire) |
| Linewidth | < 50 kHz (locked) |
| Tuning elements | birefringent filter + thin/thick etalon + piezo |
MatisseTuner coordinates the laser with a HighFinesse wavemeter to provide automatic wavelength tuning and stitched scans.Driver module:
SirahMatisse / MatisseTunerfrom quatm.drivers.Sirah.Matisse import SirahMatisse
matisse = SirahMatisse(addr="TCPIP::192.168.1.10::INSTR")
# Set wavelength
matisse.set_birefringent_filter(wavelength=780.24) # nm
matisse.set_thin_etalon(wavelength=780.24)
matisse.set_thick_etalon(wavelength=780.24)
# Piezo scan
matisse.set_piezo_voltage(50.0) # 0–100 V
# Automatic tuning (requires a wavemeter)
from quatm.drivers.Sirah.tuner import MatisseTuner
tuner = MatisseTuner(laser=matisse, wavemeter=wlm)
tuner.tune_to(wavelength=780.24) # Auto-search and lock
tuner.scan(start=780.20, stop=780.30, speed=0.01) # nm/s
M² Solstis narrow-linewidth tunable laser
Solstis M² Lasers
| Communication | TCP/IP JSON + WebSocket |
| Wavelength range | 700–1000 nm (Ti:sapphire) |
| Linewidth | < 50 kHz |
| Functions | etalon lock, cavity reference lock, wavemeter feedback |
Driver module:
Solstis (ICE Bloc)from quatm.drivers.M2.solstis import Solstis
solstis = Solstis(addr="192.168.1.20", port=8080)
# Wavelength tuning
solstis.set_wavelength(780.24)
# Etalon lock
solstis.lock_etalon()
# Terahertz scan (with the EMM module)
solstis.set_terahertz_scan(start_freq=0, stop_freq=100e9)
Optical power meters & wavemeters
Ophir Vega laser power/energy meter
Vega Ophir
| Communication | serial |
| Heads | thermopile/photodiode/pyroelectric |
| Power | µW – kW |
| Energy | µJ – J |
Driver module:
VegaPowerMeterfrom quatm.drivers.Ophir.base import VegaPowerMeter
pm = VegaPowerMeter(conn="/dev/ttyUSB0")
power = pm.get_power()
HighFinesse WS6/WS7 precision wavemeters
WS6 / WS7 HighFinesse
| Communication | native wlmData.dll |
| Accuracy | 2–200 MHz (depends on model) |
| Channels | 1–8 |
| Measurement rate | up to 500 Hz |
| Wavelength range | 350–1120 nm |
Driver module:
WLMfrom quatm.drivers.HighFinesse.wlm import WLM
wlm = WLM(version=7, dll_path="C:\\wlm\\wlmData.dll")
# Read the current frequency of channel 1
freq = wlm.get_frequency(channel=1) # THz
wavelength = wlm.get_wavelength(channel=1) # nm
# Exposure control (auto-adapts to light intensity)
wlm.set_exposure(channel=1, mode="auto")
Matisse automatic tuning
The combination of a HighFinesse wavemeter and a Sirah Matisse is the archetypal laser frequency feedback control system in Quatm. TheMatisseTuner driver coordinates the two to provide closed-loop automatic tuning and wide-range mode-hop-free scanning.Thorlabs optical power meters PM100 / PM400
PM100 / PM400 series Thorlabs power meter
| Communication | VISA (USB) |
| Supported heads | photodiode/thermopile/pyroelectric |
| Wavelength range | depends on head |
| Power range | nW – W level |
Driver module:
GenericPMfrom quatm.drivers.Thorlabs.misc import GenericPM
pm = GenericPM(addr="USB0::0x1313::0x8078::P1234567::INSTR")
pm.set_wavelength(780.0) # 780 nm calibration
power = pm.get_power() # Current power (W)