go through releases and tags, for the finalised released versions
- GUI Theme: Refreshed with the Latte theme — a lighter, warmer color palette for improved readability and reduced eye strain during long measurement sessions.
- Distribution: Published the official package to PyPI as
pica-suite. - Documentation: Full online documentation site launched via GitHub Pages.
- Maintenance: General bug fixes and performance improvements in measurement modules and real-time plotting logic.
- Versioning: Version numbering has been reset from legacy development builds (v17.0) to v1.0.0 to standardize the package for public distribution and citation.
- JOSS Submission: Cleaned up documentation, performed fresh install tests, and completed other proofreading in preparation for submission to the Journal of Open Source Software (JOSS).
Changed
- Directory Structure: Refactored codebase into a professional project structure; moved numerous files to appropriate subdirectories for better organization.
- Versioning: Standardized version naming conventions. Adopted Semantic Versioning (v17.0).
Research & Documentation
- Paper Draft: Completed and presented the first draft of the research paper to Dr. Sudip Mukherjee.
- Feedback: Received critical feedback regarding the inclusion of ATMS (Advanced Transport Measurement Systems).
- Launch: PICA project posted on Hacker News.
Released: November 22, 2025 Status: Tested and operational. Minor cosmetic updates pending.
JOSS Submission & Professionalization
- Code Cleanup: Comprehensive refactoring and cleanup of the codebase to meet professional standards for JOSS submission.
A Note on Recent Updates and Testing:
This software suite is actively used for daily laboratory measurements and is regularly tested on the physical instruments. Recently, a suite of automated tests has been integrated to improve code quality and stability. While these tests validate the core logic, the changes made to support them require a new round of thorough manual testing on the hardware to identify and resolve any practical bugs that may have been introduced. This process is currently underway, and further updates will be provided upon its completion.
Released: November 15, 2025
- Improved "Getting Started" Guide: Clarified installation and launch instructions.
- Enhanced Documentation: Overhauled the main project
README.mdto provide a more comprehensive overview, including a new "Architecture" section that details the frontend-backend separation and the role ofmultiprocessing. - Synchronized Executable README: Updated
PICA_README.mdfor the standalone executable.
GUI Enhancements & New Measurement Modes
- Major GUI Version Bumps: Updated numerous frontend scripts to their latest stable versions.
- New Passive "Sensing" Modes: Introduced "T-Sensing" modes for resistance logging during external temperature changes.
- New
Delta Mode R-T (T_Sensing)module. - New
K2400 R-T (T_Sensing)module. - New
K2400_2182 R-T (T_Sensing)module. - New
K6517B R-T (T_Sensing)module.
- New
- Plotter Utility Upgrade: Enhanced
PlotterUtil_GUI.pyto support simultaneous multi-file plotting.
Released: October 10, 2025
Milestone: Base Laboratory Deployment
- Status: A stable base version for the laboratory is in place. Almost all core instrument communication and measurement loops are working perfectly.
- Context: This release (
b545cef) marked the completion of functional development before the focus shifted to cosmetic UI improvements and standardization.
Released: October 09, 2025
Documentation & Launcher Synchronization
- Documentation Overhaul: Synchronized
README.mdandChange_Logs.md. - Executable-Specific README: Created
PICA_README.md. - Launcher Script Update: Updated
PICA.pyto reflect versioning.
Released: October 09, 2025
Build System & Documentation Overhaul
- New Build System: Introduced
Picachu.pyfor creating standalone Windows executables via Nuitka. - Automated Releases: Implemented GitHub Actions
build-exe.ymlfor automated compilation. - Build Script Refinements: Optimized
resource_pathfor bundled assets.
Released: October 08, 2025
GUI Standardization & Modernization
- Major UI/UX Overhaul: Refactored key frontends (Delta Mode R-T, High-Resistance R-T, Lakeshore Control) to align with the modern, dark-themed UI standard.
- Backend Refinements: Updated
IV_K6517B_L350_T_Control_Backend_v6.pyandT_Control_L350_Simple_Backend_v10.pywith improved stability logic.
Released: October 07, 2025
New Measurement GUIs & UI Standardization
- New LCR C-V GUI: Integrated
CV_KE4980A_GUI_v2.py. - New K2400/2182 Suites: Added standardized I-V and R-T frontends.
- UI/UX Overhaul: Standardized all new frontends with a consistent dark-themed design.
Released: October 06, 2025
Project-Wide Refactoring
- Major Refactoring: Reorganized all scripts into instrument-specific folders (e.g.,
Keithley_2400,Delta_mode_Keithley_6221_2182). - New Structure: Separated logic into
BackendsandGUIsub-folders.
Released: October 05, 2025
PICA Launcher & Script Integration
- Enhancement: Upgraded to
PICA.pywith a two-column layout. - New Feature: Integrated markdown documentation viewer and automatic GPIB/VISA scanner.
Released: October 05, 2025
- Enhancement: Updated launcher to distinguish between "Active" and "Passive" R-T modes.
- New Scripts: Integrated specialized scripts for Keithley 2400 R-T measurements.
Released: October 05, 2025
- Enhancement: Integrated new professional frontends for the Keithley 2400/2182 measurement suite.
Released: October 04, 2025
- Enhancement: Validated
Delta_Mode_Active_Temp_Control_V2.pyandDelta_Mode_IV_Ambient.py.
Released: October 03, 2025
- New Program: Developed
Delta_Mode_Active_Temp_Control.pyfor automated temperature ramping. - New Program: Created
Delta_Mode_IV_Ambient.py.
Note on Project Origins: The PICA software suite underwent an extensive offline development phase on isolated laboratory instrument control systems before its full migration to GitHub. The timeline below reconstructs the development history from raw commit logs and code diffs.
Focus on High Resistance & Temperature Control
- Sep 18, 2025: Refined backend logic for High-Resistance Module (6517B).
- Sep 17, 2025: Developed comprehensive front-end/back-end for High-Resistance R vs. T. Integrated linearized drivers for Lakeshore 350.
- Sep 10, 2025: Major cleanup of
IV_Measurementscripts and creation ofLockin_Only.py. - Sep 06, 2025: First Major Refactor. Reorganized loose scripts into categorized folders (
IV_2400_Only,Pyroelectricity,Temprature_Controller).
Transitioning from Scripts to Modules
- Aug 15, 2024: Added
Lakeshore_340_Continue_test.pyto support the older Lakeshore 340 model. - July 27, 2024: Structural reorganization. Moved root-level scripts into categorized folders (
Pyroelectricity,LCR Keysight E 4980 A). RenamedKeithley_6517B.pytoPyroelectricity/Keithley_6517B.py.
Migration of Offline Work
- Mar 22, 2024: Added Poling capabilities (
Poling_Keithley6517B.py). - Mar 12, 2024: Updates to
IV_Measurement.pyandIV_Combine_2400-2182.pylogic. - Mar 11, 2024: Massive Feature Commit. Added
LCR_CV.py(Capacitance-Voltage),Live_Data_Final-pyro.py, andIV_Measurement.py. - Mar 03, 2024: Core Drivers Added. Initial upload of
Keithley_6517B.py,Lakeshore350.py, andPyroelectric.pydrivers. This marks the end of the first major offline development block.
Proof of Concept & Raw SCPI Implementation
- Dec 09, 2023: Updates to
IV_Front_End.pyandREADME. - Dec 08, 2023: Project Birth (Version Control).
- Commit:
963c8fd- "Create Combine_2400-2182.py". - Technical Detail: This initial script implemented raw SCPI buffer operations (
trace:data?,assert_trigger). - Commit:
f45dba8- "Create GPIB_TEST.py". Established the first connectivity test for instrument communication.
- Commit:
Concept, Learning, and Prototyping
-
June 10, 2022: First Tangible Prototype. Initial proof-of-concept scripts for I-V characterization and shared ("Emailing code for IV.pdf"). This marked the validation of the Python-based control approach before formal development began.
-
June 09, 2022: Environment Setup & Skill Acquisition. Due to the air-gapped nature of the laboratory computers, the initial Python environment was established by manually downloading dependencies (PyVISA, NumPy, Matplotlib) and installing them offline. This phase involved guided learning of instrument control concepts (e.g., "Python in Origin", SCPI basics) alongside specific training provided by the PI.
-
Collaboration Note: The project's realization was significantly aided by colleagues (from UGC-DAE CSR,Mumbai) who assisted in rectifying technical issues and developing the necessary cryogenic probes and hardware fixtures required for measurements.
-
June 2022: Project Ideation. Dr. Sudip Mukherjee (Principal Investigator) proposed the initiative for laboratory automation from manual methods to Python-based control. He provided critical roadmap materials, including reference videos, instrument handling protocols, and conceptual designs for the GUI layouts and hardware integration.