View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Zaber T-LSM Translation Stage Driver

5.0 | 2 ratings Rate this file 6 Downloads (last 30 days) File Size: 71 KB File ID: #40197 Version: 1.4

Zaber T-LSM Translation Stage Driver



06 Feb 2013 (Updated )

A driver framework for Zaber T-LSM compatible translation stages (firmware 5.29, 10.07.2013).

| Watch this File

File Information

The driver framework implements the hardware/firmware reference of the Zaber Technologies Inc. T-LSM compatible translation stages as described on "".

Devices listed on "" are supported, but only T-LSM stages have been tested. Double check the parameters in "ZaberDeviceList.m" for your model. New devices can be added to this file, which has to be executed once to produce the relevant file "ZaberDevices.mat"

"ZaberTest.m" contains possible calls to all functions, so please don't run the full script via F5 or the "Play" button.

Help Texts are thankfully taken from the Zaber wiki page.

Implementation of all functions with alias number and error handling proved to be too complex for Instrument Control Toolbox instrument drivers - so these are just m-files which require only a serial port object and the function input parser functionality of Matlab.


This file inspired Firefly Algorithm.

MATLAB release MATLAB 7.13 (R2011b)
Other requirements translation stage & accessories, serial port or USB/serial adapter; Matlab versions with function input parser
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (7)
23 Aug 2016 Ajay Singhvi

Hi Peter,

Were you able to modify the code for the A-MCA controller? Is so, could you please share it? It would be very helpful.


Comment only
16 Mar 2016 Ehsan Vaghefi

I have managed to get it to work, thanks very much for this contribution Dominik, Peter

Comment only
26 Jan 2016 Dominik Hofer

Hello Peter, you could certainly try to add a line to 'ZaberDeviceList.m' and execute the script once. You would need the device id from '' and the specs of the device. However, T-LSM only supports a fraction of the commands used by A-MCA. By analyzing the structure of implemented commands you could certainly add missing ones - the basic functions (send, receive, ...) are generic and allow for a reuse.

Comment only
12 Jan 2016 peter qiu

Hi Dominik, I am trying to adapt this code to work for the A-MCA controller with the LMG60 goniometer. It appears to communicate using the same RS232 interface with binary, would altering the device properties for the A-MCA controller be sufficient?

Comment only
26 Nov 2013 NN

NN (view profile)

Works great with TLSR stages of Zaber as well, thanks for this contribution!

18 Apr 2013 Dominik Hofer

Thanks Clay for beta-testing - it is much appreciated. I've already corrected the error you've found and uploaded this update, so it should be online after Mathworks' validation.

Would you mind sending me the code from your switch statement case? I think it would make a good addition to the driver.

Comment only
10 Apr 2013 Clay

Clay (view profile)

This is great. Thanks for creating these drivers. I'm using Zaber T-LA28A actuators, and it works well after making a few adjustments in ZaberUpdateDeviceList.m. In addition to adding a case for my device in the switch statement (case 28), I found that I needed to replace

devIDs(byteid(1)) = [devIDs, id]


devIDs(byteid(1)) = [id];

Otherwise, I get the following error:

In an assignment A(I) = B, the number of elements in B and I must be the same.

18 Apr 2013 1.3

bugfix in "ZaberUpdateDeviceList.m", line 56, from "devIDs(byteid(1)) = [devIDs, id];" to "devIDs(byteid(1)) = id;"; fixed some spelling errors in the description

10 Jul 2013 1.4

Added support for all devices with firmware 5.29. Stop sending in-motion commands to devices, which are not translation stages (e.g., T-JOY3) in single device queries.

Contact us