SweepMe! 1.5.8.2 beta - Introducing Dynamic Sweeps

Release of SweepMe! 1.5.8.2 beta

We are releasing the first beta version of SweepMe! 1.5.8, which introduces the long‑awaited support for dynamic sweep values. This extends how sweep parameters can be generated and used during a measurement.


Dynamic Sweep Values — Sweeps Can Change During Measurement

Up to now, all sweep values in SweepMe! were pre‑calculated at the beginning of a measurement. This applied to sweeps defined through:

  • the SweepEditor

  • modules such as ReadValues, or TableValues

  • or even a simple Loop

As a result, sweeps were always static, even if intermediate modules produced new values that would have been useful for subsequent steps.

With SweepMe! 1.5.8, sweep values can now be recalculated dynamically.

The update happens whenever a module starts its sweep (in technical terms: in the signin phase of the Sequencer procedure).

This allows measurement sequences that adapt to values generated earlier during the run.


Example: Dynamic Sweep Ranges for an SMU

To demonstrate the concept, we provide a setting based on the standard SMU example that comes with SweepMe!:
DynamicSweepValues_SMU.set (5.2 KB)
(Download the setting and open it in SweepMe! 1.5.8 or drag’n’drop the downloaded file into the Sequencer of SweepMe! 1.5.8)

Instead of fixed voltage start/end values, we use the Parameter Syntax to define the voltage range dynamically based on the Loop module’s SweepValue.

In each Loop iteration, the SMU module will sweep over a different range now:

  • Loop 1: –1 V … +1 V
  • Loop 2: –2 V … +2 V
  • Loop 3: –3 V … +3 V
  • Loop 4: –4 V … +4 V

This is only a basic illustration. In practice, the dynamic value would more often come from:

  • ReadValues

  • TableValues

  • CustomFunction

  • or any module that generates numeric output

Here is a more realistic setting, where the sweep values are defined in a TableValues module:
DynamicSweepvalues_TableValues_SMU.set (5.9 KB)


New Mode for Module “Sweep”: Sweep Over Input Lists

The Sweep module can now sweep over a list of values provided at runtime.

Such a list may come from:

  • a previous branch

  • a CustomFunction

  • modules such as Form or ReadValues

  • or any module that outputs lists

Example use case:

Let’s say after identifying peak wavelengths in a spectrum, we want to run further measurements exactly at those peak values, which usually are not known before starting the measurement.

So step 1 would be the measurement of the spectrum and the identification of the peaks, and step 2 would be a sweep over the determined peak wavelengths from step 1.

For simplicity, our example does not use a real spectrometer or peak identification algorithm, instead it uses a Calc module to generate a mock list of wavelengths: [656.279, 486.135, 434.0472, 410.1734, 397.0075, 388.9064, 383.5397, 364.5]. These are then passed to the Sweep module.
Sweep_over_lists.set (4.7 KB)

The sequencer and the configuration of the Sweep Module looks as shown in the following screenhots. Note that the new List option has been selected as Sweep value.


In the output data for step 2, we can see a measurement was taken for each of the peak wavelengths of step 1 (in this example Logger1 just “measured” the time since step 2 was started)

Time elapsed     Time stamp                   SweepPeaks Value   SweepPeaks Index   Logger1 Time
s                                                                                   s

1.50680410e+00   2026-02-09T18:15:26.890446   6.56279000e+02     1                  1.75400000e-03
1.50906760e+00   2026-02-09T18:15:26.892448   4.86135000e+02     2                  4.01840000e-03
1.80953020e+00   2026-02-09T18:15:27.193054   4.34047200e+02     3                  3.04496300e-01
2.11032200e+00   2026-02-09T18:15:27.493758   4.10173400e+02     4                  6.05337900e-01
2.41010880e+00   2026-02-09T18:15:27.793506   3.97007500e+02     5                  9.05101400e-01
2.71020680e+00   2026-02-09T18:15:28.093691   3.88906400e+02     6                  1.20523760e+00
3.01004640e+00   2026-02-09T18:15:28.393433   3.83539700e+02     7                  1.50506650e+00
3.30976440e+00   2026-02-09T18:15:28.693322   3.64500000e+02     8                  1.80472550e+00

Module “Sweep” becomes a Pro module

With dynamic sweep values and the new list-based sweep mode, the Sweep module now provides extended capabilities and therefore qualifies as a Pro module.
The free version of SweepMe! also became more powerful and supports dynamic sweep values via the SweepEditor, which is included in many instrument modules.


Required Module Updates for SweepMe! 1.5.8

To support dynamic sweep values, SweepMe! 1.5.8 contains internal changes that require updated module versions.

Modules already included and up to date

The following modules are bundled with the SweepMe! installation.
If you use their pre‑installed versions, no action is required:

  • Calc
  • Camera
  • Hold
  • Logger
  • Loop
  • MakeFile
  • Sweep
  • Temperature
  • Time

Modules requiring an update via the Version manager

If you use any of these modules, please download their latest versions for 1.5.8 through the SweepMe! Version manager:

  • LockIn
  • MakeFolder
  • Monochromator
  • NetworkAnalyzer
  • ReadValues

Downloading and Testing SweepMe! 1.5.8.2 beta

You can download the beta from:

  • your Account dashboard on the SweepMe! website, or

  • within SweepMe! via Help & Info → Upgrade

SweepMe! 1.5.8 installs in parallel to SweepMe! 1.5.7, allowing you to test the new version while keeping the previous one available for productive measurements.

Your feedback is welcome and will help us further refine the new features for the next stable release.


You can find the complete list of changes in the changelog.

1 Like