Create an Account  |   Log In

View All »Matching Part Numbers

Your Shopping Cart is Empty

APT™ Stepper Motor Controllers

  • Motor Speeds up to 3000 RPM
  • 409,600 Microsteps per Revolution of Motor
  • Seamless Operation with Thorlabs Stages/Motors

Full Suite of Software
Support Tools Included

BSC201 Rear Panel


Related Items

Please Wait
BSC203 (Use with our DRV Series of Stepper Motors)


  • High-Resolution Microstepping Control for Very Fine Positioning Applications
  • Differential Encoder Feedback (QEP Inputs) for Closed-Loop Positioning
  • Motor Control I/O Port (Jogging, Interlocks)
  • Full Software Control Suite Supplied
  • Intuitive Software Graphical Control Panels
  • Extensive ActiveX® Programming Interfaces
  • Fully Integrated Software for Use with Other APT™ Family Controllers

These APT Stepper Motor Controllers are the next generation of enhanced controllers using the familiar APT User interface. Many new features are provided, including a choice between trapezoidal and S-shaped velocity profiles, a higher theoretical microstep resolution (409,600 for a 200 full step motor), and speeds more than twice that achieved by their predecessors.

Designed for use with our DRV series of actuators (DRV208, DRV013DRV014, and legacy DRV001), these one-, two- and three-channel 50 W stepper motor controllers are capable of driving high-power, 2-phase bi-polar stepper motors, with or without encoder feedback. They have been designed to drive the higher power, stepper-motor-equipped nanopositioning actuators and stages offered by Thorlabs (e.g., LNR50S and NRT150). Alternatively, generic two-phase, bi-polar motors of varying step sizes can also be driven; see the Specs tab for compatible motor information. Cables for connecting the DRV series actuator to the controller are shipped with the actuators, however replacement cables are available: the 1 m long PAA612 and the 3 m long PAA613. Please note that these controllers are not suitable for use with our ZST or ZFS series of stepper motors.

USB connectivity provides easy plug-and-play PC operation. Multiple units can be connected to a single PC via standard USB hub technology for multi-axis motion control applications. Coupling this with the very user friendly APT software allows the user to very quickly get up and running with reasonably complex move sequences in a short period of time. For example, all relevant operating parameters are set automatically for Thorlabs' stage/actuator products. Advanced custom motion control applications and sequences are also possible using the extensive ActiveX® programming environment described in more detail on the Motion Control Software and APT Tutorials tabs.

Additionally, these APT controllers support Thorlabs' 2-axis joystick console. This joystick console provides intuitive, tactile, manual positioning along with two-axis control. In most applications, the default parameter settings saved within the controller allow the joystick to be used out-of-the-box, with no need for further setup, thereby negating the requirement to be connected to a host PC and allowing true remote operation. However, depending on the actuator being driven, some software setting adjustment may be required. All cables are supplied. Please note this joystick is not compatible with former generation BSC10x series controllers.

Owners of our two-channel BSC202 controller may have their controllers upgraded by Thorlabs to support a third channel. Please contact Tech Support for more details.

Other Stepper Motor Controllers
K-Cube™ Single-Channel Controller  1-, 2-, and 3-Channel Benchtop Controller Modular 2-Channel Rack System Module
Item # BSC201 BSC202, BSC203
Input and Output
Motor Drive Connector
(15-Pin, D-Type Female)
2-Phase Bipolar Motor Drive Output
Differential Quadrature Encoder (QEP) Input
Forward, Reverse Limit Switch Inputs
Encoder 5 V (with Ground)
Control IO Connector
(15-Pin, D-Type Female)
Jog Forward/Back Input (TTL)
User Logic Input/Output (TTL)
Single-Ended Analog Input (0 - 10 V)
User 5 V (with Ground) 100 mA Max
Trigger Input/Output (TTL)
Motor Resolution
Microsteps per Full Step 2048
For 200 Step Motor 409,600 Microsteps/Rev
Motor Drive Voltage 48 V
Motor Drive Power Up to 50 W (Peak) / 25 W (Average)
Motor Speeds Up to 3000 RPM (200 Full Step Motor)
Encoder Feedback Bandwidth 500 KHz (500,000 Counts/s)
Input Power Requirementsa
Voltage 85-264 VAC
Power 100 W (Peak) 200 W (Peak)
Fuse 3.15 A
Housing Dimensions (W x D x H) 152 mm x 244 mm x 104 mm (6" x 9.6" x 4.1") 240 mm x 360 mm x 133 mm (9.5" x 14.2" x 5.2")
Weight 3.18 kg (7 lbs) 6.7 kg (14.75 lbs)
Compatible Motor Specifications
Peak Powers 15 to 50 W
Average Power 25 W (Max)
Step Angle Range 20° to 1.8°
Coil Resistance (Typical) 4 - 15 Ω
Coil Inductance (Typical) 4 - 15 mH
Rated Phase Currents (Typical) 0.1 - 1 A
  • Location-specific power cord included.

Control I/O Connector


Motor Drive Connector

d-type lon

Pin Description Return Pin Description Return
1 User 5 V I/O 9 9 User 0 V -
2 Jog Forwardsa 9 10 Jog Backwardsa 9
3 Not Used 9 11 Analog Inb 9
4 Trigger In - 12 Trigger Out 9
5 User 0 V - 13 Not Used 5
6 Not Used - 14 Not Used 6
7 Digital (User) In - 15 Digital (User) Out 9
8 Keyed Pin -      
Pin Description Pin Description
1 Encoder A +ve 9 CW Limit Switch
2 Encoder A -ve 10 CCW Limit Switch
3 Encoder B +ve 11 0 V User
4 Encoder B -ve 12 For Future Use
5 5 V User 13 For Future Use
6 For Future Use 14 Motor Phase B+
7 Motor Phase B- 15 Motor Phase A+
8 Motor Phase A-    
  • Jog inputs must be short circuit to User 0 V (pin 9) in order to function.
  • Analog In is 0 to 5 V with respect to 0 V (pin 9). The input can be read by calling the LLGetADCInputs method in the APT software - see the APTServer help file for more details.

Computer Connection

USB Type B


USB Type B to Type A Cable Included

Remote Handset Connector

Compatible with MJC001 Joystick 

Pin Description
1  RX (Controller Input)
2 Ground
3 Ground
4 +5V, 100 mA Power Supply
5 TX (Controller Output)
6 Ground

Driver Flexibility

Stepper motors provide better low-speed performance and positioning stability than their DC servo motor counterparts. A wide range of 2-phase, bipolar stepper motors and associated actuators are commercially available, each with its own characteristics, such as step resolution, peak phase current or voltage, and lead screw pitch. To support such a wide range of motors, the apt™ BSC200 Series Stepper Controller is fully configurable (parameterized) with key settings exposed through the associated software graphical interface panels. Motor step resolution and lead screw pitch can be set for a particular motor/actuator combination, phase currents can be limited to suitable peak powers as required, and limit switch configuration is accommodated through flexible logic settings.

