Ionworks

Simulate your test protocol before you run it

Upload an Arbin, Maccor, Neware, BioLogic, or Novonix schedule file. Run it against a cell model. See predicted voltage, current, and capacity traces in minutes. If a step is wrong, you know before loading a single cell.

The problem

Test protocols are code with no compiler

An Arbin .sdu schedule file is an INI-style program with conditional logic, loop counters, user-defined variables, formula-driven limits, and nested step blocks. Maccor, Neware, BioLogic, and Novonix each have their own format with their own control flow conventions. The people writing these programs are electrochemists, not software engineers. There is no linter, no unit test, no dry run. The test itself is the test.

A rate ladder that charges at 4C instead of C/4 because a variable was set wrong will produce data, just not the data anyone wanted. A GITT pulse sequence with the wrong rest duration will finish, but the relaxation curves will be useless for diffusion coefficient extraction. A loop counter with an off-by-one error runs 99 cycles instead of 100.

The cost is not the cell. It is the channel time, the engineer's time reviewing data that should not exist, and the weeks of delay before the real experiment runs.

How it works

Parse, inspect, simulate

01

Parse

Upload a schedule file from any supported cycler. A dedicated parser reads the native format, resolves its internal control flow, and converts it to a universal cycler protocol (UCP): a vendor-neutral, validated representation of the same program.

02

Inspect

Read your protocol in a structured, human-readable format. Every step shows its control mode, direction, end conditions, and variable assignments. Nested loops, subroutine calls, and conditional branches are visible without needing to parse Arbin INI or Maccor XML by hand.

03

Simulate

Run the protocol against a cell model. The simulator steps through each instruction as the cycler would: applying setpoints, evaluating end conditions, tracking variables, and advancing steps. The output is a full predicted time series: voltage, current, temperature, SOC, capacity.

Supported formats

Six cycler formats, full round-trip

Import a protocol from one vendor, edit it, export to another. The UCP layer makes protocols portable across cycler brands.

Arbin.sdu / .sdx

Full support for user-defined variables (MV_UD1–16), formulas (F_*, F_INPUT_*, AF_*), loop counters (TC_Counter1–4), CCCV dual-phase steps, and compound end conditions. Round-trip export back to Arbin INI preserves version and signature metadata.

MaccorXML / CSV

Parses Maccor procedure files including nested loop structures and auxiliary channel references. Exports back to Maccor XML.

NewareXML

Reads Neware protocol XML with complex step encoding. Exports back to Neware XML format.

BioLogic.mps / .bttest

Supports both the .mps text format and the newer .bttest JSON format. Handles CC-CV native steps, PEIS parsing, and electrode potential terminations. Exports to BT-Test JSON.

Novonix.pro2

Reads and writes Novonix .pro2 JSON protocol files.

PyBaMMExperiment

Converts UCP protocols to pybamm.Experiment step strings, unwrapping loops and resolving parameterized expressions. Use this to run the same protocol directly in PyBaMM outside the platform.

For a guide to the data output side of these same cyclers, see Battery cycler data formats.

Protocol builder

Build protocols from scratch

Start from a template or a plain-language description instead of writing cycler vendor syntax by hand. The protocol builder produces a UCP that can be simulated immediately and exported to any supported cycler format.

Describe “a rate ladder from C/5 to 3C with 30-minute rests between each rate, discharging to 2.5 V” and the system generates a complete step sequence. For standard tests like HPPC and formation cycling, this is faster than building the program manually in MITS Pro or Maccor's procedure editor.

Built-in templates

CC discharge / charge

Constant-current cycling with configurable CCCV charge

GITT

Galvanostatic intermittent titration with parameterizable pulse and rest durations

PITT

Potentiostatic intermittent titration with voltage-controlled pulse blocks

Pulse resistance

DCR measurement via resistance pulses at configurable SOC points

Pseudo-OCV

Low-rate charge or discharge for open-circuit voltage mapping

EIS

Frequency-swept electrochemical impedance spectroscopy

Cyclic voltammetry

Voltage ramp cycling for electrochemical characterization

Cycle aging

Long-duration calendar and cycle aging with variable tracking

Why it matters

Protocol errors multiply across every channel

A characterization campaign might run six cell formats across four temperatures with three replicates. That is 72 channels running programs that took weeks to write and review. If the program has a mistake, the cost multiplies across every channel.

Simulating the protocol catches a different class of error than simulating the cell. Does this step sequence reach the voltage needed for the subsequent EIS measurement? Will the rest period allow sufficient relaxation at low temperature? Does the loop terminate after the right number of cycles? Will the safety limits trip during the high-rate step?

These are program verification questions. The cell model only needs to be accurate enough to produce realistic voltage and current responses. An ECM parameterized from a single curve is often sufficient.

Iontra logo
Ionworks gives our customers the tools to reduce their development time and cost to implement Iontra Charge Control protocols in their products.
Manoj Koul
Manoj Koul
CTO, Iontra

Common questions

Any model available in Ionworks. An equivalent circuit model (ECM) parameterized from a single drive cycle is the fastest option and sufficient for protocol verification. For teams that need internal state predictions (anode potential, lithium concentration), the simulator also works with full physics-based SPMe and DFN models built on PyBaMM.
Seconds to minutes depending on step count and model fidelity. A 200-step Arbin schedule with nested loops against an ECM finishes in under a minute. A multi-day aging protocol against a DFN model takes longer, but still completes in a fraction of the time the physical test would require.
Yes. The universal cycler protocol (UCP) layer is vendor-neutral. Import an Arbin schedule, edit it, and export to Maccor XML or any other supported format. This is useful for teams running multiple cycler brands across different labs.
The converter preserves user-defined variables, formula expressions, loop counter logic, CCCV step parameters, compound end conditions, and schedule-level metadata (version, signature). The exported .sdu file loads directly into MITS Pro. Drive cycle references and pause steps (which require manual intervention) are noted but not simulated.
Yes. The protocol simulator is available as a standalone tool. Teams that want the full workflow (data ingestion, parameterization, simulation, optimization) use it within Studio. Teams that only need protocol verification can use it independently.
Describe a test in plain language ("rate ladder from C/5 to 3C with 30-minute rests, discharging to 2.5 V") and it generates a complete step sequence in the UCP format. Useful for standard protocols like HPPC, rate capability, and formation cycling where the structure is well-defined but tedious to specify step by step.

See the protocol simulator on your own test programs

Upload an Arbin schedule, a Maccor procedure, or any supported cycler format and walk through a simulation with our team.