Gamry’s Sequence Wizard – An easy way to create complex test sequences


This application note discusses Gamry’s Sequence Wizard, its setup, and examples of how to use the Sequence Wizard. With the Sequence Wizard, you can easily build measurement sequences beginning from simple structures up to complex measurement procedures.

For more flexibility, Gamry Instruments provides you several ways to perform electrochemical measurements. You can choose from a variety of pre‑built techniques which are organized in specific groups in the Framework software. In addition, Gamry’s Open Source Scripting allows you to modify the experiment’s script source and to customize experiments.

If you need more information about the Explain script language, see Gamry’s Application Note section Open Source Scripting.

For combining single experiments, use the Sequence Wizard. The Sequence Wizard has the advantage that you can create complex measurement sequences using a drag-and-drop approach. In this way, customized experiments can be executed consecutively without interfering disruptions.

Gamry’s Sequence Wizard


Nearly all experiments of Gamry’s Framework can be used in the Sequence Wizard. Additionally, different functions are included for control of the settings of the potentiostat, the electrode, and other devices such as the Auxiliary Electrometer and the Electrochemical Multiplexer ECM8.

Generally, the following categories are preinstalled on the Sequence Wizard:

  • Hardware
  • Sequence Utilities
  • Electrode
  • General

In addition, optional software packages for different experiments can be installed:

  • DC105
  • EN120
  • EFM140
  • PHE200
  • PV220
  • EIS300
  • PWR800
  • Aux Electrometer

Open the Sequence Wizard from the Experiment menu of Gamry’s Framework (Figure 1).

Figure 1. Setup of Gamry’s Sequence Wizard.

Figure 1: Setup of Gamry’s Sequence Wizard.

The setup consists of two columns. On the left side are all usable experiments and tools, divided into subfolders. The right column stores the particular sequence you create.

To place single functions in a sequence, drag them from the left to the right column and drop them at the desired position. You can also double-click on a step to move it.

A third way is via the buttons on the bottom of the window. The plus Gamry Sequence Wizard Utilities and minus Sequence without and with a loop sign add and remove single steps. Arrow symbols move single steps upwards A sequence with a loop in a loop and downwards Define and Modify Variables in Sequence Wizard in a sequence. Change the indentation by left sequence wizard starts with the function Define Variable and right sequence a loop is started which contains a cyclic voltammetry experiment arrows. In this way, you can assign single steps to loops (see below).

When you double-click on a single step, a setup window opens in which you customize all important measurement parameters.

Basic Functions

Save your sequence with Save Sequence. The generated file has the ending *.GSequence, and can be modified again in the Sequence Wizard. With Save As Script, save a sequence as an Explain script. You can start an experiment without opening the Sequence Wizard again.

Initiate your sequence with Run Sequence. From top to bottom, each step in the sequence runs sequentially. By default, measurements are automatically performed with the first activated potentiostat.

 For additional information on Gamry's Sequence Wizard and its functions, use the help menu help icon sequence wizard at the top of the setup window.

Sequence Utilities


Pause a sequence using the function Delay, represented by a clock Pause a sequence using the function Delay symbol. Place it between those experiments where a pause is required. During this period the cell is normally turned off. The sequence continues with the next step when the delay is finished.

Figure 2 shows the Delay window. Set the Delay Amount (and its corresponding unit with a radio button). In this example, a sequence pauses for 60 minutes.

Set the Delay Amount

Figure 2: Setup for the function Delay.


One of the most important tools for building sequences is the loop. In the Sequence Wizard, single measurements are executed consecutively. To re‑run a single experiment, or multi‑steps several times, loops are required. They can simplify the complexity of a sequence drastically. Loops in the Sequence Wizard have a green circular arrow In Sequence Wizard single measurements are executed consecutively symbol.

Figure 3 shows two examples to perform a sequence of eight consecutive electrochemical impedance spectroscopy (EIS) measurements in potentiostatic mode. The right sequence is expressed with a loop and the left without one.

electrochemical impedance spectroscopy (EIS) measurements in potentiostatic mode

Figure 3: The the same sequence without (left) and with a loop (right).

All parts of a loop are indented. Change indents using the left and right arrows at the bottom of the Sequence Wizard.

The example of Figure 3 shows that instead of eight steps only two are needed with a loop to execute this sequence. Using loops is more efficient with increasing complexity of a sequence.

In addition, parameters and the file name have to be customized for each single measurement if no loop is used. With a loop, parameters have to be set only once.

Both sequences shown in Figure 3 generate eight files for each potentiostatic EIS experiment. The loop number is automatically added to each file name if loops are used.

The Sequence Wizard has five different types of loops:

Loop (Cycle)

Steps are repeated for a user-defined number of cycles.

Loop (Time)

Steps are repeated for a user-defined time.

Loop (Variable)

Loops continue until a defined variable meets a final criterion.

Loop (Mux Channel)

Loops are defined by the first and the last channel of a Multiplexer.

Loop (Cyclic Charge Discharge)