Moreover, relative and absolute moves can be initiated with move profiles set using velocity profile parameters (including acceleration/decelleration). Similarly, homing (zero position datum) sequences have a full set of associated parameters that can be adjusted for a particular stage or actuator. For simplicity of operation, the apt™ software incorporates pre-configured settings for each Thorlabs stage and actuator, while still exposing all parameters individually for use with third-party stepper-motor-driven systems.

For convenience and ease of use, adjustment of all key parameters is possible through direct interaction with intuitive software graphical panels. For example, a move to the next position can be initiated by clicking directly on the position display and entering a new value.


Note that all such settings and parameters are also accessible through the ActiveX® programmable interfaces for automated alignment sequences. Refer to the Motion Control Software tab for further information on the apt™ software support for the BSC200 Series.

Full Software GUI Control Suite & ActiveX® Controls Included

A full and sophisticated software support suite is supplied with the BSC200. The suite includes a number of out-of-the-box user utilities to allow immediate operation of the unit without any detailed pre-configuration. All operating modes can be accessed manually, and all operating parameters may be changed and saved for next time use. For more advanced 'custom' motion control applications, a fully featured ActiveX® programming environment is also included to facilitate custom application development in a wide range of programming environments. Note that all such settings and parameters described above are also accessible through these ActiveX® programmable interfaces. For further information on the apt™ software support for the BSC200 series, refer to the Motion Control Software tab. Demonstraton videos illustrating how to program the apt™ software are also available for viewing on the Video Tutorial tab.


The ActiveX® apt™ system software shipped with these stepper motor controllers is also compatible with other members of the apt™ family of controllers, including our multi-channel, rack-based system and smaller optical table mountable 'Cube' controllers. This single, unified software offering allows seamless mixing of apt™ benchtop, table top, and rack-based units in any single positioning applicaiton.


The key innovation of the apt™ range of controllers and associated mechanical products is the ease and speed with which complete automated alignment/positioning systems can be engineered at both the hardware and software level. All controllers in the apt™ range are equipped with USB connectivity. The 'multi-drop' USB bus allows multiple apt™ units to be connected to a single controller PC using commerical USB hubs and cables. When planning a multi-channel application, simply add up the number and type of drive channels required and connect together the associated number of APT controllers.

Encoded Feedback - Positioning Accuracy

These stepper motor controllers also supports encoder feedback through dedicated quadrature-encoded pulse (QEP) inputs. A “built in” algorithm can be enabled to allow the stepper system to reach and maintain an encoded position through a highly configurable iterative move sequence. For custom closed-loop algorithms, the apt™software exposes the encoder position for access through the ActiveX® programmable interfaces.

Software Developers Support CD

A developer's kit is shipped with all of our apt™ series controllers. This additional software support is intended for use by software developers working on large, system integration projects that incorporate apt™ products. The kit contains an extensive selection of useful code samples as well as a library of Video Tutorials.

Thorlabs offers two platforms to drive our wide range of motion controllers: our Kinesis® software package or the legacy APT™ (Advanced Positioning Technology) software package. Either package can be used to control devices in the Kinesis family, which covers a wide range of motion controllers ranging from small, low-powered, single-channel drivers (such as the K-Cubes™ and T-Cubes™) to high-power, multi-channel, modular 19" rack nanopositioning systems (the APT 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. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.

Kinesis Software
Kinesis GUI Screen
APT Software
APT GUI Screen

Our legacy APT System Software platform offers ActiveX-based controls which can be used by 3rd party developers working on C#, Visual Basic, LabVIEW™, or any Active-X compatible languages to create custom applications and includes a simulator mode to assist in developing custom applications without requiring hardware.

By providing these common software platforms, Thorlabs has ensured that users can easily mix and match any of the Kinesis and APT 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.

The software packages allow 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.

A range of video tutorials is available to help explain our APT system software. These tutorials provide an overview of the software and the APT Config utility. Additionally, a tutorial video is available to explain how to select simulator mode within the software, which allows the user to experiment with the software without a controller connected. Please select the APT Tutorials tab above to view these videos, which are also available on the software CD included with the controllers.


Kinesis Version 1.14.17

The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis and APT™ system controllers.

Also Available:

  • Communications Protocol
Software Download


APT Version 3.21.4

The APT Software Package, which includes a GUI for control of Thorlabs' APT™ and Kinesis system controllers.

Also Available:

  • Communications Protocol
Software Download

These videos illustrate some of the basics of using the APT System Software from both a non-programming and a programming point of view. There are videos that illustrate usage of the supplied APT utilities that allow immediate control of the APT controllers out of the box. There are also a number of videos that explain the basics of programming custom software applications using Visual Basic, LabView and Visual C++. Watch the videos now to see what we mean.

  Click here to view the video tutorial  

To further assist programmers, a guide to programming the APT software in LabView is also available.

Labview Icon Click here to view the LabView guide Labview Icon

