You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+20-4Lines changed: 20 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,19 +29,34 @@ bibliography: paper.bib
29
29
30
30
# Summary
31
31
32
-
PICA (Python-based Instrument Control and Automation) is a modular, open-source software suite designed to automate complex characterisation experiments in condensed matter physics. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation. It provides an extensible unified graphical user interface (GUI) for orchestrating high-precision instruments, specifically Keithley SourceMeters/Nanovoltmeters, Lakeshore Temperature Controllers, and Keysight LCR metres. The suite controls temperature setpoints to perform automated protocols, including temperature-dependent resistivity, current-voltage (I-V) characteristics, and pyroelectric current measurement.
32
+
PICA (Python-based Instrument Control and Automation) is a modular, open-source software suite designed to automate complex characterisation experiments in condensed matter physics. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation.
33
+
It provides an extensible unified graphical user interface (GUI) for orchestrating high-precision instruments, specifically source-measure units, nanovoltmeters, temperature controllers, and LCR metres.
34
+
35
+
The suite supports characterisation across a vast resistance range of 24 orders of magnitude (10 nΩ to 10 PΩ) and orchestrates measurements under varying magnetic fields and temperatures.
36
+
Python was chosen for its free, open source nature, cross-platform capabilities, and extensive ecosystem of over 100,000 packages, offering a powerful, community-supported alternative to licensed commercial software for instrument control.
37
+
38
+
By utilising threading and multiprocessing capabilities, PICA ensures that the entire hardware ecosystem functions as a single cohesive unit. This allows the system to perform automated protocols, including temperature-dependent resistivity current voltage (I-V) characterisation and pyroelectric current measurement, without requiring physical reconfiguration of the measurement setups.
39
+
33
40
34
41
# Statement of need
35
42
36
-
Advancements in experimental physics depend on the precise characterisation of material properties under extreme physical conditions. Researchers have to choose between expensive proprietary software like LabVIEW or developing a custom measurement script from scratch. While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrumental communication, they are fundamentally software libraries that require the user to write and maintain code. This creates a technical barrier for researchers who lack programming expertise. PICA addresses this gap by functioning as a turnkey application rather than a library. It offers a "ready-to-run" graphical interface that abstracts the underlying control logic, allowing the experimentalist to focus on data acquisition without the need to develop custom software scripts for the supported hardware configurations.
43
+
Advancements in experimental physics depend on the precise characterisation of material properties under extreme physical conditions. Researchers have to choose between expensive proprietary visual programming software or developing a custom measurement script from scratch.
44
+
45
+
While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrumental communication, they are fundamentally software libraries that require the user to write and maintain code. This creates a technical barrier for researchers who lack programming expertise. PICA addresses this gap by functioning as a turnkey application rather than a library. It offers a "ready-to-run" graphical interface that abstracts the underlying control logic, allowing experimentalists to focus on data acquisition without needing to develop custom software scripts for the supported hardware configurations.
46
+
47
+
The software was specifically developed to control a multifunctional, custom-designed probe inserted into the Physical Property Measurement System (PPMS), enabling fully user-defined measurement protocols across the temperature range of 5 K to 350 K. It eliminates the need to alter the measurement setup for full characterisation, handling everything from Delta mode (low resistance) to high impedance electrometry. The primary goal of PICA was to facilitate the precise characterisation of materials ranging from low-noise superconductors to high-band gap insulators (covering 24 orders of magnitude in resistance) using a single unified framework.
48
+
49
+
The system is currently validated with industry-standard hardware, including the Keithley 6221 Current Source, Keithley 2182 Nanovoltmeter, and Keithley 6517B Electrometer.
50
+
51
+
While the current implementation drives specific instruments, the underlying framework is universal. Researchers using different hardware models need only replace the specific SCPI commands with their instrument equivalent commands to utilise the suite.
37
52
38
53
It differentiates itself through the following unique features:
39
54
40
55
***Accessibility:** A professional dashboard that allows researchers without coding experience to configure and run a complex measurement protocol immediately using the suite's pre-packaged measurement modules.
41
56
42
57
***Physical Validation:** PICA's protocols are actively used for cryogenic transport measurements (80K - 320K) at the UGC DAE Consortium for Scientific Research, Mumbai Centre, validating the software's core architecture in a real-world research environment and providing a stable, tested foundation for the university and researchers to build upon.
43
58
44
-
***Process Isolation:** PICA deploys a `multiprocessing` architecture that runs instrumentation control logic in an isolated process. This ensures that hardware timeouts or driver crashes do not freeze the main dashboard, which is a common problem in single-threaded Python scripts.
59
+
***Process Isolation:** PICA deploys a `multiprocessing` architecture that runs instrumentation control logic in an isolated process. This ensures that hardware timeouts or driver crashes do not freeze the main dashboard, a common issue in single-threaded Python scripts.
45
60
46
61
***Modular CLI Architecture:** As demonstrated in the repository, measurement modules also contain CLI measurement module counterparts that allow researchers to utilise PICA's measurement protocol and logic for headless automation or integration into other workflows without GUI overhead.
47
62
@@ -59,6 +74,7 @@ PICA is built on a modular architecture characterised by self-contained modules,
59
74
### Process Isolation and Concurrency
60
75
61
76
Unlike simple script-based automation, PICA decouples the User Interface (UI) from the instrumentation control logic. It utilises Python's standard 'multiprocessing' libraries to spawn isolated processes for measurement tasks.
77
+
62
78
***Stability:** If an instrument hangs or a communication bus times out, the isolated process can be terminated safely without freezing the main GUI or losing previous data.
63
79
64
80
***Responsiveness:** The `tkinter`-based frontend remains responsive for live data plotting (using `matplotlib`[@hunter2007matplotlib] with blitting) even while the backend waits for hardware triggers. Numpy [@harris2020numpy] is utilised throughout this pipeline for efficient array manipulation and data validation during real-time updates.
@@ -71,7 +87,7 @@ PICA utilises **PyVISA** [@grecco2023pyvisa] to abstract the low-level communica
71
87
72
88
1.**Connection Verification:** A built-in "VISA Instrument Scanner" queries the bus (`*IDN?`) to map the connected instrument addresses.
73
89
74
-
2.**Instrument Reset Protocol:** To eliminate the influence of all previous experiments, any stored data, cache in buffers, and existing settings or configurations, the instruments are explicitly reset, thereby providing a clean initial state before each measurement.
90
+
2.**Instrument Reset Protocol:** To eliminate the influence of all previous experiments, all stored data, cache in buffers, and existing settings or configurations are explicitly reset, thereby providing a clean initial state before each measurement.
75
91
76
92
3.**Graceful Shutdown:** A "Safety Shutdown Routine" logic ensures that sources are ramped down to zero and heaters are disabled safely, even if the software is interrupted unexpectedly.
0 commit comments