Publication-Grade Electrochemical Impedance Spectroscopy Platform
Story · Capabilities · Workflow · Benchmarks · Applications · Installation · Citation
ZScope was not designed in the abstract. The idea for ZScope was born in the laboratory during my own experimental work.
During an electrochemical study, I needed to capture a baseline EIS spectrum at the start of a reaction — then measure six more spectra at different oxidation states as the reaction progressed. Each spectrum represented a distinct state of the system, and together they told the story of a mechanism evolving in time.
The analysis became a frustration. Working through seven spectra with existing tools was slow, disjointed, and offered no intuitive sense of how parameters evolved across the series. There was no way to interactively explore the relationship between circuit components and spectrum shape — to build the physical intuition that makes EIS meaningful.
I kept thinking: what if I could draw a circuit, move a slider, and watch the simulated Nyquist plot respond in real time — overlaid on my experimental data? Not as a fitter, but as a lens for understanding. A way to arrive at a physically motivated starting point before handing off to a numerical optimizer.
That idea became the first version of ZScope.
As the tool took shape, it grew. The fitting engine followed — built with the same insistence on reliability and physical transparency. Then Bayesian uncertainty quantification, because a parameter without an honest uncertainty estimate has limited scientific value. Then data validation, custom components, automatic circuit suggestion, and structured reporting.
ZScope is the tool I needed during that experiment. It is free, and I hope it gives other researchers something better than what was available to me.
Distribution: ZScope is released as a ready-to-install application for Windows. Source code is not publicly distributed. Full scientific documentation, validation benchmarks, and an in-app help manual are provided so you can trust what happens inside.
🖥️ Real-Time Interactive SimulationThe feature that started it all. Draw an equivalent circuit on the visual canvas, set your parameters, and the Nyquist, Bode, and Phase plots update instantly — with your experimental data overlaid. Adjusting R_ct, CPE exponent, or Warburg coefficient by hand and watching the spectrum respond builds the kind of physical intuition no black-box fitter can provide.
|
📥 Flexible Data ImportImport EIS data without fighting file formats. ZScope auto-detects column assignments, cross-validates Re/Im vs Mag/Phase representations, and handles sign convention differences between instruments.
|
||||||||||||||||
✅ Kramers–Kronig ValidationBefore fitting any parameters, confirm your data is worth fitting. ZScope implements the linear KK test with quantitative residual mapping.
One keystroke (Ctrl+K), < 2 second result. |
🎯 Advanced Fitting EngineA three-stage hybrid optimizer designed to find the true global minimum, not just the nearest local one:
Modulus weighting · Soft-L1 robust loss · AIC/BIC model selection · Warm-start for series measurements (60–80% speed gain) |
||||||||||||||||
📊 Bayesian MCMC UncertaintyA single point estimate is not enough. ZScope uses the
|
🔧 Extensible Element Library
Custom elements are defined through a GUI designer, exported as |
Load Data ──▶ KK Validate ──▶ Build Circuit ──▶ Fit ──▶ MCMC ──▶ Export
│ │ │ │ │ │
auto-detect < 2 seconds real-time sim DE+LHS+TRF posterior txt/csv/
column format residual map overlay data warm-start credible json/PDF
- Import — ZScope detects column format, cross-validates consistency, and lets you filter rows before any calculation
- Validate (Ctrl+K) — Confirm linearity and stationarity; investigate flagged frequency regions
- Build your circuit — Draw on canvas, choose a preset, or request an algorithmic suggestion based on spectral fingerprinting
- Fit — Configure weighting, loss function, restarts, and frequency band; run the optimizer
- Quantify uncertainty — Run Bayesian MCMC for full posteriors, credible intervals, and convergence diagnostics
- Export — Publication-ready figures (PNG/SVG/PDF), parameter tables, and structured reports
Validated on synthetic data with known ground-truth parameters. Four circuits × three noise levels = 12 test cases. All 12 converged successfully.
| Circuit | Noise | Accuracy |
|---|---|---|
| Randles | 0% | Relative error < 10⁻¹² % — machine precision |
| Randles + Warburg | 2% | RMSE 1.68–1.74% · max individual error 1.22% |
| CPE Randles | 5% | Recovery within noise level · Q–α correlation correctly identified |
| Two-Time-Constants | 5% | Recovery within noise level |
The Q–α correlation in the CPE case is not a software deficiency — it reflects a genuine physical interdependence in CPE parameterization. ZScope correctly detects and reports it.
All benchmark data, comparison tables, and analysis scripts are in benchmarks/ for independent verification.
| Domain | Typical Use |
|---|---|
| Battery Science | SEI/CEI characterization · charge-transfer kinetics · Li-ion diffusion · state-of-health monitoring |
| Photovoltaics | Recombination dynamics · ion migration · hysteresis · capacitance spectroscopy |
| Corrosion Science | Polarization resistance · coating integrity · inhibitor screening · lifetime prediction |
| Fuel Cells & Electrolyzers | Ohmic · kinetic · mass-transport deconvolution in PEM, AEM, and solid-oxide systems |
| Supercapacitors | Double-layer behaviour · faradaic contributions · porous electrode transmission-line analysis |
| Bioelectrochemistry | Redox probe kinetics · biosensor interfacial impedance · biomolecular binding |
| Mechanistic Studies | Multi-state or time-series EIS — the exact scenario ZScope was designed for |
| Capability | Commercial Tools | Academic Scripts | ZScope |
|---|---|---|---|
| Real-time interactive simulation | Rarely | ✗ | ✅ Instantaneous |
| Bayesian MCMC posteriors | Rarely | Manual | ✅ Full emcee engine |
| Kramers–Kronig validation | Limited | Manual | ✅ Integrated + residual maps |
| Global optimization (DE+LHS) | ✗ local only | Variable | ✅ Three-stage hybrid |
| Algorithmic circuit suggestion | Uncommon | ✗ | ✅ Spectral fingerprinting |
| Custom elements (no coding) | Restricted | Script-level | ✅ GUI designer |
| Sequential warm-start fitting | Rarely | Manual | ✅ Automatic |
| Structured export (txt/csv/json/PDF) | Partial | Manual | ✅ Full |
| Cost | 💰 Annual license | Free | ✅ Free |
No Python. No package manager. No dependencies. Download, run the installer, open ZScope.
macOS and Linux support are planned. If you work on those platforms, please open an issue — user demand shapes the roadmap.
If ZScope contributes to published research, please cite it so others can find it:
@software{zscope2026,
author = {Mohammadi, Tecush},
title = {ZScope: Publication-Grade Electrochemical Impedance Spectroscopy Analysis Platform},
year = {2026},
url = {https://github.com/Tecush/ZScope}
}Developer: Tecush Mohammadi Email: tecush@gmail.com GitHub: @Tecush Issues & feature requests: GitHub Issues
Questions about scientific methods, specific use cases, or validation data are welcome by email.
