Piezo Z-positioning module

This module has been designed to allow the use of the Piezo objective positioner to do volume scanning. It is important to keep in mind that this module does not take into account any bias voltage applied to the device.


  • Perform 2D scans from the main GUI with an offset on the Piezo in the module.
  • Allow for piezo re-positioning while “FOCUS” is active
  • Piezo will not reset positions between acquisitions
  • Offset will be maintained and applied to the waveform driving the piezo as expected to allow volume scanning with an offset
  • Define the volume using the Piezo Z-positioning module


Piezo_Positionning_MD.vi” is already pre-loaded in SciScan 1.3 software, located in the plugin folder. See the illustration below.

When the main GUI is running, one can search and run “Piezo_Positionning_MD.vi” in the Plugin folder of the SciScan project.

The Piezo output signal is preset in the software if the configuration is standard. If the system has been customized, one needs to adjust the settings in the code. Please contact Scientifica for support.

Using the plugin

Once the plugin is running one can define a volume using the Piezo, without changing the Z-motor position.

You will select a position using the arrows with a set step size or use the offset text box to input a custom value. Adding a plane will populate the volume tab in the main GUI as well as allow generation of the scanning waveform. When the volume is defined, you can activate the Piezo as usual and the scanning (focus or Record) will be done using the defined waveform.

1 Command panel to drive the piezo. The values entered are converted into Voltage to adjust the position of the Piezo drive accordingly
2 Command button to add/remove planes. The coordinates are populated in the adjacent table and in the main GUI
3 Table of coordinates that will allow generation of the waveform

In the background, the volume waveform is generated using the position of the motor stored in the table. Here we are using the module to add an offset to the z-position values.

Example protocol

If your protocol implies to require time lapse of an area as a 2D frame, then a volume scan above and below this plane +/-30um, then you would set up the system as follow:

  • In the Piezo_Positionning_MD.vi, set the Z-Piezo offset to 30um. As standard, a value of 0 means the Piezo is at its resting position, ie. the top of its travel range. Applying a 30um offset at that stage will allow you to position your motors in the centre of the future volume scan.
  • Move the stage to the desired position for the 2D frame acquisition
  • Perform the time lapse using the main GUI
  • When ready for the volume scan, do not change the z-position using the Z-motor. Set the top plane In the Piezo_Positionning_MD.vi using Z-piezo offset (set it to 0 for a starting plane 30um above your time lapse)
  • Set the bottom plane (and any intermediate points using the same control).
  • When the set up is ready, activate the Piezo in the main GUI and record your volume scan as usual.
  • If the bottom plane is set with a Z-piezo offset of 60 and the top one at 0, you will then scan a volume of +/-30um around the time lapse plane.

Note that in that context you can only go as high as 30um above the initial plane. If the exact height is unknown, at first we would advise setting a bigger offset as a starting point (say 100um), that way, there will be higher flexibility when defining the volume scan (up to +/-100um around the original plane).

Was this article helpful?

Related Articles