Skip to content

ResistaMet GUI

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

DOI License: MIT

ResistaMet GUI — four-point-probe tab

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.