Cycle number and end criteria define the period of cyclic charge-discharge (CCD) tests.

Figure 4 shows how to use loops within other loops.

cyclic charge-discharge (CCD) tests

Figure 4: A sequence with a loop in a loop.

In this sequence, the outer loop consists of four different experiments. The first step of this outer loop is again a loop consisting of charge and discharge steps repeated for a given cycle number, or if an end criterion is reached, e.g., capacity falls below a set value.

When the inner loop is finished, a conditioning phase starts followed by an open-circuit potential (OCP) measurement and a galvanostatic EIS test. All steps of the outer loop are then repeated for a user-specified number of cycles.

Define and Modify Variables

By including and modifying variables, you can transfer parameters from one step to other steps. In combination with loops, this is an appropriate way to perform complex sequences easily.

Figure 5 shows a sequence with several cyclic voltammetry (CV) tests. The scan rate is increased after each loop until a final value is reached. Functions for adjusting variables have the symbol sequence with several cyclic voltammetry (CV) tests.

sequence with several cyclic voltammetry (CV) tests

Figure 5: A sequence with modified variables.

The sequence starts with the function Define Variable.  In its setup the variable Name, Type (Potential, Real, or Integer), and Value of the variable are determined. Figure 6 shows the setup of this function.

Define Variable

Figure 6: Setup for the function Define Variable.

Variable names must be unique and have to start with a letter from A to Z. Three parameters are already predefined (VLAST, VLASTvsREF, and ILAST) and their names are reserved.

In the next step of the sequence a loop is started which contains a CV experiment and the function for modifying a variable, Modify Variable.

At the end of each loop cycle the value of the defined variable is updated. The setup for the function Modify Variable is shown in Figure 7.

loop is started which contains a cyclic voltammetry experiment

Figure 7: Setup for the function Modify Variable.

Select a Variable Name from a drop‑down list. It gets changed by a Modifier (addition, subtraction, multiplication, parity) and a constant Value.

The loop in this sequence ends when the selected variable reaches a defined end criterion. Hence we use the function Loop (Variable). Figure 8 shows the setup.

loop is started which contains a cyclic voltammetry experiment

Figure 8: Setup for the function Loop(Variable).

Select the previously-defined Variable Name from a drop‑down list. The loop end criterion is defined by comparative Operators and a final Value.

Finally, the defined variable has to be linked with the executed experiment, which can be done in its setup.

In this case, the variable is the scan rate of the CV test. Figure 9 shows three sections of a CV setup.

defined variable linked with the executed cyclic voltammetry experiment

Figure 9: Three sections of the setup for a cyclic voltammetry test. For details, see text.

Note that the value of the modified parameter does not have a unit in the setup of function Define Variable. The corresponding unit is shown in the setup of the experiment where the parameter is customized.

When you click on the gear-plus symbol left of the parameter, value of the modified parameter, a drop‑down list appears where you select the defined variable. As a result, the whole parameter line is grayed out and it gets linked to the defined variable. By default no variable is selected.

After you select a variable, the grayed-out line still shows a value for the parameter. This value does not have a function anymore. The parameter uses only the value that was set in the function Define Variable and updated in Modify Variable.

In this example the variable is named VariedScanRate and it is initially set to 10 mV/s; then it is increased by 10 mV/s after each CV experiment. The total loop ends when a final value of 100 mV/s is exceeded. Ten CV files are automatically generated, each containing the actual loop number in its file name.

File grouping

A complex sequence with several measurements like the example above can create a lot of files. The Sequence Wizard offers a function to store these files in one place: Group Data Files, with the symbol Sequence Wizard offers a function to store files in one place. This symbol is also used for most experiments and functions which control the hardware and electrode settings.

Group Data Files groups all files that are generated in a sequence into one directory, or adds a precursor to each file name. Figure 10 shows the setup.

control the hardware and electrode settings

Figure 10: Setup for the function Group Data Files.

You can define the name for a group or a precursor respectively. If runtime dialog is enabled, a window appears prior to the start of the sequence, in which each group or precursor name can be entered.

Figure 11 shows an example for a sequence that uses the function Group Data Files. It is placed before those steps which are supposed to be grouped. The function can be used multiple times in a sequence to create several groups.

function used multiple times in a sequence to create several groups

Figure 11: Example of a sequence using the function Group Data Files.

In the example of Figure 11, three different directories are created. The first one includes all CV experiments, the second contains all EIS files, and the third all charge and discharge files. The actual loop cycle-number is automatically added to each file name.

Using the grouping function, you can store measurement files in one place in a better organized way. Moreover, you can run repetitive sequences by changing only a minimum of parameters. That makes it especially interesting for multi‑channel applications, for only the group name is changed for each channel or device.


This application note described Gamry’s Sequence Wizard. By means of examples, the setup and the use of several sequence utilities were discussed.

Complex sequences of different experiments can be created with only few modifications, saving a lot of time in preparation and execution. Additionally, you can run multiple experiments without interruptions and external disturbances.