Kinesis® K-Cube™ Brushless DC Servo Controller


  • Drives Brushless DC Servo Motors Up to 2.5 W
  • Control via Local Panel, SMA Triggers, or USB Computer Connection

KBD101

Power Supply Sold Separately

Table Mounting Plate
(Included with the KBD101)

Related Items


Please Wait

Click to Enlarge

Back and Top Views of the KBD101 K-Cube
(See the Pin Diagrams Tab for More Information)

Features

  • Compact Footprint: 60.0 mm x 60.0 mm x 49.2 mm
  • Differential Encoder Feedback (QEP Inputs) for Closed Loop Positioning
  • Auto-Configure Function when Used with the 50 mm and 100 mm Fast Translation Stages
  • Easy-to-Use Manual Controls
    • Velocity Wheel: Bidirectional Control
    • Digital Display Menu: Jogging Functionality with Position Presets
  • Full Kinesis® or APT™ Software Control Suite (See Motion Control Software Tab for Details)
  • Software Compatible with Other Kinesis and APT Controllers for Integrated Systems Development
  • Fully Compatible with Current- and Previous-Generation T-Cube™ Controllers
  • Single- and Multi-Channel PSU Options Available Separately
  • Multi-Axis Expansion Using USB Controller Hubs (Sold Separately)
  • Magnetic, Clip-On Optical Table Mounting Adapter Included

The KBD101 K-Cube™ Brushless DC Servo Motor Controller is a part of Thorlabs' new and growing Kinesis® line of high-end, compact motion controllers and is ideal for fast (hundreds of mm/s), high-resolution (10 million encoder counts per second) applications. Designed to provide easy manual and automatic control of brushless DC servo motors, this single-channel driver is capable of driving a variety of rotary and linear brushless 3-phase DC motors with up to 2 A peak coil current. The controller has also been optimized for 'out-of-the-box' operation with Thorlabs' brushless DC servo motor equipped stages, such as the DDS050 and DDS100 fast translation stages. When paired with these stages, speeds up to 500 mm/s can be achieved. The highly flexible software settings and closed-loop tuning support operation with a wide range of third-party DC servo motors and associated stages and actuators.

The unit has a highly compact 60.0 mm x 60.0 mm x 49.2 mm footprint, allowing it to be positioned close to the motorized system for added convenience when manually adjusting motor positions using the top panel controls. Tabletop operation also allows minimal drive cable lengths for easier cable management. Each unit contains a front-located power switch that, when turned off, saves all user-adjustable settings. Please note that this switch should always be used to power down the unit. For convenience, a 1.5 m long Type A to Type Micro B USB 3.0 cable is included with the KBD101 cube.


Click to Enlarge
View Product List
Item #QtyDescription
TSG0011 T-Cube Strain Gauge Reader (Power Supply Not Included)
KPZ1011K-Cube Piezo Controller (Power Supply Sold Separately)
KSC1011K-Cube Solenoid Controller (Power Supply Not Included)
KCH3011USB Controller Hub and Power Supply for Three K-Cubes or T-Cubes
KAP1011Adapter Plate for KCH Series Hubs and 60 mm Wide T-Cubes
KCH301 USB Controller Hub with Installed K-Cube and T-Cube Modules (T-Cubes Require the KAP101 Adapter)

USB connectivity provides easy 'Plug-and-Play' PC-controlled operation with two available software platforms: our new Kinesis software package or our legacy APT (Advanced Positioning Technology) software package. The Kinesis software features .NET controls which can be used by third-party developers working in the latest C#, Visual Basic, LabVIEW™, or .NET compatible languages. Our legacy APT software allows the user to quickly set up complex move sequences with advanced controls made possible via the ActiveX® programming environment. For example, all relevant operating parameters are set automatically by the software for Thorlabs stage and actuator products. For more details on both software packages, please see the Motion Control Software and APT Tutorials tabs.

Optical Table Mounting Plate
Each unit comes with a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for more permanent placement on the tabletop. Please see the Specs tab for details.

Power Supply Options
The preferred power supply (single channel or hub-based) depends on the end user's application and whether you already own compatible power supplies. To that end and in keeping with Thorlabs' green initiative, we do not ship these units bundled with a power supply.

Multiple units can be connected to a single PC by using the KCH301 or KCH601 USB Controller Hubs, available below, for multi-axis motion control applications. The KCH301, shown to the right, allows up to three T- or K-Cube controllers to be used while the KCH601, shown below and to the right, allows up to six controllers to be used.

All power supply options compatible with the KBD101 Motor Controller can be found below.

