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
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,18 +32,18 @@ bibliography: paper.bib
32
32
33
33
# Summary
34
34
35
-
High-precision, low-noise transport measurements are essential for advancing research in spintronics and materials characterisation. To enable such progress, highly precise and accurate automation software is required. PICA (Python-based Instrument Control and Automation) is a modular open-source software suite designed to automate advanced transport measurements for electronic devices and chemical samples. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation.
35
+
High-precision, low-noise transport measurements are essential for advancing research in spintronics and materials characterisation. To enable such progress, highly precise and accurate automation software is required. PICA (Python-based Instrument Control and Automation) is a modular open-source software suite designed to automate advanced transport measurements for electronic devices and material samples. PICA is designed as a versatile framework capable of operating on any standard laboratory workstation.
36
36
It provides an extensible, unified graphical user interface (GUI)-based standalone program to coordinate high-precision instruments, specifically ultra-low current source (DC/AC) units, nanovoltmeters, high-resistance electrometers, impedance analyser, and temperature controllers. Built on the robust Python scientific ecosystem, PICA leverages community standard libraries as an alternative to licensed commercial software for instrument control.
37
-
By utilising `threading` and `multiprocessing` capabilities, PICA ensures that the entire hardware ecosystem functions seamlessly and as a single cohesive unit. This allows the system to perform automated protocols, including temperature-dependent wide ranges of resistance measurement ($10^{-8}$ - $10^{16}$ Ω), currentvoltage (I-V) characterisation, capacitance characterisation, and pyroelectric current measurement, and orchestrates measurements under varying magnetic fields and temperatures without requiring physical reconfiguration of the measurement setups.
37
+
By utilising `threading` and `multiprocessing` capabilities, PICA ensures that the entire hardware ecosystem functions seamlessly and as a single cohesive unit. This allows the system to perform automated protocols, including temperature-dependent wide ranges of resistance measurement ($10^{-8}$ - $10^{16}$ Ω), current-voltage (I-V) characterisation, capacitance characterisation and pyroelectric current measurement and to orchestrate measurements under varying magnetic fields and temperatures without requiring physical reconfiguration of the measurement setups.
38
38
39
39
40
40
# Statement of need
41
41
42
42
Advancements in experimental physics and device manufacturing depend on the precise characterisation of material properties under extreme physical conditions (e.g. low temperature and high magnetic/electric fields). For automating experiments, researchers have to choose between expensive proprietary graphical programming environments or developing a custom measurement script from scratch.
43
-
While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrument communication, they are fundamentally software libraries that require the user to write and maintain code, which creates a barrier to entry for researchers requiring direct data acquisition without the overhead of developing and maintaining a custom codebase.
43
+
While powerful ecosystem libraries such as PyVISA [@grecco2023pyvisa] and PyMeasure [@pymeasure_2025] provide the foundational drivers for instrument communication, they are fundamentally software libraries that require the user to write and maintain code, creating a barrier to entry for researchers requiring direct data acquisition without the overhead of developing and maintaining a custom codebase.
44
44
45
45
PICA addresses this gap by functioning as a turnkey application rather than as 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
-
PICA’s architecture is designed to be highly configurable, enabling users to readily adapt it to their specific requirements and to implement user‑defined protocols in addition to the standard measurement protocols already provided. It eliminates the need for reconfiguring the measurement setup to achieve comprehensive characterisation, enabling continuous operation across the full range from ultra-low-resistance measurements (the current reversal technique effectively removes constant offsets and improves the signal-to-noise ratio) for superconductors to high-impedance electrometric measurements for high-band gap insulators (covering 24 orders of magnitude in resistance), using a single unified framework.
46
+
PICA’s architecture is designed to be highly configurable, enabling users to readily adapt it to their specific requirements and to implement user‑defined protocols in addition to the standard measurement protocols already provided. It eliminates the need for reconfiguring the measurement setup to achieve comprehensive characterisation, enabling continuous operation across the full range from ultra-low-resistance measurements (with the current reversal technique effectively removing constant offsets and improving the signal-to-noise ratio) for superconductors to high-impedance electrometric measurements for high-band gap insulators (covering 24 orders of magnitude in resistance), using a single unified framework.
47
47
Pyroelectric measurement performed using an electrometer enables a highly sensitive characterisation of ferroelectric phase transitions by detecting extremely small pyroelectric currents, with a resolution on the order of $10^{-15}$ A. The impedance analyser enables the characterisation of capacitance anomalies over the frequency range from 20 Hz to 2 MHz and is utilised for magnetocapacitance and photoinduced characterisation across a wide variety of multiferroic systems. Thus, the primary objective of PICA is to serve as a robust software platform that enables advanced high‑precision characterisation of materials.
48
48
49
49
The system is currently validated with scientific benchmark SMU hardware, including the AC-DC current source (Model: 6221, Keithley), the Nanovoltmeter (Model: 2182, Keithley), the Electrometer (Model: 6517B, Keithley), the DC Source Measure Unit (Model: 2400, Keithley), the impedance analyser (Model: E4980A, Keysight), and the temperature controller (Model: 350/340, Lakeshore). While the current implementation drives specific instruments, the underlying framework is highly customisable. Researchers using different hardware models need only replace the specific SCPI (Standard Commands for Programmable Instruments) commands with their instrument equivalent commands to utilise the suite.
@@ -58,7 +58,7 @@ It differentiates itself through the following unique features:
58
58
59
59
***Modular CLI Architecture:** As demonstrated in the repository, measurement modules also contain CLI (Command-line interface) 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.
60
60
61
-
***Operational Transparency:** Unlike a black box solution, PICA exposes real-time, time-stamped command logs for each measurement module, such as `[10:05:25] Keithley 6221: Ramping current to 10 mA`. Rejecting hidden automation and replacing the "black box" paradigm with transparent console logs that show every command sent to the instrument, thereby aiding debugging, ensuring the scientific reproducibility of experimental results, and allowing researchers to verify measurement protocols and troubleshoot hardware instantly.
61
+
***Operational Transparency:** Unlike a black box solution, PICA exposes real-time, time-stamped command logs for each measurement module, such as `[10:05:25] Keithley 6221: Ramping current to 10 mA`, Rejecting hidden automation and replacing the "black box" paradigm with transparent console logs that show every command sent to the instrument, thereby aiding debugging, ensuring the scientific reproducibility of experimental results, and allowing researchers to verify measurement protocols and troubleshoot hardware instantly.
62
62
63
63
***Open Source Extensibility:** PICA's modular design allows researchers to easily integrate new instrument drivers or experimental protocols by subclassing existing templates, fostering a community-driven ecosystem for instrument control. This ensures that the software remains adaptable, allowing researchers to extend support for their unique instrument configurations.
64
64
@@ -77,7 +77,7 @@ Unlike simple script-based automation, PICA decouples the User Interface (UI) fr
77
77
78
78
***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.
79
79
80
-
***Data Integrity:** Experimental data integrity is prioritised through a "write on acquisition" strategy. Data is structured using `pandas`[@pandas2025] and is saved to a CSV file immediately after every acquisition point, preventing data loss in the event of a power failure or program/system crash.
80
+
***Data Integrity:** Experimental data integrity is prioritised through a "write on acquisition" strategy. Data is structured using `pandas`[@pandas2025] and is saved to a `CSV` file immediately after every acquisition point, preventing data loss in the event of a power failure or program/system crash.
81
81
82
82
### Hardware Abstraction Layer
83
83
@@ -89,7 +89,7 @@ PICA utilises **PyVISA** [@grecco2023pyvisa] to abstract the low-level communica
89
89
90
90
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.
91
91
92
-
### Testing and Simulation
92
+
### Testing
93
93
94
94
To ensure measurement reliability, all of these modules were thoroughly tested with the corresponding hardware. Additionally, to facilitate development without constant access to physical instruments, PICA includes a testing suite that uses `pytest`. The suite employs `unittest.mock` to simulate VISA resources, allowing verification of backend logic streams, class structure, and command sequences in a continuous integration environment.
0 commit comments