Motion Control Software


Please Wait
Software
Kinesis Version 1.14.52
XA Version 1.0.0
The Kinesis and XA Software Packages, which include a GUI for control of Thorlabs' motion controllers.
Also Available:
- Communications Protocol

Figure 1.1 Kinesis GUI Screen
Thorlabs offers two platforms to drive our wide range of motion controllers: our Kinesis software package, which is being phased out, and our XA software package. The Kinesis software supports most of Thorlabs' motion control products. The XA software is an improved platform for developers that currently supports some of our most popular motion control products (see the Supported Devices tab for a full list of supported products). The software is undergoing continuous, intensive development and will eventually add support for our entire line of motion control products. The XA software application will be fully supported through the year 2040.
Kinesis Motion Control Software
The Kinesis software features .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications. Low-level DLL libraries are included for applications not expected to use the .NET framework. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.
By providing a common software platform, Thorlabs has ensured that users can easily mix and match any of the Kinesis controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from single-axis to multi-axis systems and control all from a single, PC-based unified software interface.

Click to Enlarge
Figure 1.2 XA GUI for KDC101 Brushed DC Servo Controller
The software package allows two methods of usage: graphical user interface (GUI) utilities for direct interaction with and control of the controllers out of the box, and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
XA Motion Control Software: Improved Platform for Developers
Designed from the ground up to be straightforward to understand, XA provides a thread-safe and language-paradigm-agnostic set of application programming interfaces in C, C++, and C#/.NET with language wrappers available to allow for easy integration into your native, .NET language, Python, or LabVIEW applications. This enables the same functionality as mentioned for the Kinesis software development kit (SDK) while providing a more streamlined toolkit for developers. Coupled with the included developer guides and code examples in the SDK, this software is tailored toward users interested in creating complex, customized applications and interfaces. Full API documentation is provided for the native C library, and the .NET wrapper documentation is currently under development. Please contact Tech Support for more details on using the .NET wrapper.
XA also features a comparable GUI to Kinesis while adding improvements to the user experience, like the ability to save device states and a more consistent interface across devices of different types. In addition, further improvements are planned as XA will be fully supported through the year 2040, whereas the Kinesis software is being phased out. The current version of the XA software can only drive select Thorlabs motion controllers. However, the software is undergoing continuous, intensive development and will eventually add support for our entire line of motion control products. Information on software compatibility can be found in the XA User Guide.
Software
Kinesis Version 1.14.52
The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis system controllers.
Also Available:
- Communications Protocol

Figure 58A Kinesis GUI Screen
Thorlabs offers the Kinesis® software package to drive our wide range of motion controllers. The software can be used to control devices in the Kinesis family, which covers a wide variety of motion controllers ranging from small, low-powered, single-channel drivers (such as the K-Cubes®) to high-power, multi-channel benchtop units and modular 19" rack nanopositioning systems (the MMR60x Rack System).
The Kinesis Software features .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications. Low-level DLL libraries are included for applications not expected to use the .NET framework and APIs are included with each install. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.
By providing this common software platform, Thorlabs has ensured that users can mix and match any of our motion control devices in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from single-axis to multi-axis systems and control all from a single, PC-based unified software interface.
The software package allows two methods of usage: graphical user interface (GUI) utilities for direct interaction with and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
Thorlabs' Kinesis® software features new .NET controls which can be used by third-party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications.
C#
This programming language is designed to allow multiple programming paradigms, or languages, to be used, thus allowing for complex problems to be solved in an easy or efficient manner. It encompasses typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming. By providing functionality with this common software platform, Thorlabs has ensured that users can easily mix and match any of the Kinesis controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from the low-powered, single-axis to the high-powered, multi-axis systems and control all from a single, PC-based unified software interface.
The Kinesis System Software allows two methods of usage: graphical user interface (GUI) utilities for direct interaction and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
For a collection of example projects that can be compiled and run to demonstrate the different ways in which developers can build on the Kinesis motion control libraries, click on the links below. Please note that a separate integrated development environment (IDE) (e.g., Microsoft Visual Studio) will be required to execute the Quick Start examples. The C# example projects can be executed using the included .NET controls in the Kinesis software package (see the Kinesis Software tab for details).
![]() |
Click Here for the Kinesis with C# Quick Start Guide Click Here for C# Example Projects Click Here for Quick Start Device Control Examples |
![]() |
LabVIEW
LabVIEW can be used to communicate with any Kinesis-based controller via .NET controls. In LabVIEW, you build a user interface, known as a front panel, with a set of tools and objects and then add code using graphical representations of functions to control the front panel objects. The LabVIEW tutorial, provided below, provides some information on using the .NET controls to create control GUIs for Kinesis-driven devices within LabVIEW. It includes an overview with basic information about using controllers in LabVIEW and explains the setup procedure that needs to be completed before using a LabVIEW GUI to operate a device.
![]() |
Click Here to View the LabVIEW Guide Click Here to View the Kinesis with LabVIEW Overview Page |
![]() |

