Publication-Grade Electrochemical Impedance Spectroscopy Platform
Story · What's New · Capabilities · Workflow · Benchmarks · Applications · Comparison · Installation · Citation
ZScope was not designed in the abstract. It was born from a real experimental problem.
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.
AI-enhanced circuit proposer — local and online AI now assist the proposer in analysing your spectrum and suggesting equivalent circuit models. The underlying proposer architecture was also reworked for better baseline accuracy independently of AI.
Bring your own AI account — import and connect a personal or enterprise AI account to power the proposer.
New benchmark suite — integrated benchmarks for rigorously evaluating, comparing, and validating circuit model performance.
Upgraded Fitting, DRT and Kramers–Kronig evaluation — improved accuracy, better edge-case handling, and more robust metrics across all three.
Major fitting speed-up for large circuits — the Trust-Region Reflective bottleneck is resolved. The Jacobian is now derived analytically from the circuit rather than approximated by finite differences, costing one linear solve instead of one per parameter. Circuits with 10+ free parameters fit roughly 20–35× faster, with equal or better final fit quality.
Note on uncertainties: two corrected defects affected reported ± intervals on multi-arc circuits and on circuits containing an inductance. Fitted parameter values are unchanged. If you have drafted uncertainties from such fits, please re-run them.
🖥️ 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 Rct, 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 recognizes the native export formats of most common potentiostats — Gamry, BioLogic, Autolab, Zahner, Ivium, CHI, PalmSens, PAR, and more — and falls back to a smart generic parser for anything else.
|
||||||||||||||||
✅ Kramers–Kronig ValidationBefore fitting any parameters, confirm your data is worth fitting. ZScope implements the linear KK test (Boukamp's lin-KK method) with quantitative, modulus-weighted residual mapping.
One keystroke (Ctrl+K), under 2 seconds. |
🎯 Advanced Fitting EngineAn escalating optimizer: exact, inexpensive methods first — global search engaged only when a fit fails quality acceptance, never as a routine tax on every run.
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 LHS+TRF+DE 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, twelve test cases, all converging 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 available 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 (LHS+TRF+DE) | ✗ Local only | Variable | ✅ Escalating 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},
version = {2.1.0},
url = {https://github.com/Tecush/ZScope},
doi = {10.5281/zenodo.20357547}
}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.