KBD101 Specifications
Motor Output
Drive Connectora 15-Pin D-Type, Female
(Motor Phase Outputs, Stage ID Input)
Peak Current Output 2 A
Pulse Width Modulation Frequency 40 kHz
Control Algorithm 16-Bit Digital PID Servo Loop with Velocity and Acceleration Feedforward
Position Feedback Incremental Encoder
Encoder Bandwidth 2.5 MHz / 10 MCounts/sec
Position Counter 32 Bit
Operating Modes Position and Velocity
Velocity Profile Trapezoidal/S-Curve
Front Panel Controls
Sprung Potentiometer Wheel Bidirectional Velocity Control, 
Forward/Reverse Jogging,
or Position Presets
Input Power Requirements
Voltage 14.5 - 15.5 V Regulated DC
Current 2 A (Peak)
General
USB Connector Type USB 3.0
USB Connection Speed USB 1.1 Full Speed (12 Mbps)
Housing Dimensionsa
(W x D x H)
60.0 x 60.0 x 49.2 mm
(2.36" x 2.36" x 1.94")
Compatible Motors
Type 3-Phase DC Brushless Motors
Rated Phase Currents (Nominal) 100 mA to 2 A
  • Including Top Panel Controls

Click to Enlarge
Mechanical Drawing of the KBD101 and Included Optical Table Adapter

Motor Control Connector

D-type Female

d-type_long

Pin Description Pin Description
1 Quadrature A- 9 Ground
2 Quadrature A+ 10 Motor Phase C
3 Quadrature B+ 11 Motor Phase A
4 Quadrature B- 12 Motor Phase B
5  Encoder Index I- 13 +5 V
6  Encoder Index I+ 14 Ground
7 Negative Limit 15 Stage ID
8 Positive Limit

Please see Appendix A of the Manual for Further Explanation of these Pin Designations.

TRIG 1

SMA Female

TRIG 2

SMA Female

SMC Male SMC Male
+5 V TTL +5 V TTL
These connectors provide a 5 V logic level input and output that can be configured to support triggering into and out of external devices. Each port can be independently configured to control the logic level or to set the trigger as an input or output.

Computer Connection*

USB 3.0

*The USB 3.0 port is compatible with a USB 2.0 Micro B connector if the Micro B connector is plugged into the shaded region in the photo above. A USB 3.0 type A to type Micro B cable is included with the KBD101.

K-Cube Mounting Options

Two options are available to securely mount our K-Cube controllers onto an optical table. An optical table mounting plate, provided with every K-Cube, allows for a single controller to be attached to an optical table. Alternatively, three- and six-port USB controller hubs are offered (sold separately) that can mount and power our K-Cube controllers. These options are describes in further detail below.

Optical Table Mounting Plate
Each K-Cube unit comes with a mounting plate that clips onto the base of the controller, as shown in the animation to the right. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for a more permanent placement on the tabletop. Please see the Specs for a mechanical drawing of the table mounting plate.

Kinesis USB Controller Hubs
Multiple units can be mounted and connected to a single PC by using the KCH301 or KCH601 USB Controller Hubs. They each consist of two parts: the hub, which can support up to three (KCH301) or six (KCH601) K-Cubes or T-Cubes, and a power supply that plugs into a standard wall outlet. K-Cubes simply clip into place using the provided on-unit clips, while current- and previous-generation T-Cubes require the KAP101 Adapter Plate, shown in the animation above. The hub vastly reduces the number of USB and power cables required when operating multiple controllers.

K-Cube Table Mounting Plate


Every K-Cube includes a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for more permanent placement on the tabletop.

Kinesis USB Controller Hubs


3- and 6-Port USB Controller Hubs allow multiple controllers to be connected to one PC for multi-axis applications. K-Cubes can be directly attached to the hubs while T-Cubes require a KAP101 Adapter Plate.
K-Cube vs. T-Cube Feature Comparison
Feature KBD101 K-Cube TBD001 T-Cube
Kinesis Software Compatibility YES! YES!
APT Software Compatibility YES! YES!
Kinesis USB Controller
Hubs 
Compatibility
YES! Requires KAP101 Adapter
TCH002 T-Cube USB
Controller Hubs Compatibility
N/A YES!
Power Switch YES! N/A
Bidirectional SMA Trigger Port 2 1a
Computer Connectionb USB 3.0 Micro B
(USB 2.0 Compliant)
USB 2.0 Micro B
(USB 2.0 Compliant)
Included Mounting Plate YES! YES!
Size (L x W x H) 60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
60.0 mm x 60.0 mm x 49.2 mm
(2.36" x 2.36" x 1.94")
On-Unit Digital Display Menu YES! N/A
Go To Position YES! Only via Software
Homing Options YES! Only via Software
Velocity Control YES! Only via Software
Joystick Mode YES! Only via Software
Jog Step Size YES! Only via Software
Teach Postion YES! Only via Software
Screen Brightness YES! N/A
Disable Movement YES! YES!
Stage Select YES! Only via Software
  • The TBD001 T-Cube featured one input and one output SMA trigger port.
  • Please see the Pin Diagrams tab for details.

Introducing Thorlabs' Kinesis® Motion Controllers

A major upgrade to the former-generation T-Cubes™, the growing K-Cube™ line of high-end controllers provides increased versatility not only through the new Kinesis software, but through an overhaul and updating of their physical design and firmware.

Unlike T-Cubes, every K-Cube controller includes a digital display. In addition to basic input and output readouts, this display hosts a number of menu options that include go-to-position commands, homing, velocity control, and jogging. The on-unit velocity wheel and menu button are used to scroll through the available options. Each unit contains a front-located power switch that, when turned off, saves all user-adjustable settings as well as two bidirectional SMA trigger ports that accept or output a 5 V TTL logic signal.

Please see the table to the right for a full comparison of the features offered by our new KBD101 K-Cube and previous-generation TDC001 T-Cube motion controllers.

Brushless DC Controller
Click to Enlarge

KBD101 K-Cube Kinesis Brushless
DC Servo Motion Controller

Kinesis USB Controller Hubs
Complementing our K-Cubes are our Kinesis USB 2.0 controller hubs. With two versions available for three or six  K- or T-Cubes, these USB hubs are designed specifically for communication between multiple controllers and the host control PC.

K-Cubes simply clip into place using the provided on-unit clips, while current- and previous-generation T-Cubes require the KAP101 Adapter Plate, shown in the animation to the below right. The hub vastly reduces the number of USB and power cables required when operating multiple controllers.

K-Cube Table Mounting Plate


Every K-Cube includes a mounting plate that clips onto the base of the controller. The plate contains two magnets for temporary placement on an optical table and two counterbores for 1/4"-20 (M6) cap screws for more permanent placement on the tabletop.

Kinesis USB Controller Hubs


3- and 6-Port USB Controller Hubs allow multiple controllers to be connected to one PC for multi-axis applications. K-Cubes can be directly attached to the hubs while T-Cubes require a KAP101 Adapter Plate.

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.

Software

Kinesis Version 1.14.47

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

Also Available:

  • Communications Protocol
Software Download

Software

APT Version 3.21.6

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

Also Available:

  • Communications Protocol
Software Download

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).

C Sharp Icon Click Here for the Kinesis with C# Quick Start Guide
Click Here for C# Example Projects
Click Here for Quick Start Device Control Examples
C Sharp Icon

LabVIEW
LabVIEW can be used to communicate with any Kinesis- or APT-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- and APT-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.

Labview Icon Click Here to View the LabVIEW Guide
Click Here to View the Kinesis with LabVIEW Overview Page
Labview Icon

The APT video tutorials available here fall into two main groups - one group covers using the supplied APT utilities and the second group covers programming the APT System using a selection of different programming environments.

Disclaimer: The videos below were originally produced in Adobe Flash. Following the discontinuation of Flash after 2020, these tutorials were re-recorded for future use. The Flash Player controls still appear in the bottom of each video, but they are not functional.

Every APT controller is supplied with the utilities APTUser and APTConfig. APTUser provides a quick and easy way of interacting with the APT control hardware using intuitive graphical control panels. APTConfig is an 'off-line' utility that allows various system wide settings to be made such as pre-selecting mechanical stage types and associating them with specific motion controllers.

APT User Utility

The first video below gives an overview of using the APTUser Utility. The OptoDriver single channel controller products can be operated via their front panel controls in the absence of a control PC. The stored settings relating to the operation of these front panel controls can be changed using the APTUser utility. The second video illustrates this process.

APT User - Overview
APT User - OptoDriver Settings


APT Config Utility

There are various APT system-wide settings that can be made using the APT Config utility, including setting up a simulated hardware configuration and associating mechanical stages with specific motor drive channels. The first video presents a brief overview of the APT Config application. More details on creating a simulated hardware configuration and making stage associations are present in the next two videos.

APT Config - Overview
APT Config - Simulator Setup
APT Config - Stage Association


APT Programming

The APT Software System is implemented as a collection of ActiveX Controls. ActiveX Controls are language-independant software modules that provide both a graphical user interface and a programming interface. There is an ActiveX Control type for each type of hardware unit, e.g. a Motor ActiveX Control covers operation with any type of APT motor controller (DC or stepper). Many Windows software development environments and languages directly support ActiveX Controls, and, once such a Control is embedded into a custom application, all of the functionality it contains is immediately available to the application for automated operation. The videos below illustrate the basics of using the APT ActiveX Controls with LabVIEW, Visual Basic, and Visual C++. Note that many other languages support ActiveX including LabWindows CVI, C++ Builder, VB.NET, C#.NET, Office VBA, Matlab, HPVEE etc. Although these environments are not covered specifically by the tutorial videos, many of the ideas shown will still be relevant to using these other languages.

Visual Basic

Part 1 illustrates how to get an APT ActiveX Control running within Visual Basic, and Part 2 goes on to show how to program a custom positioning sequence.

APT Programming Using Visual Basic - Part 1
APT Programming Using Visual Basic - Part 2


LabVIEW

Full Active support is provided by LabVIEW and the series of tutorial videos below illustrate the basic building blocks in creating a custom APT motion control sequence. We start by showing how to call up the Thorlabs-supplied online help during software development. Part 2 illustrates how to create an APT ActiveX Control. ActiveX Controls provide both Methods (i.e. Functions) and Properties (i.e. Value Settings). Parts 3 and 4 show how to create and wire up both the methods and properties exposed by an ActiveX Control. Finally, in Part 5, we pull everything together and show a completed LabVIEW example program that demonstrates a custom move sequence.

APT Programming Using LabVIEW -
Part 1: Accessing Online Help
APT Programming Using LabVIEW -
Part 2: Creating an ActiveX Control
APT Programming Using LabVIEW -
Part 3: Create an ActiveX Method
APT Programming Using LabVIEW -
Part 4: Create an ActiveX Property
APT Programming Using LabVIEW -
Part 5: How to Start an ActiveX Control


The following tutorial videos illustrate alternative ways of creating Method and Property nodes:

APT Programming Using LabVIEW -
Create an ActiveX Method (Alternative)
APT Programming Using LabVIEW -
Create an ActiveX Property (Alternative)


Visual C++

Part 1 illustrates how to get an APT ActiveX Control running within Visual C++, and Part 2 goes on to show how to program a custom positioning sequence.

APT Programming with Visual C++ - Part 1
APT Programming with Visual C++ - Part 2


MATLAB

For assistance when using MATLAB and ActiveX controls with the Thorlabs APT positioners, click here.

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


Posted Comments:
Marco D'Alessandro  (posted 2024-02-14 19:01:10.123)
Hello, I am trying to control the KBD101 using a Python code by importing thorlabs_apt. Overall it works, but when I try to increase acceleration and speed close to the max values indicated in the specs (respectively 5000 mm/s^2 and 500 mm/s), I get an error regarding a violation of max acceleration and speed supported. Can you provide any feedback? Thanks
cstroud  (posted 2024-02-28 09:52:03.0)
Thanks for reaching out. Unfortunately the "thorlabs_apt" module was not created by Thorlabs and we're unable to officially support this. I will contact you directly to discuss other options.
user  (posted 2022-07-28 10:26:21.393)
Hello, I'm trying to control KBD101 with DDSM50 via Matlab using .NET interface. I import all appropriate libraries and create the device, but when I try to connect it, Matlab crashes. The controller and the stage work if I control them via Kinesis software though. Could you please provide me with a working Matlab solution for basic control (initialize, connect, move to a position, disconnect) for KBD with DDSM50, please?
cwright  (posted 2022-07-28 09:51:33.0)
Thank you for your query. Unfortunately as Matlab is not officially supported by us we cannot guarantee that all DLL's will work in Matlab - in fact we are aware that some releases of our DLLs do not appear to work with some releases of Matlab but it is not predictable which are compatible or not. I would suggest avoiding Matlab if possible or using our serial commands in Matlab, which would always work. We do have an example using the DLLs though, which we will provide.
HEE RYUNG LEE  (posted 2022-06-01 10:56:34.677)
Hi, KBD 101 does not work well after a firmware update. The message "Device not responding" appeared in Kinesis software, and the firmware disappeared in the firmware update utility. Also, the display of the KBD101 did not work (e.g., no information on the bright background). Is there any method to solve it? Could you please explain how to solve this problem? The other question is how to use the APT to connect the DDR25. I found an APT figure associated with DDR25 (page 8), but, in my case, an incompatible message appears as connecting the DDR25 with KBD101 in APT software. I would appreciate it if you let me know how to combine them in APT software.
DJayasuriya  (posted 2022-06-01 10:59:27.0)
Thank you for your inquiry. We have got in touch with you directly to resolve your issue.
user  (posted 2022-03-26 12:44:48.393)
Why it can't homing? It didn't stop rotate in 10 mins
cwright  (posted 2022-03-28 05:56:36.0)
Response from Charles at Thorlabs: Thank you for your query. This may be caused by a misaligned readhead or there may be dirt on the readhead or encoder scale. A member of technical support will reach out to you.
Faisal Saeed Awan  (posted 2021-06-11 20:42:04.97)
Hi my name is Faisal.My KBD 101 KCube DC Brushless motor controller is not responding when operate it through Kinesis and APTand manuallay as well,Although i have give power and connected it from the properly from.Kindly suggest me the fine solution soon Best regards
jcater  (posted 2021-06-14 05:20:03.0)
Response from Jack at Thorlabs: Hello Faisal, thank you for your feedback. I have reached out to you directly to help troubleshoot further.
Yang Hu  (posted 2020-11-06 11:59:23.78)
Hi, we are using your KBD101 controller and Kinesis software to control your DDR25/M motor. We would like to get some output trigger, so we set the trigger mode to 'OUT - At Position Steps Fwd', but cannot get any signal? Other trigger mode, like 'OUT - In Motion' and 'OUT - At Max Velocity' work well, but 'OUT - At Max Velocity Fwd', 'OUT - At Position Steps Rev', and 'OUT - At Position Steps Both' just do not work? We tried both trigger port, different parameters, different speed, both moving direction and different command (move, drive and jog), but the output is always at non-triggered state? We are pretty sure the motor has gone past the trigger start position, but nothing happened? Could you please help us with this problem? Thanks a lot!
cwright  (posted 2020-11-09 11:33:23.0)
Response from Charles at Thorlabs: Thank you for your query. I will reach out to you directly to get a complete picture of the parameters you are using and help you troubleshoot this.
user 1  (posted 2019-09-25 06:49:29.993)
After updating (FlashFirmware) using Firmware, the KBD 101 stopped working completely. The program does not see it, the display does not light. How to restore the device?
cwright  (posted 2019-09-26 04:25:08.0)
Hello, thank you for contacting us about this. It sounds like your firmware was corrupted during the update but this is recoverable and I will contact you directly to provide guidance.
user  (posted 2019-09-17 03:33:20.1)
Is it possible to have the DDR25 rotate continuously using APT or Kinesis? There seems to be a set limit in the software.
rmiron  (posted 2019-09-17 09:43:01.0)
Response from Radu at Thorlabs: It is possible to do this in Kinesis. The trick is to write a sequence with only one command: MoveContinuousAtVelocity (or MoveContinuous). After you click "Run" you can close Kinesis. The stage will continue to move. Via APT this is not possible. If you employ other methods (such as MoveAbsolute/MoveRelative commands), you will not be able to make it rotate by more than 3000 times continuously.
user  (posted 2019-09-03 04:28:30.347)
Could you provide me with more details on the libraries for controlling the KBD101 with the DDR25 through Python? Thanks
AManickavasagam  (posted 2019-09-05 09:12:13.0)
We do not have a Python API for our motion control software packages, hence there is no official way of controlling the stage/controller with Python. With that being said, we do recommend one of two courses of action, for which we can provide example code. The first one would be to use the "ctypes" Python library in conjunction with Kinesis' C API. The other one would be to use the "pythonnet" package together with Kinesis' .NET API. I will contact you directly in order to provide you with suitable examples.
Shao-Wen Wu  (posted 2019-06-14 08:07:35.867)
Hi, i am using K-Cube™ Brushless DC Servo Controller and DDSM100/M 100 mm Linear Translation Stage for experiment. I have some questions for the external trigger setting. I setted Trigger 1 Mode: IN – Homed and Trigger 2 mode: IN – Absolute Move. Both functions worked fine in the Kinesis software. I'd like to use the controller with the external trigger only and not with the software. Thus I turned off the software and rebooted the control to see if all the setting are done. However, there's only the trigger 1- homed worked correctly. But the trigger 2 - absolute move didn't work. What could the reason be?
rmiron  (posted 2019-06-18 04:33:47.0)
Response from Radu at Thorlabs: Hello, Shao-Wen. I have replicated the error that you are observing and reported it to our developers. I suspect it is caused by the move absolute distance not being saved and defaulting to 0. However, I can't be certain of that until we look more deeply into the problem. I will contact you directly once we know for sure what is causing this bug and we have a fix for you.
simon.neves  (posted 2019-01-31 07:09:46.387)
I would like to use control the KBD101 on python. I see you mention some open source librairies from customers. I am using this KBD101 with DDR25. Could you advise me some librairies ? Thank you very much
rmiron  (posted 2019-01-31 07:11:08.0)
Response from Radu at Thorlabs. Hello, Simon. A quick Google search revealed 4 such libraries on GitHub. I will send you links to them in an email. Unfortunately, none of them can control KBD101. Furthermore, having not been developed by us, we can't guarantee that they work as intended. With that being said, they might help you develop your own library. Those user-made libraries have employed pythonnet and ctypes in order to wrap part of our .NET API, respectively our C API, in Python code. This course of action is probably less time-consuming than building a library from scratch using serial commands.
david.lowndes  (posted 2018-12-05 11:18:12.183)
I am using the serial communications protocol to control the KBD101 in Linux. When I use the MGMSG_HW_REQ_INFO command, the response comes back OK (model number comes back as KBD101S) but the serial number is simply 28000000 (bytes are 0x00, 0x3f, 0xab, 0x01) is this intended behaviour?
rmiron  (posted 2018-12-05 10:41:04.0)
Response from Radu at Thorlabs: Hello, David. Until recently, our controllers did not have their serial numbers programmed into their flash memory. That is the memory which can be accessed through serial commands. Despite this, Kinesis had no difficulties in correctly identifying the serial numbers, as those numbers were saved in the FTDI chip used by the controllers. The most recent Kinesis version fixes this issue by storing the serial number into the flash memory as well. So if you are able to operate KBD101, just once, from a Windows PC via the latest Kinesis release, then you will be able to correctly read the serial number via MGMSG_HW_REQ_INFO. If this course of action is absolutely not possible in your case, we could also provide you with a private serial command that will fix the issue. If that is necessary, please contact our UK tech support team.
744813694  (posted 2018-11-10 17:41:28.653)
can I use python to control this thing
rmiron  (posted 2018-11-12 12:10:53.0)
Response from Radu at Thorlabs: It is possible to control KBD101 from almost any programming language. However, that usually requires the user to build their own library. At the moment we don't have an API for Python. We only offer libraries for C, C++, LabVIEW and any .NET-based programming language (such as C# & Visual Basic). With that being said, given the growing popularity of Python, we are looking to amend this situation in the coming year. For now, you have two options for controlling our motion control stages from Python. You can either use our serial communications protocol in order to develop your own Python API or you can use one of the libraries developed by other customers and openly shared by them online. I will contact you directly in order to provide more details.
amukherji  (posted 2017-05-08 15:26:05.573)
Hello, I'm trying to use the C# dlls to connect to the Kinesis Simulator software. According to the C# api help document I just need to have this 1 line at the beginning of the code "SimulationManager.Instance.InitializeSimulations();". This line keeps throwing an error and I'm not able to connect to the Simulator software from C# code.
tfrisch  (posted 2017-05-16 01:24:28.0)
Hello, thank you for contacting Thorlabs. It looks like you have already resolved this issue with a member of our Tech Support group over our Live Chat.
amukherji  (posted 2017-05-05 14:44:32.747)
Hello, We at Illumina are trying to create a software by using the C# programming dll files you provide. We downloaded the C# projects from this product's "Kinesis Tutorials" section. We're working on the KBD101. 2 required dll files are missing from the project we downloaded from your website. Thorlabs.MotionControl.KCube.BrushlessMotorCLI.dll ThorLabs.MotionControl.KCube.BrushlessMotor.dll Can you please help us with finding these 2 dll files. Arjun Mukherji Illumina
tfrisch  (posted 2017-05-16 11:55:22.0)
Hello, thank you for contacting Thorlabs. It looks like you are already in contact with our Technical Support Team to troubleshoot this application.
rossmr  (posted 2017-04-06 11:08:53.38)
I'm fairly disapointed in this system of controler and stage. While the overall interface via APT is convienent, the stages have communication propblems too often. Typicaly I run into controlers freezing or failing to communicate about 1-2 times a day. Less troublesome than communications trouble, I have also had teh screen partially fail on the two KBD101 units I've had. The screen seems to fail as the bright segments of the screen die out and leave the text very dim. The first was blotchy as soon as I got it out of the package. The second started to go blotchy after a few months. I will admit I'm getting more and more concerned about build quality overall at Thor Labs (even the set screws on the 1/2" postholders are aluminum now and prone to sheering off.) While not related to the build quality, I also was rather annoyed that we purchased around a dozen of the older style TBD controllers only to find a few months later that our expensve Usb hub/power supply (prior version of KCH601) would not work with any new or replacement controller units. Now I'm finding that I need to replace an old TBD controller and am stuck with these KBD101s, which I have little confidence in. I regret not going with a different vendor's system now.
bwood  (posted 2017-04-10 05:44:08.0)
Response from Ben at Thorlabs: I am very sorry to hear about your issues with the KBD101. I will be in direct contact with you to diagnose the cause of your connection problems; in general Kinesis has more stable connectivity. We will also discuss your other points. If the screens have significantly degraded, we are happy to replace any devices where faults have developed. I would also like to discuss with you how we can assist in ameliorating any issues caused by the replacement of the TBD001 by the KBD101.
k.rager  (posted 2017-01-23 10:50:26.15)
Hi, I've purchased the KBD101 Motor Controller along with the DDSM100/M Stage for a project with our laser system. The Laser Control Software only can handle commands in VBScript, so I tried to find a way to control the stage directly in the VBScript, but i wasn't able to do it properly. Is there a way of migrating the .dll files of the kinesis software or the .ocx files from the APT software into my VBScript? My goal is to move the stage by typing commands to my VBScript File of the laser system. I searched several forums abut that, but I couldn't find useful advice, so maybe you know how to help me with my problem.
bhallewell  (posted 2017-01-26 05:39:39.0)
Response from Ben at Thorlabs: Thank you for your email. We hold two software packages with separate architecture. APT contains ActiveX-based controls & Kinesis features .NET controls which can both be used by 3rd party developers. The support that we have available for these packages can be found within the following links, covering C#, Visual Basic & LabVIEW guides. https://www.thorlabs.com/navigation.cfm?guide_id=2251 We will contact you directly to see how we can help.
ludoangot  (posted 2016-10-28 15:06:14.723)
Hello,I'm in the process of selecting a motion control system, and Thorlabs would be my first choice. However I don't work with microsoft, my operating system is linux. I do not fear writing the code to control/communicate with the KBD101 but would need to have more information regarding the various protocols. You have released such protocol for your elliptic piezo motor (ELLx series), but is this available for your direct drive stage controllers?
bhallewell  (posted 2016-10-28 06:03:02.0)
Response from Ben at Thorlabs: Thank you for your question here. We have a communication protocol document for our Kinesis software package within the 'Communication Protocol' tab in the following link. With this you can set up a VCP to communicate with our KBD101. https://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
voronov.alexander  (posted 2016-03-22 00:11:16.01)
Hello, We are going to install 48 units of KBD101 controllers to our system. However USB connection wouldn't be inconvinient so we would like to be able to connect through RS232 interface. Currently we have TDC001 for the evaluation tests. Is this possible to establish a physical connection with TDC001 through RS232 interface? Also, does KBD101 support RS232 interface?
besembeson  (posted 2016-03-25 11:24:13.0)
Response from Bweh at Thorlabs USA: I think you meant USB connection would be inconvenient. If this is the case, you may make the USB connection appear as a COM port by creating a USB virtual COM port (VCP) that will allow for your RS232 communications. This will be the case for the T-cubes and K-cubes. I will contact you to further discuss this.
cveillet  (posted 2016-03-03 15:43:25.083)
Hi! I would like to know if there is a way to have a more sturdy connector for the mini-USB, as we would like to use the device in a harsh environment. Thanks, Christian
msoulby  (posted 2016-03-07 11:33:53.0)
Response from Mike at Thorlabs: We will soon be superseding our TBD001brushless controller with the KBD101 this new K-cube controller will have a micro USB 3.0 connector on the cube with additional securing holes to allow the cable to be more securely connected. This connector will be identical to the one currently used in the already released KDC101 K-Cube and can be viewed at the following page http://www.thorlabs.de/newgrouppage9.cfm?objectgroup_id=2419&pn=KDC101#5077
cbrideau  (posted 2016-02-29 14:23:20.11)
I encountered an issue when I use this with a PRM-Z8 stage and Kinesis. Under APT, if you rotate from 359 degrees to 1 degree, it moves forward 2 degrees, taking the minimum time to get from the current position to the new position. Under Kinesis, it rotates back the whole 358 degrees. I think Kinesis is not aware that the travel is circular in nature and still treats it like a linear stage. This is annoying as it takes a highly variable amount of time to reach certain positions if you cross the 359 to 0 degree point.
msoulby  (posted 2016-03-02 05:15:33.0)
Response from Mike at Thorlabs: The software does indeed know that it is a rotation stage however the default settings for the PRM1-Z8 rotation stage in the Kinesis software is to rotate only between a fixed range, i.e. 0-360 degrees. It is possible to change these settings in Kinesis. If you open the settings window and then select the ‘Rotation’ tab you will be able to change the rotation settings. If you change the Rotation Mode setting to “Equivalent angle” and the Rotation Direction setting to “Rotate Quickest” then this will solve your problem of the stage rotating all the way back around.
razib.obaid  (posted 2015-10-04 19:09:22.137)
Hi we are using DDSM100 stage with TBD001 controller. When using labview, at the beginning we always get an error stating, 'Description: Motor Disabled Error Notes: An attempt has been made to initiate a motor move while the channel is disabled. Enable the channel before intiiating moves. Extra Info: Enable Channel' The error code is: CMGMotorCtrl::MoveHome(0, 1); Internal Code = 16252407 However, if we close the dialoguebox and restart the VI, it works just fine. Is there a way to circumvent this issue?
msoulby  (posted 2015-10-05 10:49:38.0)
Response from Mike at Thorlabs: After starting the stage and controller in LabView after the StartCtrl method has been called it may be worth adding a short delay to allow the controller to complete its start up initialisation; this can be done by wiring through a flat structure and adding a wait inside of this, a wait of a couple of seconds it typically enough. Once the control has fully initialised in LabView to ensure the stage is enabled you should call the method EnableHWChannel after a channel is enabled, it is then good practice to home the motor thereby maintaining positional integrity.
prosenjits  (posted 2014-10-16 08:02:24.877)
We are using a DDSM100 stage with a TBD001 controller. When we try to home the stage using the ATP software the stage moves from one end to another and the gives the following error message. Error [Code = 10110]:- [MG17Motor.OCX] Internal; Internal Code = 18310705. Description: Hardware Notification/Response Notes: A notification or response message has been received from a hardware unit. This may be indicative of a hardware fault or illegal command/parameter sent to the hardware. Extra Info: Hardware response code 34002 received from hardware unit SN 67846993 (in response to message ident 0). Response details:- HomingFailed
msoulby  (posted 2014-10-20 04:48:09.0)
Response from Mike at Thorlabs: The Homing failed can be caused by a number of reasons. These are mainly are due to some impingement on the stage’s free movement of the top plate. This can be caused by poor cable management; the cables can create an unwanted moment on the top plate, resulting in an increased drag force on the stage. The stage will require more current to overcome this drag force and if this current exceeds the current and energy limit settings of the stage then the stage has a failsafe to prevent damage to the motor and will show a ‘position error’ and disable the stage. The error can also be caused by excessive load on the stage, these stages have a relatively low load capacity up to 1kg and depending on your load you will need to adjust the PID settings and reduce you acceleration term in order for the stage to operate smoothly with a higher load. The best way to clear the error is often to power cycle the stage and move the top plate by hand to ensure the movement is easy and smooth with no increased areas of friction or impingement before re-enabling the stage and homing. Often these errors can be dealt with by adjustment of the PID settings, which can be adjusted by the user and full details can be found in the TBD001 manual on what these settings do. We will contact you directly with a number of recommended acceleration and PID settings for different loads.
lyjingmen  (posted 2014-01-02 16:35:38.26)
我用labview控制TBD001和配的直流电机,怎么实现采用输入控件控制各种参数。我在光盘里只看到了各种命令,但是不知道怎么设计成为软件中所提供那种控制方式。联系电话:13545866897
jlow  (posted 2014-01-02 04:28:28.0)
Response from Jeremy at Thorlabs: The ActiveX methods and syntax are outlined in the APT help file located in the Start Menu. We will contact you directly to point you in the right direction for setting up the ActiveX control in LabVIEW.
Back to Top

K-Cube™ Brushless DC Servo Controller


Click to Enlarge
View Product List
Item #QtyDescription
TSG0011 T-Cube Strain Gauge Reader (Power Supply Not Included)
KPZ1011K-Cube Piezo Controller (Power Supply Sold Separately)
KST2012K-Cube Stepper Motor Controller (Power Supply Not Included)
KSC1011K-Cube Solenoid Controller (Power Supply Not Included)
KCH6011USB Controller Hub and Power Supply for Six K-Cubes or T-Cubes
KAP1011Adapter Plate for KCH Series Hubs and 60 mm Wide T-Cubes
KCH601 USB Controller Hub (Sold Separately) with Installed K-Cube and T-Cube™ Modules (T-Cubes Require the KAP101 Adapter)
  • Front Panel Velocity Wheel and Digital Display for Controlling Motorized Stages or Actuators
  • Two Bidirectional SMA Trigger Ports to Read or Control External Equipment
  • Interfaces with Computer Using Included USB Cable
  • Fully Compatible with Kinesis® or APT™ Software Packages
  • Compact Footprint: 60.0 mm x 60.0 mm x 49.2 mm
  • Power Supply Not Included (See Below)

Thorlabs' KBD101 K-Cube Brushless DC Motor Controller provides local and computerized control of a single motor axis. It features a top-mounted control panel with a velocity wheel that supports four-speed bidirectional control with forward and reverse jogging as well as position presets. The digital display on the top panel includes a backlight that can be dimmed or turned off using the top panel menu options. The front of the unit contains two bidirectional trigger ports that can be used to read a 5 V external logic signal or output a 5 V logic signal to control external equipment. Each port can be independently configured to control the logic level or to set the trigger as an input or output.

The unit is fully compatible with our new Kinesis software package and our legacy APT control software. Please see the Motion Control Software tab for more information.

Please note that this controller does not ship with a power supply. Compatible power supplies are listed below. Please note that the TPS008 eight channel power supply will only be able to power four KBD101 brushless DC servo controllers.

Based on your currency / country selection, your order will ship from Newton, New Jersey  
+1 Qty Docs Part Number - Universal Price Available
KBD101 Support Documentation
KBD101K-Cube Brushless DC Servo Driver (Power Supply Not Included)
$902.26
Today
Back to Top

Compatible Power Supplies

photo of power supply adapters
Click for Details

Each KPS201 power supply includes one region-specific adapter, which can be selected upon checkout.
photo of power supply options
Click to Enlarge

The KPS201 Power Supply Unit
  • Individual Power Supply
    • KPS201: For K-Cubes™ or T-Cubes™ with 3.5 mm Jacks
  • USB Controller Hubs Provide Power and Communications
    • KCH301: For up to Three K-Cubes or T-Cubes
    • KCH601: For up to Six K-Cubes or T-Cubes

The KPS201 power supply outputs +15 VDC at up to 2.66 A and can power a single K-Cube or T-Cube with a 3.5 mm jack. It plugs into a standard wall outlet.

The KCH301 and KCH601 USB Controller Hubs each consist of two parts: the hub, which can support up to three (KCH301) or six (KCH601) K-Cubes or T-Cubes, and a power supply that plugs into a standard wall outlet. The hub draws a maximum current of 10 A; please verify that the cubes being used do not require a total current of more than 10 A. In addition, the hub provides USB connectivity to any docked K-Cube or T-Cube through a single USB connection.

For more information on the USB Controller Hubs, see the full web presentation.

Based on your currency / country selection, your order will ship from Newton, New Jersey  
+1 Qty Docs Part Number - Universal Price Available
KPS201 Support Documentation
KPS20115 V, 2.66 A Power Supply Unit with 3.5 mm Jack Connector for One K- or T-Cube
$40.33
Today
KCH301 Support Documentation
KCH301USB Controller Hub and Power Supply for Three K-Cubes or T-Cubes
$598.63
Today
KCH601 Support Documentation
KCH601USB Controller Hub and Power Supply for Six K-Cubes or T-Cubes
$724.52
Today