Click to Enlarge
Figure 4.1 XA GUI for BBD303 Brushless DC Servo Controller
Software
XA Version 1.0.0
The XA Software Package, which includes a GUI for control of select Thorlabs' system controllers.
Also Available:
- Communications Protocol
The XA software features .NET APIs which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW, or any .NET compatible languages to create custom applications. Low-level DLL and static libraries are included for applications not expected to use the .NET framework, and APIs are included with each install. The XA software platform ensures that users can mix and match any of our compatible* motion control devices in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the compatible controllers from single-axis to multi-axis systems and control all from a single, PC-based unified software interface.
The XA software features a native C API and a .NET wrapper for the API within the provided software development kit (SDK), which enables all the same functionality as the Kinesis SDK. This software is ideal for users creating complex, customized applications and interfaces. The SDK includes developer guides and code examples. Additionally, the firmware update utility can be found here on the software download page.
The current version of the XA software can only drive select Thorlabs motion control devices. However, the software is undergoing continuous, intensive development and will eventually add support for our entire line of motion control products. Information on software compatibility can be found in the XA User Guide.
*Please see the Supported Devices tab for more details
Kinesis Software Supported Devices
The Kinesis software supports Thorlabs' full line of motion control products.
XA Software Supported Devices
A list of devices compatible with the XA motion control software is provided in Table 5.1. The documentation for each item, including the specifications and XA User Guide, is available by clicking the links on the Item #s.
Table 5.1 XA Software Supported Devices | |
---|---|
Item # | Description |
Stepper Motor Controllers and Devices | |
BSC202 | Two-Channel Benchtop Stepper Motor Controller |
BSC203 | Three-Channel Benchtop Stepper Motor Controller |
DRV225 | 25 mm Travel, Trapezoidal Stepper Motor Actuator |
DRV250 | 50 mm Travel, Trapezoidal Stepper Motor Actuator |
FW103 | High-Speed Motorized Filter Wheel, 8-32 Taps |
FW103/M | High-Speed Motorized Filter Wheel, M4 Taps |
KST201 | K-Cube® Stepper Motor Controller |
MVSN1 | 13.0 mm Travel Motorized Vertical Stage, 4-40 and 6-32 Taps |
MVSN1/M | 13.0 mm Travel Motorized Vertical Stage, M2 and M3 Taps |
ZFS06 | 6 mm Travel, Compact Stepper Motor Actuator, 1/4"-80 Mounting Thread |
ZFS13 | 13 mm Travel, Compact Stepper Motor Actuator, 1/4"-80 Mounting Thread |
ZFS13B | 13 mm Travel, Compact Stepper Motor Actuator, Ø3/8" Mounting Barrel |
ZFS25B | 25 mm Travel, Compact Stepper Motor Actuator, Ø3/8" Mounting Barrel |
ZST206 | 6 mm Travel, Stepper Motor Actuator, 1/4"-80 Mounting Thread |
ZST213 | 13 mm Travel, Stepper Motor Actuator, 1/4"-80 Mounting Thread |
ZST213B | 13 mm Travel, Stepper Motor Actuator, Ø3/8" Mounting Barrel |
ZST225B | 25 mm Travel, Stepper Motor Actuator, Ø3/8" Mounting Barrel |
DC Brushed Motor Controller and Devices | |
CR1-Z6a | Motorized Continuous Rotation Stage |
CR1-Z7a | Motorized Continuous Rotation Stage |
KDC101 | K-Cube Brushed DC Servo Motor Controller |
MTS25-Z8 | 25 mm (0.98") Motorized Translation Stage, 8-32 and 4-40 Taps |
MTS25/M-Z8 | 25 mm (0.98") Motorized Translation Stage, M4 and M3 Taps |
MTS50-Z8 | 50 mm (1.97") Motorized Translation Stage, 8-32 and 4-40 Taps |
MTS50/M-Z8 | 50 mm (1.97") Motorized Translation Stage, M4 and M3 Taps |
MTS100-Z8 | 100 mm (3.94") Motorized Translation Stage, 8-32 and 4-40 Taps |
MTS100/M-Z8 | 100 mm (3.94") Motorized Translation Stage, M4 and M3 Taps |
PRM1Z8 | Ø1" Motorized Precision Rotation Stage, Imperial |
PRM1/MZ8 | Ø1" Motorized Precision Rotation Stage, Metric |
Z606a | 6 mm Motorized Actuator, 1/4"-80 Thread |
Z606Va | 6 mm Vacuum-Rated Actuator, 1/4"-80 Thread |
Z612a | 12 mm Travel Motorized Actuator, 1/4"-80 |
Z612Ba | 12 mm Travel Motorized Actuator with 3/8" Barrel |
Z612BVa | 12 mm Travel Vacuum-Rated Actuator with 3/8" Barrel Fitting |
Z612Va | 12 mm Travel Vacuum-Rated Actuator, 1/4"-80 Threaded Fitting |
Z625Ba | 25 mm Motorized Actuator with 3/8" Barrel |
Z625BVa | 25 mm Vacuum-Rated Actuator with Ø3/8" Barrel Fitting |
Z806a | 6 mm Motorized DC Actuator, 1/4"-80 Thread Fitting |
Z806Va | Vacuum-Compatible 6 mm Motorized DC Actuator, 1/4"-80 Thread Fitting |
Z812a | 12 mm Motorized Actuator, 1/4"-80 Thread |
Z812Ba | 12 mm Motorized Actuator, 3/8" Barrel Fitting |
Z812BVa | Vacuum-Compatible 12 mm Motorized Actuator, 3/8" Barrel Fitting |
Z812Va | Vacuum-Compatible 12 mm Motorized Actuator, 1/4"-80 Thread |
Z825a | 25 mm Motorized Actuator, 1/4" -80 |
Z825Ba | 25 mm Motorized Actuator with Ø3/8" Barrel |
Z825BVa | Vacuum-Compatible 25 mm Motorized Actuator with Ø3/8" Barrel Fitting |
Z906 | 6 mm Travel, DC Servo Motor Actuator, 1/4"-80 Mounting Thread |
Z906V | 6 mm Travel, Vacuum-Compatible DC Servo Motor Actuator, 1/4"-80 Mounting Thread |
Z912 | 12 mm Travel, DC Servo Motor Actuator, 1/4"-80 Mounting Thread |
Z912B | 12 mm Travel, DC Servo Motor Actuator, Ø3/8" Mounting Barrel |
Z912BV | 12 mm Travel, Vacuum-Compatible DC Servo Motor Actuator, Ø3/8" Mounting Barrel |
Z912V | 12 mm Travel, Vacuum-Compatible DC Servo Motor Actuator, 1/4"-80 Mounting Thread |
Z925B | 25 mm Travel, DC Servo Motor Actuator, Ø3/8" Mounting Barrel |
Z925BV | 25 mm Travel, Vacuum-Compatible DC Servo Motor Actuator, Ø3/8" Mounting Barrel |
Brushless Controllers and Devices | |
BBD301 | 1-Channel Benchtop 3-Phase Brushless DC Servo Controller |
BBD302b | 2-Channel Benchtop 3-Phase Brushless DC Servo Controller |
BBD303b | 3-Channel Benchtop 3-Phase Brushless DC Servo Controller |
DDR25 | Compact Direct Drive Rotation Mount, SM05-Threaded Bore, 8-32 Taps |
DDR25/M | Compact Direct Drive Rotation Mount, SM05-Threaded Bore, M4 Taps |
DDR100 | Direct Drive Continuous Rotation Stage, SM1 Bore, 8-32 and 1/4"-20 Taps |
DDR100/M | Direct Drive Continuous Rotation Stage, SM1 Bore, M4 and M6 Taps |
DDS050 | Compact 50 mm Travel Direct Drive Stage, Imperial |
DDS050/M | Compact 50 mm Travel Direct Drive Stage, Metric |
DDS100 | Compact 100 mm Travel Direct Drive Stage, Imperial |
DDS100/M | Compact 100 mm Travel Direct Drive Stage, Metric |
DDS220 | Direct Drive Stage, 8.6" Travel, Imperial |
DDS220/M | Direct Drive Stage, 220 mm Travel, Metric |
DDS300 | 300 mm (11.81") Travel Direct Drive Stage, Imperial |
DDS300/M | 300 mm (11.81") Travel Direct Drive Stage, Metric |
DDS600 | 600 mm (23.6") Travel Direct Drive Stage, Imperial |
DDS600/M | 600 mm (23.6") Travel Direct Drive Stage, Metric |
KBD101 | K-Cube Brushless DC Servo Driver |
M150XY | 150 mm Brushless DC Motor Driven XY Translation Stage, Imperial |
M150XY/M | 150 mm Brushless DC Motor Driven XY Translation Stage, Metric |
MLS203-1 | High-Speed, Low-Profile Motorized XY Scanning Stage, 110 mm x 75 mm Travel |
MLS203-2 | High-Speed, Low-Profile Motorized XY Scanning Stage for Zeiss Microscopes, 110 mm x 75 mm Travel |
TBD001a | T-Cube Brushless DC Servo Driver |
Piezo Controller and Devices | |
APF503 | Amplified Piezoelectric Actuator with Flexure Mount, 150 V, 390 µm Max Displacement |
APF705 | Amplified Piezoelectric Actuator with Flexure Mount, 150 V, 560 µm Max Displacement |
APF710 | Amplified Piezoelectric Actuator with Flexure Mount, 150 V, 1500 µm Max Displacement |
APFH720 | Amplified Piezoelectric Actuator with Flexure Mount, 150 V, 2500 µm Max Displacement |
BPC303 | 3-Channel 150 V Benchtop Piezo Controller with USB |
DRV120 | Modular NanoMax 20 µm Piezo Drive with Feedback |
DRV517 | Differential Micrometer with Feedback Piezo Element, 1/2" Manual Travel, 30 µm Piezo Travel |
NF15AP25 | NanoFlex™ 1.5 mm Travel Translation Stage with 25 µm Piezo Actuator, Imperial |
NF15AP25/M | NanoFlex™ 1.5 mm Travel Translation Stage with 25 µm Piezo Actuator, Metric |
NFL5D | NanoFlex™ 5 mm Travel Translation Stage with Differential Drive, Imperial |
NFL5D/M | NanoFlex™ 5 mm Travel Translation Stage with Differential Drive, Metric |
NFL5DP20 | NanoFlex™ 5 mm Travel Translation Stage with Diff. Drive and 20 µm Piezo Actuator, Imperial |
NFL5DP20/M | NanoFlex™ 5 mm Travel Translation Stage with Diff. Drive and 20 µm Piezo Actuator, Metric |
NFL5DP20S | NanoFlex™ 5 mm Travel Translation Stage with Diff. Drive and Closed-Loop 20 µm Piezo Actuator, Imperial |
NFL5DP20S/M | NanoFlex™ 5 mm Travel Translation Stage with Diff. Drive and Closed-Loop 20 µm Piezo Actuator, Metric |
PAS009 | Piezoelectric Actuator, 40 µm Travel |
PAZ005 | Piezoelectric Actuator with Feedback, 20 µm Travel |
PAZ009 | Piezoelectric Actuator with Feedback, 40 µm Travel |
PK2FSF1 | Amplified Piezoelectric Actuator with Flexure Mount, 75 V, 220 µm Max Displacement |
PK2FVF1 | Amplified Piezoelectric Actuator with Flexure Mount, 75 V, 420 µm Max Displacement |
Posted Comments: | |
No Comments Posted |