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.
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.
Parses Maccor procedure files including nested loop structures and auxiliary channel references. Exports back to Maccor XML.
Reads Neware protocol XML with complex step encoding. Exports back to Neware XML format.
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.
Reads and writes Novonix .pro2 JSON protocol files.
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.

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

Common questions
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.