Posted Comments:
jim.mcginnis  (posted 2018-09-14 11:53:43.637)
BSC203 configured with three SCC001 stepper controllers - after power cycle, connecting, configuring, and driving the steppers works properly. Shutting down the application driving the steppers via the controller (C#) - which disconnects the channels and the controller results in channel errors the next time the application is started UNLESS the BSC203 is power cycled. Polling the controller channels for status.status returns 0 instead of the nominal return witch appears to be uint 32 all bits set. Is it necessary to power cycle the BSC203 every time the application connects? What is the correct shutdown sequence for the stepper channels and controller? stepper reset during initialization of the stepper channels (prior to connect) does not ameliorate the issues and failures. What is the minimum startup and shutdown sequence for the SCC001 steppers and the BSC203 controller that allows restarting the application without power cycling the BSC203??? Thanks for your valuable time. Jim
bhallewell  (posted 2018-09-20 05:42:13.0)
Response from Ben at Thorlabs: Thank you for your question here. You are correct that this behaviour would typically be associated with how closing communication with the device is handled within your program. The correct shut down sequence should be as follows: In .NET (C#) channel.StopPolling(); device.Disconnect(true); In C API // stop polling SBC_StopPolling(testSerialNo, 1); // close device SBC_Close(testSerialNo);
user  (posted 2018-03-01 21:17:18.75)
when i use labview program ATP, i checked the 'persist setting to hardware' to save setting change; Backlash correction. However, if i quit and then re-run the program, it will return to its original state. How can i solve it?
bhallewell  (posted 2018-03-22 09:47:12.0)
Response from Ben at Thorlabs: The persisted settings option is designed to save persistable parameters such as Backlash, Velocity, Joystick settings etc. for use of the device free from use with a control PC. When you open a new instance of the APT User interface these persisted parameters will be overwritten. I would recommend using the SetBLashDist() method to assign a value within your program.
pihulj  (posted 2017-12-22 14:21:57.907)
when i use c++ to program, if (SBC_Open(testSerialNo) == 0) SBC_Open can't find ThorlabsCustomSettings.xml ThorlabsDeviceConfigurationOverride.xml how can i solve it
bhallewell  (posted 2018-01-03 05:50:25.0)
Response from Ben at Thorlabs: Thank you for your enquiry. I would firstly recommend checking that you have the very latest version of Kinesis installed & that you have permission to access the Settings folder C:\ProgramData\Thorlabs\MotionControl & sub-folders. I will contact you to troubleshoot this with you.
jeffery.t.murphy2  (posted 2017-11-15 14:14:47.53)
I have a BSC201 controller S/N: 40857583; I have connected to it a NanoRotator (NR360S); but the APT software does not recognize that I have a Nanorotator connected, therefore it is trying to drive it as a linear actuator (in mm, won't go negative) unlike our other BSC203 controller that works well with the rotators. How can you fix this? Thanks...
bwood  (posted 2017-11-17 04:21:35.0)
Response from Ben at Thorlabs: Thank you for your question. You can manually associate the stages using the APTConfig tool. You can find instructions on how to do this in section on 3.6 of the BSC203 manual.
bcinquin  (posted 2017-09-27 11:17:50.44)
I have a problem with my apt motion controller BSC201. The power led is fading after a few seconds...
AManickavasagam  (posted 2017-09-28 11:27:31.0)
Response from Arunthathi at Thorlabs: Thank you for your comment. I am sorry that you have difficulties here. I will contact you directly to troubleshoot this issue.
don.walker  (posted 2017-08-18 20:47:28.97)
I have the same exact problem as rubsanmi I can't for the life of me figure out how to get access to home method from the BSC203 and NR360S. Please send me an example vi and help
bhallewell  (posted 2017-08-21 10:30:47.0)
Response from Ben at Thorlabs: I'll contact you with some assistance.
viteo  (posted 2017-08-02 11:50:43.93)
Facing a lack of information about triggering configuration over C# Kinesis API. I want to receive an out pulse every 0.1mm on NRT100/M with BSC202 via C#. The only method I found is SetTriggerSwitches(), but how to configure the delta distance?
bwood  (posted 2017-08-04 06:19:23.0)
Response from Ben at Thorlabs: Thank you for your feedback. Unfortunately, there is no current way to configure the BSC to trigger when it moves past a position. The output can only be configured to trigger when a move is initiated. I will raise this requirement with our engineers.
shingoyasuhara136  (posted 2017-05-26 15:40:11.983)
Dear Sir/Madam, I'm having trouble (technical issues) in installing the software for Apt Stepper Motor Controller (Cat#BSC201)that we have recently purchased for controlling FW103. Basically, we are trying to install this euipment on our Windows XP (32-bit). I've tried everything, but still cannot install the driver. Would you pleaes adivse us how we can solve this issue? Thank you very much.
bwood  (posted 2017-05-31 04:23:08.0)
Response from Ben at Thorlabs: Thank you for your feedback. Unfortunately, the current versions of of our motion control software no longer support Windows XP. However, we can provide a download link for a legacy version of APT which will work with XP, and we will be in direct contact with you with this. As this is a legacy version, we cannot guarantee compatibility with newer controllers and stages.
rubsanmi  (posted 2017-05-25 09:58:35.597)
I am trying to control a NR360S with a BSC103 through LabVIEW using APT control. Nevertheless, I do not know how to specify from LabVIEW the rotation in degrees. APT uses the units in mm and although I change it through the settings windows to degrees, the result is the same. Therefore, I do not know how many mm corresponds exactly to 1 degree.
bwood  (posted 2017-05-26 06:40:07.0)
Response from Ben at Thorlabs: Thank you for your question. If you have a rotational stage connected, APT should automatically switch to use degrees, if you are using a command such as SetAbsMovePos. Thus I would double check you are entering the correct serial number, and associating the correct stage. If you still are having problems after trying this, feel free to contact me at
christopher.jones  (posted 2017-05-16 18:58:45.65)
I am trying to control a BSC201/DRV014E setup using LabVIEW and the Kinesis/.NET approach, but the Kinesis-Labview.pdf guide seems to cover a much simpler drive. In any case, I can't for the life of me find any 'Move' or 'Home' commands (any motion methods at all) in the methods and properties available. Are we supposed to make do with your APT/ActiveX solution, which you mark as 'legacy'? Can you provide a simple connect-home-move-readposition-close example for my system and labview (or any other language)? Thanks in advance!
bhallewell  (posted 2017-05-30 10:30:15.0)
Response from Ben at Thorlabs: Combining the LabVIEW guide with our .NET API should enable you to access the full functionality of the stepper controller from the appropriate .dll. Working in LabVIEW with the legacy APT ActiveX software users can benefit from being able to access the full list of methods for a single device from a single ActiveX control. In Kinesis (built in .NET framework) you have access to more methods however you will need to select the method from within the specific object class as outlined in the .NET API help file. I will contact you directly & send you a simple example outlining this.
viteo  (posted 2017-03-29 07:44:53.21)
I'm trying to control two NRT100/M with BSC202 via C#. Everything work in Kinesis application, but when I execute c# example for BSC103 from "Thorlabs.MotionControl.DotNet_API.chm" motor makes one single step and console app report that it moved to position, or not homed by timeout. What am I missing? C# example for KCH301 with two KDC101s works like a charm.
bwood  (posted 2017-04-10 10:53:20.0)
Response from Ben at Thorlabs: Thank you for your feedback, and I am sorry to hear about your difficulties here. I will be in contact with you directly to diagnose this issue.
esbiele  (posted 2017-02-28 22:03:25.057)
Folks, I have an issue where I cannot drive my apt motors to a negative value using my LabView routines. Note I have drive to negative numbers using the APT users software. I noted that in the feedback below the Thorlabs guys suggest that you could mod the configuration file to allow for negative stage positions - can you pass on the information. Thank you, Ed
bhallewell  (posted 2017-03-06 09:57:17.0)
Response from Ben at Thorlabs: There is a work-around which can be achieved through our legacy APT control software. For stepper motors, you can access the MG17APTServer.ini file from within your C:/windows directory/. We advise saving a copy of this in case edits you make create any problems when running the software package. You can then find the Stage Type & edit the stage max & min position. eg. HS 17DRV014 50mm Default Settings: Min Pos=0.00, Max Pos=50.00 - can be changed to - Min Pos=-50.00, Max Pos=0. By saving & closing this file, correctly associating the stage in APTConfig & then running the device up in APTUser, you can then use the stepper actuated device in this negative position regime.
peace  (posted 2017-02-24 15:05:58.21)
Can you send me the SDK of BSC201?
jlow  (posted 2017-03-01 11:20:46.0)
Response from Ben at Thorlabs: You can download our new Kinesis software & our legacy APT software from the following link. Software development guides for each package can be found here: Kinesis: APT:
LChen95  (posted 2017-02-24 12:02:51.183)
Hi, I have bought a BSC201 to control a very old stepper motor. I have all the specification of this stepper motor, and would like drive it directly from Matlab. Would you please let me know how to get more information with this regards? If I need a special set of functions or install an SDK for matlab? Thank you!
bhallewell  (posted 2017-02-27 07:00:26.0)
Response from Ben at Thorlabs: You can find our guide for using Matlab to control our stages through generating an ActiveX instance. This is done through use of functions available within our APT software package, which can be downloaded from the below link. A list of these functions can be found within the APTServer help file. Matlab Guide (see foot of page): APT Software Download:
thomas.pujol  (posted 2016-12-14 11:47:49.263)
Hello, I would like to use the pin 2 (jog forward) of the BSC201 but I am not sure where I should connect the ground in the 15-pin plug (the trigger will be send by an arduino so wires have to be separated). The answer is probably in the sentence "Jog inputs must be short circuit to User 0V (pin 9) in order to function" but I don´t understand it and I need to be sure I will not to burn something. thank you
bwood  (posted 2016-12-16 11:13:22.0)
Response from Ben at Thorlabs: Thank you for your feedback. I think you are on the right lines here. A sample circuit diagram for jog inputs can be found in section A.1.5 on page 49 of the BSC series controller manual. I suggest reviewing that section, and Appendix A of the manual in general. If you still have questions after reading that section, I would suggest contacting your local technical support office directly.
dlescano  (posted 2016-11-09 06:39:52.363)
Hello, we have a BSC103 Controller. Could use APT Version 3.18.0 and Kinesis Version 1.8.0 for this controller ? Thanks !!!
bhallewell  (posted 2016-11-14 06:33:36.0)
Response from Ben at Thorlabs: Both of these software packages support this legacy controller.
omar.olarte  (posted 2015-12-16 11:17:52.58)
Driver: BSC103 Stages: Nanomax TS, 3 axis stepper motors Hi, after a series of weird errors (-hardware not recognized, windows OS blue screen) my 3 axis motor stage stop functioning. Before I managed to make it work restarting the computer and switching on/off the driver. I am getting this message from the APT labview library: Internal code 16240903 Hardware response code 32789 ((+48V Under Limit)) received from hardware unit SN 708344XX (in response to message ident 0). Thanks.
besembeson  (posted 2015-12-16 11:46:25.0)
Response from Bweh at Thorlabs USA: We will contact you directly to fix this.
balaji  (posted 2015-09-24 09:04:26.723)
Hi I have been using a range of APT software driven instruments such as TDC controller, BBD002 servo controller etc., I want to point out that there is some issue with 64 bit software for 64 bit platform. The 32 bit for 64 bit works fine. Secondly and more importantly we have been trying to shift to using USB/serial communication while I have been able to list the com port after enabling Load VCP in the advanced tab of the driver. However having hard time sending commans through serial terminal software such as commdebug, real term etc., They all recogonise the com port but the device is totally unresponsive left to wonder if there is some way to test the communication and if we need to use a FTDI library to issue a write command rather than through terminal software
besembeson  (posted 2015-10-08 01:16:46.0)
Response from Bweh at Thorlabs USA: The VCP setting should be set up as follows: Baud rate = 115200; Flow control = RTS/CTS; Bits per word = 8; Number of stop bits = 1; Parity = NONE. We have contacted you directly with the latest version of the communications protocols for our motion control products and also some brief instructions on how to use this as a terminal emulator (Termite). Using the identify command MGMSG_MOD_IDENTIFY (0x0223) is a good way to check you have established communication with the controller. This command will flash the front panel LEDs of the addressed controller.
sentayehu.wondimu  (posted 2015-07-14 08:30:29.697)
I have a BSC203 on my setup. I want to control it directly from a matlab code. Would you please let me know how to get more information with this regards? If I need a special set of functions or install an SDK for matlab? Thank you
msoulby  (posted 2015-07-14 08:48:38.0)
Response from Mike at Thorlabs: It is possible to use our APT software within Matlab, I have contacted you directly with more information.
marc.yallop  (posted 2015-07-14 05:51:43.66)
Hello, I've read on the feedback below that you have a beta DLL available to access the controllers via C++. Would it be possible to get a copy of that software please? Thanks Marc
msoulby  (posted 2015-07-14 06:10:57.0)
Response from Mike at Thorlabs: I have contacted you directly to send you this .DLL pack
sepehr.ahmadi  (posted 2015-06-23 01:53:25.9)
Hi, I have bought a BSC203 apt stepper motor controller. I would like to program in python using a dll file. Could you please let me know where I can find more information about that? Thank you.
msoulby  (posted 2015-06-29 08:44:55.0)
Response from Mike at Thorlabs: We have an APT DLL pack that can be used for customer applications and I have contacted you directly to send you these DLL files.
fritsflorentinus  (posted 2015-04-03 14:27:21.88)
Hi, we have recently purchased a Thorlabs BSC203 and would like to interface it in a C++ environment. We want to use it for automated measurements and have no use for a GUI interaction with it directly. I have tried implementing this using the FTDI D2XX library in combination with the APT communications protocol but it does not work and I don't know what I am doing wrong. As I started looking for solutions I found that there are multiple (possibly conflicting) versions of the APT communications protocol, so my first question is: Which one is the correct one? I have also tried using the RS232 port and use the windows.h library instead of the FTDI D2XX library but this also does not work. The problems do not arise from exception errors. I simply see no flashing LEDs on the BSC203 when I think I send an IDENTIFY command, or I receive no data back when I think I send a HW_REQ_INFO. My second question is: Can you help us out with this problem? Is there maybe a C++ API available for the APT protocol?
msoulby  (posted 2015-04-08 08:30:10.0)
Response from Mike at Thorlabs: The latest low level communications protocol can be downloaded from our website, the current version is version 14 last updated on the 11th March 2015 and can be accessed from the following link we have also contacted you directly with some further detail on how to begin using these low level command for controlling our controllers. If using the low level protocols all serial communication has to be carried out through a virtual COM port through the USB connection, the RS232 connection on the rear panel is not used for this purpose. We also have available a beta version of an APT .dll that can also be used if you do not wish to use the standard ActiveX interface, we have also emailed you with details on how to access these files.
wjiang  (posted 2015-04-01 21:38:24.3)
I was trying to install the APT System Software on my computer. But I got a error message"1:", and the software won't install. Try it on a different machine. Got same error. I was trying to install 32 bit software on 32bit Windows 7. Any idea what might cause the problem? Thanks!
msoulby  (posted 2015-04-02 05:17:55.0)
Response from Mike at Thorlabs: The :-1 error is an installation error. the way to correct this is to first completely remove any previously installed APT versions on your machine, including any residual installation folders that may remain after the uninstall procedure. Please then go to the following link to download the most up to date software version and save it locally to your hard drive before installation, please select the correct version based on your operating system and intended application.
shaun  (posted 2015-03-15 21:49:36.187)
Hi again, I just thought I'd post a quick comment on my question that I posted a couple of days ago. I have had success communicating with the TDC001 using the "Host-Controller Communications Protocol" via a serial interface. The secret was to have the USB cable from the TDC001 to my PC connected BEFORE I switched the TDC001 on. If I switch the TDC001 on first and then connect the USB cable then I cannot establish communications with the device. I have also had success communicating with the BSC201. I had previously been trying to connect to this device via the "INTERCONNECT" serial port on the back of the BSC201 (using a USB-to-serial converter). This method wasn't working, but I have successfully connected to this device using the USB connection on the back, and specifying "Load VCP" in Device Manager so that a virtual COM port is loaded for the device. Kind regards, Shaun.
msoulby  (posted 2015-03-31 08:02:28.0)
Response from Mike at Thorlabs: Thank you for using our web feedback, please accept our apologies for the delay in our response. It seems as though you have begun to successfully use our low level USB to serial communications protocol for our motor controllers. I have contacted you directly with some additional information about communicating with our controllers in the way.
shaun  (posted 2015-03-12 23:27:03.183)
Hi there, We are using both a BSC201 (with NRT150/M stage) and a TDC001 (with MTS50/M-Z8 stage). We have previously used the APT ActiveX component to talk to these devices, but have decided to start using the basic serial "Host-Controller Communications Protocol" instead, due to reliability issues. I am having some trouble establishing serial communications with either of these controllers using this protocol, so was after some assistance. Do you have some example code for using this protocol (preferably LabVIEW)? Does the message header require a terminating character at the end of the transmission (e.g. carriage return or similar)? I have been trying to send a basic MGMSG_HW_GET_INFO (i.e. sending 05 00 00 00 50 01) but am not getting back any response from either device. If you could point me in the right direction it would be most appreciated! Kind regards, Shaun.
wangyich  (posted 2014-12-27 04:55:02.957)
Hi....In addition to my last question, can you tell me if the controller can output a sinusoidal motion? Thanks!
msoulby  (posted 2015-01-14 04:16:20.0)
Response from Mike at Thorlabs: Due to hardware restrictions on the controllers themselves, it is not possible to change the velocity whilst in motion. It would only be possible to use a series of discrete moves each with a different velocity setting. The bWait timeout setting on the move command should also be set to FALSE if you wish to input a number of move commands, setting this to TRUE will mean the move will have to complete first before a new move can be entered.
wangyich  (posted 2014-12-27 02:03:30.183)
I am using the BSC203 controller with Labview. The motor moves to different positions in series. How can I get a continuous motion profile (the velocity does not drop to zero each time I set a new MoveAbsPos?) And How can I set the move velocity to negative direction without setting a negative relative move distance?
msoulby  (posted 2015-01-14 04:23:42.0)
Response from mike at Thorlabs: There is a command called MoveVelocity, which will start the stage moving in one direction or the other, there is no final position entered with this method the stage will move at the velocity and direction specified until told to stop using the StopImmediate or StopProfiled methods. I have contacted you directly with more details of these methods.  (posted 2014-12-05 22:21:27.47)
I cannot install drivers for the apt stepper motor controllers (Win 7, 64) Devise properties read: Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)
msoulby  (posted 2014-12-10 02:50:51.0)
Response from Mike at Thorlabs: The APT drivers are digitally signed and have been for many years, we would recommend that you uninstall and reinstall the software ensuring that you have the most up to date version which can be downloaded from the following location
zachary.flom  (posted 2014-08-20 11:09:30.897)
Is there way to set the motor dwell-time using the activeX control? I can't find a method in the documentation to set this.
msoulby  (posted 2014-08-22 05:29:44.0)
Response from Mike at Thorlabs: There is no specific dwell time or wait command on the move ActiveX controls. If you need the motor to wait at a position then you would simply add a time delay in Labview to your move sequence. I have contacted you directly with some more details.
lokirune  (posted 2014-04-30 23:14:31.5)
Hi. I am using BSC201, and want to use with matlab(32bit). When I trying to install setup file, then the error message that we don't have x86 processor coming out. We have program file(x86) folder and other 32 bit program(Matlab, 32bit on program file(x86)) is working well. What is the problem on this?
msoulby  (posted 2014-05-01 06:43:19.0)
Response from Mike at Thorlabs: I have contacted you directly to guide you towards the correct software version for your application.
lokirune  (posted 2014-04-30 14:53:37.283)
Hi. I want to use BSC201 with matlab, so I installed the software for active x. But I couldn't find the BSC201. Is there anything else I need to consider?
msoulby  (posted 2014-04-30 08:20:06.0)
Response from Mike at Thorlabs: Our BSC201 can be used with Matlab, first you will need to install the appropriate APT software version for your computer and Matlab version, i.e. if you are using 64bit Matlab then you will need to install the 64bit version of APT. This can be downloaded and installed from our website here I have also contacted you directly with a short example and guide on how to get started using APT in Matlab.
guyonnealleman  (posted 2014-02-26 05:55:28.12)
I have a BSC201 and would like to connect it to a NR360S/M. I installed the software on my windows 8.1 computer, but the NR360S/M doesn't move when I change the number in APT user. In APT config I selected 1Ch Stepper drive (BSC101) as control unit because the BSC201 was not displayed. As stage I selected the HS NanoRotator according to the manual. Thank you!
msoulby  (posted 2014-02-26 07:20:00.0)
Response from Mike at Thorlabs: From the way you describe how you configure the stage I believe you may have the simulator mode ‘enabled’ you will need to disable this mode before you can operate your stage. In the APT config utility program please open the simulator tab and then uncheck the simulator mode checkbox. Once this is done please then open the Stage tab, you should now be able to select the correct serial number of your controller from the motor drop down list and assign the HS NanoRotator stage as you did previously. When you now open APT user the stage should operate correctly.
eli  (posted 2014-01-15 13:34:07.38)
Is there any support libraries for Matlab?
bhallewell  (posted 2014-01-15 12:21:06.0)
Response from Ben at Thorlabs: Thank you for your feedback. I will contact you directly with the current support resources we have available.
bhallewell  (posted 2014-01-16 04:37:12.0)
Response from Ben at Thorlabs: Hi Eli. Do you have an alternative email address I can forward this information to? Unfortunately I am unable to forward this information to the address provided with your feedback. Alternatively, you can message me directly @
chris  (posted 2013-11-12 17:54:51.503)
I have BSC203 running on a new Dell computer (32bit) on Windows 7. I have had an issue with the BSC203 causing a Blue screen of death. I updated the firmware using the APT manager. During firmware update, my computer screen flashed and went into low resolution. After firmware update I continue to get the blue screen of death. Please let me know if there exists a known solution. I am happy to help trouble shoot this problem. Chris
msoulby  (posted 2013-11-14 06:16:44.0)
Response from Mike at Thorlabs: Our software and drivers are Microsoft signed and tested with most windows operating systems. We have never heard of our drivers or controllers creating a 'blue screen of death' during the firmware update. I would recommend a complete reinstall of the drivers and software or to try the controller on a second machine.
dongilkeum  (posted 2013-11-05 16:00:08.243)
I need accurate time control under 100 ms. But, by the limitation of Windows as non-real time OS, I couldn't achieve that. Can I use rs-232 ports directly instead of USB? If it is possible, I will use micro controller or DSP.
msoulby  (posted 2013-11-06 11:12:54.0)
Response from Mike at Thorlabs: Currently it is not possible to control the BSC20x controllers with RS232 connection. Communication is currently only possible through the USB port. USB commincation does suffer from latency plus the additional signal processing carried out by our controller means it may not be possible to achieve the speed of control you require.
mgiacomelli  (posted 2013-06-04 14:23:01.253)
Hi, Is there any update on getting 64 bit programming support for this product? I understand there was some talk of a subset of functionality being available from a 64 bit process, but haven't heard about it lately. Any sort of support would be a huge improvement; the ActiveX bits are not really so useful as simple motion control. We stopped running 32 bit Windows some years ago, and so I am debating sitting down and reverse engineering the controller USB protocol to enable using it with more modern software. Thanks
tcohen  (posted 2013-06-06 13:37:00.0)
Response from Tim at Thorlabs: This will be fully addressed in the new software. Currently it is still in development and is progressing to an executable for a larger testing phase shortly. We do have the communications protocol available for download at
anthony.ayari  (posted 2013-05-30 04:35:42.24)
Dear Thorlabs Tech support, I bought a BSC203 controller for a DRV014 motor actuator. In my Labview program, I can move forward and backward but only for positive value of the motor position. I can’t move the motor for a negative value (using absolute of relative motion as shown in the provided example programs) of the position whereas it is possible to do it with the APTuser interface. In my application, I can’t do a homing to get the actual position of the motor. Is there either : 1)a way to modify the saved encoded position of the motor so that the program will believe that the value is positive and when this value returns to zero because for instance the power is switched off, I can put back a rough proper value without having to home the stage. or 2) an instruction in Labview that allows negative value of the motor like in the APTuser program. Thank you
jlow  (posted 2013-06-04 11:23:00.0)
Response from Jeremy at Thorlabs: You could edit the configuration file to allow negative values in the APT. I will get in contact with you directly to send you more instructions for doing this.
ruslan.burow  (posted 2013-05-23 07:33:24.03)
It is possible to change the move direction for example for the "MoveRelativeEx" -Method ? And How?
jlow  (posted 2013-05-23 11:57:00.0)
Response from Jeremy at Thorlabs: To make a move relative in the reverse or opposite direction, the distance value entered should be negative. The details for the method can be found in the APT Server Help file located under the Thorlabs APT folder in Start Menu. I will get in contact with you directly to send you more info.
tcohen  (posted 2013-02-26 14:42:00.0)
Response from Tim at Thorlabs: That is correct. The current APT software uses ActiveX components that are intrinsically 32bit. Our APTUser runs on WoW64 when using a 64bit Windows OS, but any client environments (such as LabVIEW) must be 32bit. We are addressing this in the next generation of software, which will be 64bit compatible natively.
jlow  (posted 2012-12-20 08:45:03.723)
Response from Jeremy at Thorlabs: The list and description of all the available ActiveX methods can be found at the following location Start Menu>>All Programs>>Thorlabs>>Help>>APT Server Help. If you are looking for information on a particular method please let us know and we can send you the relevant information. We do not get many requests for HP VEE so do not currently have any support documentation to supply you with. However if you can tell us what you are aiming to do with your controller/stage or what problems you may be then please let us know and we would be happy to work through this with you. You can contact us directly through if you have any questions.
ebramire  (posted 2012-11-30 12:50:55.357)
Im trying to develop some HP VEE code to operate a T-cube DC servo motor driver controller. However, I am unable to locate reference documentation for the methods available through the ActiveX routines. I noticed that in the "User Guide to LabVIEW & APT" document there is a mention of an "APT Programming Guide" in the "User Guide to LabVIEW & APT", but I cannot find this on my system or on the Thorlabs web site. Could you please point me to any available documentation for the methods included in the ActiveX library? Also if there is a guide similar to the "User Guide to Labview & APT" but for HP VEE, could you please let me know where I can find it? Thank You.
jlow  (posted 2012-10-11 16:55:00.0)
Response from Jeremy at Thorlabs: You can download the latest software for the APT at Once that is installed, you could open up the APT Firmware (under "Start" -> "All Programs" -> "Thorlabs" -> "APT") and click on Flash Firmware if you do not have the latest version.
dcfortin  (posted 2012-10-09 16:02:43.71)
Do you have a firmware upgrade to this controller. I think we are running v 1.03... Thanks, Dave
jlow  (posted 2012-07-31 14:20:00.0)
A response from Jeremy at Thorlabs: Can you make sure the USB cable is connected between the computer and the unit before it is powered on please? Also, can you check to make sure that "Enable Simulator Mode" is unchecked in "APTConfig" please?
pier-luc.fortin.2  (posted 2012-07-26 11:43:25.0)
Hi,I have a problem with the BSC 101 controller and I saw on this page that anyone already has had the same problem before. When I connect the USB cable between my computer and the BSC101 module, the computer doesn't recognize the peripheral. I tried to use another cable, to enable and disable the controller, to unistall and and reinstall the software (and unplugging the controller during the installation), but nothing works. Moreover, when I open "APT Config", the serial number of the device doesn't appear when I want to make stage association. I also want to specify that I use another FW103H with the BSC101 Controller on my other computer and I have no problem with it. But when I connect the new controller on this computer, the peripheral isn't recognize again. Do you have any solution to propose?
tcohen  (posted 2012-03-28 15:02:00.0)
Response from Tim at Thorlabs: Thank you for your feedback. This may be due to a corrupted installation of an APT or Labview driver. The first thing to do would be to remove APT and all associated drivers and reinstall APT which will reinstall the drivers. I will contact you directly for troubleshooting.
cfredricksen  (posted 2012-03-28 11:19:45.0)
We are using this controller with APT through Labview on a Windows XP machine. After running our Labview program several times, we eventually get the blue screen of death with an IRQL_NOT_LESS_OR_EQUAL error. Are you aware of this problem and do you know of a fix? From what I have seen on the internet it appears to be some kind of interrupt conflict. Thanks
bdada  (posted 2012-02-24 15:02:00.0)
Response from Buki at Thorlabs to m.musterd: Thank you for your feedback. Please refer to pages 40 to 47 of the manual linked below for more information on the Trigger Out function. We have contacted you to provide additional support.
m.musterd  (posted 2012-02-02 11:48:23.0)
Hi, I am using the BSC101 controller with the NR360S NanoRotator. I am recording the motion of a substrate on the NR360 with a camera and I would like to use the Trigger Out (pin 4) to flash a light at the moment the rotation starts so I have a t=0 for my camera recording. Is this possible? If so, how does this work?
bdada  (posted 2011-10-03 10:47:00.0)
Response from Buki at Thorlabs: Thank you for your feedback. It sounds like your stage needs to be repaired. We have contacted you to set up a return and repair for the stage.
pzagrajek(at)  (posted 2011-09-30 11:09:47.0)
Hi, I am using BSC103 controller and NRT150P1/M stages. In one of them I cannot move stage to home position properly. Even a stage is at the end (near a motor), when I press home/zero button on APTUser GUI, a position on display becomes more and more negative, motor is trying to work (I hear sound) and stage is not moveing.
jjurado  (posted 2011-08-18 18:31:00.0)
Response from Javier at Thorlabs to lili4research: Each channel of the BSC103 stepper motor controller contains an I/O connector which features digital and analog pins for interface with external hardware. Pin 4 of the I/O connector is used for triggering a move from an external TTL level signal. The triggering mode and move type can be set up in the Advanced tab of the Motor Settings window in the APT User utility, along the step distance and velocity profile. This information can be found in pages 42, 46 and 49 of the BSC103 manual: I will contact you directly for further support.
lili4research  (posted 2011-08-17 18:09:02.0)
I use NRT150 with BSC103. I want the stage to move a single step after receiving a trigger. Do you have documents on how to configure triggered motion control? Cant find information anywhere in manuals.
jjurado  (posted 2011-08-08 12:29:00.0)
Response from Javier at Thorlabs to jm.rodriguez.oyarzun: Thank you very much for contacting us. I will contact you directly to help you troubleshoot your application.
jm.rodriguez.oyarzun  (posted 2011-08-06 11:34:06.0)
Hi, we have a problem with our BSC101 controller. The USB connection it’s not detected by the computer. We follow the step by step installation guide on the manual, but when we connect the controller to the PC the hardware installation (drivers) does not work. Note that the computer does not detect any device connected to the USB port. We have tried with several different USB cables and computers but with the same results. The USB ports of the computers works fine with other devices.
jjurado  (posted 2011-08-05 09:58:00.0)
Response from Javier at Thorlabs to last poster: At the moment, we are not planning the release of an updated APT communications protocol document. However, we can gladly help you with additional information that might be missing from the documentation. Please contact us at so that we can assist you directly.
user  (posted 2011-08-03 20:41:22.0)
Hi, Is there going to be a more recent update on the communication protocol for APT controllers? It would be nice to include the following commands that are missing in the manual: messageID 0x0060 0x042E 0x0213
jjurado  (posted 2011-03-28 17:02:00.0)
Response from Javier at Thorlabs to bluepb: Thank you for contacting us with your request. A change in the default settings for the pitch of the lead screw could very well explain the fractional translation. You can double check the pitch setting in the APT User utility. I would also suggest reconfiguring the BSC102 controller with the DRV001 actuator in order to ensure that the correct association is used. Also, we would recommend running the actuator with our APT software prior to using the LabVIEW application; this could help determine where the discrepancy is coming from. I will contact you directly for further assistance.
bluepb  (posted 2011-03-23 21:02:28.0)
We have one problem on using bsc102, nanomax301, DRV001 with labview program. when I use apt user software, there is no problem. However, when I use the labview, the actual movement is not correct. we set 2mm to move with labview program, but it moves only 1mm. when we set 100um, it actually moves only 50um. Did I miss something to write a code with labview? or can you give me an advice? Also I wonder how to change or increase the velocity using the labview program. is it "setvelparams"?
bdada  (posted 2011-03-07 13:42:00.0)
Response from Buki: In order for the APT controller to run the NRT150 stage it must be associated and configured. The BSC102 can run many devices so you have to tell it to run the NRT150. This means the APT Config utility must be run first. 1. Make sure the current software is installed APT 2.11.0 2. Make sure the USB cable is connected before power is turned on. 3. Run the APT Config utility software 4. Make sure the simulation mode is off (unchecked) 5. Associate channel 1 or channel 2 (by serial number, user option) 6. Associate and add the NRT150. Then run the APT User utility. The NRT150 can now be controlled by the APT GUI panel. If a black screen is observed follow option 2 again. We have contacted you with this information and would be happy to discuss this further with you if you have any questions.  (posted 2011-03-04 16:30:43.0)
We have one problem on using BSC102 to control the NRT150. When we run the APT user, the software can not find the delay stage. We even try the APT config, it still does not work. The problem happened several times in our lab. Can you provide some technical solutions for that? Thanks,
jjurado  (posted 2011-02-01 18:12:00.0)
Response from Javier at Thorlabs to tstier: Thank you very much for submitting your inquiry. The Motor Drive as well as the Motor I/O connectors on the back of the BSC103 are female. We will updated the information on the manual shortly.
tstier  (posted 2011-01-28 16:39:28.0)
Are the motor drive connectors on the back of the BSC103 male or female? We would like to begin building our cables while waiting for delivery.
tor  (posted 2011-01-05 18:46:14.0)
Response from Tor at Thorlabs to Petr: Thank you for your positive feedback and your interest in our BSC101. I will send a document containing communications protocol, which should get you started.
kubanek  (posted 2010-12-14 12:31:47.0)
We would like to control BSC101 from Linux, using custom C/C++ environment (RTS2 - we use this to control telescopes and labs, this particular application is for CCD testing lab). Will you be willing to provide us specification of the USB protocol? We will hardly use ActiveX, and even LabView is pain for us on Linux. We do regularly develop own drivers for devices, including USB devices, so we shall not have problems writing driver for BSC101. We enjoyed your Laser products, which have simple RS232 USB bridge and comes with protocol description, but we miss protocol description for BSC101. Thank you in advance. Petr Kubanek
tor  (posted 2010-11-23 22:04:29.0)
Response from Tor at Thorlabs to Rober: We do not have RS232 commands, as the BSC103 interfaces with ActiveX. The system can be controlled through LabView, Visual C++, and Visual Basic. Please see our video tutorials under the "APT Tutorials" tab on this page for further details. Please do not hesitate to contact us at if you need further assistance.
rll  (posted 2010-11-23 10:18:00.0)
Dear Sirs, We bought last year a BSC103 controler with RS232 option, but the manual does not content the rs232 direct commands. Please, could you send me the list of these commands inj order to can control manualy the system. thank you in advance, Rober
Thorlabs  (posted 2010-07-14 08:50:29.0)
Response from Javier at Thorlabs to tim.rausch: thank you for your feedback. There is actually no part 2 of the LabWindows/CVI help file. However, if you have particular questions about programming in this environment, we may be able to help. Also, we have an open forum were you may be able to find help regarding software-related questions. You can sign up at I will follow up with you directly.
tim.rausch  (posted 2010-07-13 18:19:29.0)
Javier, where is part 2 of the CVI demo. I would like to be able to control the stages with my own code. The help file is NOT clear at all.
Javier  (posted 2010-06-10 10:06:03.0)
Response from Javier at Thorlabs to john.radle: you can download a tutorial for integration of our APT software with NI CVI from our ftp site. The address is Username: thortech Password: password. The name of the file is APT CVI I will contact you directly in case you need further assistance.
Oli  (posted 2010-03-19 11:39:50.0)
A respone from Oli at Thorlabs to cvisone: Th jog inputs are indeed digital inputs as described in A.1.2. It should be possible to drive them in the same way (and with the same cautions) as the other digital inputs. We will change the manual to state that these pins be interpreted as a logic low (0V < Vin < 0.8V) will cause the motor to jog. The idle state is logic high (2.4V < Vin < 5.0V).
cvisone  (posted 2010-03-19 09:04:00.0)
Are the jogging lines in the control i/o connector digital inputs as described in A.1.2 of the manual of the BSC102? Instead of using a handset I would like to drive those lines with the output of an FPGA.
user  (posted 2010-03-05 09:14:39.0)
A response from Oli at Thorlabs to Arash.farhang: There are no sub vis as the active X objects talk directly to the APT server. However, what you are trying to do is entirley possible with the existing commands. I will contact you directly with support for this.
arash.farhang  (posted 2010-03-05 05:29:30.0)
I have a question about one of the activeX objects available in labview, particularly the MGMotor Control object. With this control, I can change the angle at which the rotational stage is currently at, however, I cannot figure out how to add additional custom commands of my own. For example one of things I would like to do is be able to have the motor take one step, stop for 10 seconds, take one step, stop for 10 seconds, take one step, stop for 10 seconds and so on, until N number of steps have been made. I set up a VI just like the examples on the web show (with a while loop as well) and then added a wait timer set to 10 seconds in the while loop, but this did not work of course because the motor control icon is outside the while loop. I then proceeded to put everything in the while loop, but this did not work either. It seems like I dont understand the structure of dataflow from this control. Is there anyway for me to observe the subvis that define this contol? I know that if I can view them, I will have a very good chance of creating my own custom vi that will perform the tasks I want it to perform. Thanks Arash Farhang
apalmentieri  (posted 2010-02-03 10:44:02.0)
A response from Adam at Thorlabs to cooljkpark: The motion you recieve in the backward direction is related to the backlash compenstation. It is possible to turn this off, but it is not recommended as this will reduce the accuracy of the stage. Unfortunately, we did not get your email address. If you would like more help regarding this inquiry, please email us at
cooljkpark  (posted 2010-02-03 08:55:10.0)
I have question about control max324/m(step motor part) with bsc103. when I order move absolute position For forward direction motor stopping at ordered position as soon as it reach ordered position but For backward direction motor dose not stop ordered position as soon as it reach position. Little bit over moving and move agaion forward finally stopping at ordered position. I want to know why backward moving work like that and how can i do for backward moving same as forward moving.
klee  (posted 2009-11-20 16:05:21.0)
A response from Ken at thorlabs to enes_eken1986: The serial number you have entered is not the serial number of the 3 channels drivers but the controller box. Run the APT Config utility program. Here you will need to associate three stepper motors to the three driver boards in the controller box. The number you see in the association (motor) is the serial number to use. There will be three unique numbers..
enes_eken1986  (posted 2009-11-20 03:26:23.0)
hi I bought a bsc103 stepper motor driver and I want to use this product with visual basic. So I added activexs file to visual components. And then I want to use apt motor controller like mg17motor. after that I must enter HW serial number. My problem is this point. my divers serial number is 70811358 but apt motor controller properties dont accept this number but give default number 12345678 what must I do? thanks
klee  (posted 2009-10-08 16:12:41.0)
A response form Ken at Thorlabs to jarosik: After you have installed the software, go to Start Menu > All Programs > Thorlabs > APT > Help > APT Server Help. Then click on Prgramming Guide > Motor Control > Motor Control Methods.
jarosik  (posted 2009-10-08 15:48:19.0)
Im trying to develop some LabVIEW code to operate a BSC101 stepper motor controller. I have down loaded the support CD and found the "User Guide to LabVIEW & APT" document very useful. However, I am unable to locate reference documentation for the methods available through the ActiveX routines. There a mention of an "APT Programming Guide" in the "User Guide to LabVIEW & APT", but I cannot find this on my system or on the Thorlabs web site. Could you please point me to any available documentation for the methods included in the ActiveX library? Thank You. Norm Jarosik Princeton University
jens  (posted 2009-06-30 13:41:54.0)
A reply from Jens at Thorlabs: the NRT100 should come with the connector cable PAA613 that allows you to connect the NRT100 to the BSC101 controller. I will send you an email to arrange shipment of such a cable.
parkh6  (posted 2009-06-30 13:27:54.0)
Dear Thorlabs, What if I would like to use a NRT100 with BSC101. The connector does not match. If you let me know the pin connection between NRT100 and BSC101, it will be great help. Thanks,
Tyler  (posted 2008-11-03 16:11:48.0)
A response from Tyler at Thorlabs to xiaomei.chen: A member of our technical support department will email you step by step instructions for dealing with this error. Basically, this is caused by execution setting in Labview. Under "VI Properties" choose the category "Execution" and then choose "User Interface". The instructions being sent to you have screen shots to help guide you. Thank you for choosing the BSC stepper motor controller and if you need any further assistance please dont hesitate to ask.
xiaomei.chen  (posted 2008-11-03 09:41:03.0)
We tried to use the basic example vi attached with software to control the motor, there is always the error 3006, we cant find the reason, the VIs are provided by your company. Could you please possiblly tell me what kind of error this is?
Based on your currency / country selection, your order will ship from Newton, New Jersey  
+1 Qty Docs Part Number - Universal Price Available
BSC201 Support Documentation
BSC201Customer Inspired! One-Channel APT™ Benchtop Stepper Motor Controller
BSC202 Support Documentation
BSC202Customer Inspired! Two-Channel APT™ Benchtop Stepper Motor Controller
BSC203 Support Documentation
BSC203Customer Inspired! Three-Channel APT™ Benchtop Stepper Motor Controller
Log In  |   My Account  |   Contact Us  |   Careers  |   Privacy Policy  |   Home  |   FAQ  |   Site Index
Regional Websites: West Coast US | Europe | Asia | China | Japan
Copyright 1999-2019 Thorlabs, Inc.
Sales: 1-973-300-3000
Technical Support: 1-973-300-3000

High Quality Thorlabs Logo 1000px:Save this Image