A modular Python toolkit for automating photonics and electronics lab instrumentation using PyVISA.
This project provides a unified and extensible interface to control laboratory instruments frequently used in silicon photonics test setups. Built around the PyVISA library, it enables fast prototyping, streamlined data collection, and measurement automation via scripting or notebooks.
- PyVISA-based SCPI instrument abstraction
- Modular, object-oriented design for easy extensibility
- Predefined routines: IV sweeps, laser wavelength sweeps, LIV measurements
- YAML-based configuration support
- Integration with Jupyter notebooks
- GPIB communication supported
| Notebook File | Description |
|---|---|
Optical_Frequency_Response.ipynb |
Automates measurement and analysis of optical frequency response in photonic experiments. |
LIV_Curves_Sourcemeter_Laser.ipynb |
Guides through IV and LIV curve measurement, instrument setup, configuration, and data analysis. |
IV_Curves_Sourcemeter.ipynb |
Demonstrates loading, processing, and analyzing IV curves for photonic devices. |
mzi_phase_shifter.ipynb |
Measures transmission of an MZI phase shifter using laser sweep and powermeter readout. |
| Folder | Description |
|---|---|
instruments/ |
Instrument drivers (Keithley, laser source, powermeter, etc.) |
utils/ |
Common utilities for plotting, logging, sweeping, etc. |
config/ |
Device-specific YAML config files |
results/ |
Automatically saved CSVs, logs, and plots |
Install via pip:
pip install -r requirements.txt- Connect your instruments.
- Click on the notebook corresponding to the device you want to measure.
- Modify config parameters as needed.
- Run the notebook.
MIT License