PIEC: Physics Instrument Extension & Control
PIEC is a comprehensive, open-source Python framework designed to standardize, automate, and streamline scientific instrumentation and laboratory measurements.
Project Tenets
As a co-founder of the GitHub organization TransluSci, I built PIEC alongside my co-founder Alexander Qualls to address systemic shortcomings in automated lab control. We drove development around three key tenets:
1. Instrument Agnosticism
If you write an experiment control script that requires a certain instrument class, it will run across any manufacturer. Standardized calls like set_timebase translate seamlessly, preventing vendor lock-in.
2. Crystal-Clear Openness
Commercial testers (like Radiant) are treated as closed black-boxes. PIEC provides an open-source library of standardized measurements with transparent execution so you know exactly how data is gathered.
3. Plug-and-Play Extension
Our measurements are decoupled from instrument models. If you write a new equipment driver using the PIEC framework, all existing standardized measurements will immediately support your instrument.
The Origin Story
Act I — The Fork
I spent a long time working on my own personal fork of the acquisition package, EKPY, adding customized features and instrument drivers. However, as the codebase grew, adding clean extensions began to clash with the underlying system structures.
Act II — The HZO LabVIEW Incident
The ultimate turning point occurred when we needed to replicate ferroelectric testing on Hafnium Zirconium Oxide (HZO) films from another group. They sent us their LabVIEW code, and despite our lab using identical equipment models, the code simply refused to run. This was just ridiculous and reinforced my hatred for LabVIEW. I decided to rewrite the entire testing pipeline into Python from scratch, realizing we needed a complete break from old structures.
Act III — Starting Anew
Before starting from a blank slate, I evaluated existing solutions (e.g. PyMeasure). While useful in its own right, it missed the features I had come to love from EKPY and didn't resolve the essential tenets we had outlined above. I joined forces with my co-founder Alexander Qualls (we were actually both undergrads in the same lab yet never met until my PhD) and established the TransluSci organization to fix this problem with the eventual goal of getting into the hardware space. We created PIEC - Python Integrated Experimental Control, building a framework centered around strict parameter normalization and virtual instrument modeling for offline verification. Write code once, and experiment for the rest of your PhD (or so we hope).
Quick Start
PIEC is hosted on PyPI. Install the package using pip:
pip install piec