ResistaMet GUI¶
Open-source graphical interface for electrical characterization with Keithley 2400-family sourcemeters.

What it does¶
Six measurement modes on the same Keithley 2400-family instrument, all in one point-and-click GUI:
| Mode | Sources | Measures | Typical use |
|---|---|---|---|
| Resistance | Current | Resistance | 2- or 4-wire resistance, long-duration logging |
| Voltage Source | Voltage | Current | Bias stress, chronoamperometry, electrochemistry |
| Current Source | Current | Voltage | Material characterization |
| Four-Point Probe | Current | Voltage | Sheet resistance + resistivity (ASTM F84) |
| I-V Sweep | Voltage or Current | Current or Voltage | Diode / device curves, hysteresis |
| Van der Pauw | Current | Voltage | Sheet resistance on arbitrary-shape samples (ASTM F76) |
Source / measure envelopes vary by model — see Installation → Instrument compatibility for the full per-model table. Per-reading instrument uncertainty from the Keithley datasheet propagates through every derived quantity (sheet resistance, resistivity, conductivity).
The live readout colors V/I/R/P labels per channel using the Wong colorblind-safe palette (Nature Methods, 2011): blue V, green I, vermillion R, orange P. The ± σ portion is dimmed so the main number stays the visual anchor.
Try it now (no instrument required)¶
If you already have Python:
git clone https://github.com/PEEKPerformer/ResistaMet-GUI.git
cd ResistaMet-GUI
pip install -e .
resistamet-gui --simulate
The --simulate flag launches the full GUI against an in-package Keithley 2400-family simulator. Every measurement mode works end-to-end with no NI-VISA, no pyvisa-py, and no GPIB hardware. The simulator is byte-validated against captured hardware traces; see Simulator Fidelity.
If you don't have Python, the latest GitHub release has a standalone Windows .exe — see Installation → Windows .exe.
Optional flags:
--sim-resistance 1000— advertise a 1 kΩ DUT (default 100 Ω)--sim-model 2410— advertise a different Keithley model (default 2420)--sim-noise-rsd 1e-3— Gaussian noise RSD applied to the measured side of each reading (default 0.0 = perfect Ohm's law)
Documentation map¶
| Page | Purpose |
|---|---|
| Installation | Two install paths (Python source, Windows .exe), VISA backends, Linux Qt deps, per-model envelope |
| Quick Start | First-measurement walkthrough, per-mode workflows, useful inputs |
| Concepts | Plain-English glossary for SMU terms (NPLC, compliance, auto-zero, Enhanced R, 4PP, vdP) |
| Settings | Settings dialog tour with per-knob explanation and defaults |
| Data Outputs | CSV / HDF5 / legacy JSON reference, every column for every mode |
| Troubleshooting | Common errors and how to resolve them |
| Simulator Fidelity | What the in-package fake covers, what it doesn't, and how it's validated |
| Citation | BibTeX, DOIs, downstream publications |
Source, issues, contributions¶
Source: PEEKPerformer/ResistaMet-GUI.
Bug reports, feature requests, and SCPI-trace contributions are welcome — see CONTRIBUTING.md.