Benchtop Brushless DC Motor Controllers
- One-, Two-, and Three-Channel Models Available
- Supports 3-Phase, Brushless DC Servo Motors (5 A Peak Total Output) with Encoder Feedback
- Direct Front Panel Control or Remote PC Operation
Kinesis® Software GUI
|Benchtop Motion Controllers|
|1-, 2-, and 3-Channel Brushless DC Servo Controllers|
|1-, 2-, and 3-Channel Stepper Motor Controllers|
|1- and 3-Channel Open Loop Piezo Controllers|
|1- and 3-Channel Closed Loop Piezo Controllers|
|2-Channel NanoTrak® Auto-Alignment Controller|
|Other Brushless DC Servo Controllers|
|K-Cube™ Single-Channel Controller|
Click to Enlarge
BBD302 Front Panel
(Shown Connected to DDS200 Linear Stage and
DDR100 Rotation Stage)
Click to Enlarge
BBD302 Rear Panel
- Supports Thorlabs' Range of 3-Phase, Brushless DC Servo Motor Products
- Encoder Feedback for Closed-Loop Velocity and Position Control
- Front Panel Display and Control to Complement Remote PC Operation
- AUX I/O Port Exposes RS232 Communications and Digital Input and Output Signals
- USB and Ethernet Connectivity
- Supported by the Kinesis and APT Software Control Suites
- New Features Supported by Kinesis:
- Synchronized Moves
- PID Settings
- Seamless Integration with All Kinesis Family Controllers
- ActiveX® Software Graphical Panels
- Compact Controller Footprints (See the Specs Tab for Details)
The BBD300 Series of Brushless DC Motor Controllers are ideal for motion control applications demanding operation at high speeds (hundreds of mm/s) and with high encoder resolution (<100 nm). These controllers offer one, two, or three channels of high-precision motion control for a wide range of applications, particularly microscopy sample manipulation if paired with our MLS203 Series of Dual-Axis Scanning Stages or general motion applications using our 220 mm, 300 mm, or 600 mm translation stages or our direct drive rotation stage. For 19" rack applications, we also offer the RBD201 controller.
Part of our Kinesis family of products, these controllers offer Thorlabs' standard control and programming interface, allowing for easy integration into automated motion control applications. As one of the newest members of the Kinesis family of controllers, these units are backed up by the fully featured Kinesis suite of PC software tools for immediate and easy out-of-the-box configuration and usage. These units are capable of being reprogrammed in-field, allowing the option of upgrading the units with future firmware releases as soon as new programming interfaces (such as microscopy standard command sets) are added.
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 user friendly Kinesis software allows the user to get reasonably complex move sequences up and running in a short space of time. For example, all relevant operating parameters are set automatically for Thorlabs stage and 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 tab. These ActiveX Controls can be incorporated into a wide range of software development environments including LabVIEW, C++, and MATLAB.
Click to Enlarge
MJC001 Joystick Console for X-Y Axis Control
Comparison to BBD200 Series Controllers
Our BBD300 series controllers represent a significant upgrade in capabilities compared to our previous-generation BBD200 series controllers. The new front panel enables direct control of attached stages via manual controls and LCD output of key parameters including velocity and position, regardless of whether the unit is connected to a PC. Also, synchronized moves can now be configured in multi-channel versions, enabling advanced contouring movements. Lastly, the user can now control the PID motor settings, allowing adjustments to account for different load inertias and optimization of movement.
Not For Use with Brushed DC Motors
This controller is designed for use with high-power, brushless DC servo motors. For control of the Thorlabs brushed DC servo motor devices, please see the KDC101 DC Servo Motor Driver K-Cube.
Optional Joystick Console
The MJC001 joystick console has been designed for microscope users, to provide intuitive, tactile, manual positioning of the stage. The console features a two axis joystick for XY 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.
|Number of Channels||1||2||3|
|Drive Connector||8 Pin DIN, Round, Female|
|Feedback Connector||15-Pin D-Type, Female|
|Brushless Continuous Output||2.5 A per Channel, 5.2 A Max All-Channel Total Output|
|Brushless Peak Output||4.0 A per Channel, 5.2 A Max All-Channel Total Output|
|PWM Frequency||40 kHz|
|Operating Modes||Position and Velocity|
|Control Algorithm||16-Bit Digital PID Servo Loop with Velocity and
|Position Count||32 Bit|
|Position Feedback||Incremental Encoder|
|Encoder Bandwidth||2.5 MHz (10 M Counts/sec)|
|Encoder Supply||5 V|
|AUX Control Connector||37-Pin D-Type Female (User Digital IO, 5 V O/P)|
|Front Panel Display||4.3" Full-Color LCD, 480 x 272 Pixels|
Voltage: 100 to 240 VAC
Frequency: 47 to 63 Hz
Fuse: 3.15 A
|Dimensions (W x D x H)||199.8 mm x 229.1 mm x 108.8 mm
(7.87" x 9.02" x 4.28")
|250.0 mm x 279.1 mm x 108.8 mm
(9.84" x 10.99" x 4.28")
|350.0 mm x 279.1 mm x 108.8 mm
(13.78" x 10.99" x 4.28")
|Mass (Weight)||1.20 kg (2.65 lbs)||1.70 kg (3.75 lbs)||2.20 kg (4.85 lbs)|
Front Panel Features
Our BBD300 series controllers can be used to drive attached stages directly via the front panel controls and display, without the specific need of a computer connection and its peripheral software; only a mains power connection is needed, together with electrical connections to each stage. Below is a quick overview of functionality for the BBD301 single-channel controller.
|Stage Control Screen (Stationary Stage)||Stage Control Screen (Stage in Motion)|
|After start-up and selecting the required channel (for multi-channel controllers), the display provides information on the stage connected to the channel, stage parameters, and status information. The stage can be enabled and homed simply by using the two touch buttons to the left of the screen.||During any stage movement (in this case, while homing), the stage can be stopped by pressing the STOP button that becomes highlighted when the stage is in motion. This is useful if there are any unforeseen impediments to motion or the wrong run sequence is initiated.|
|Motor Parameters||Editing Motor Parameters|
|Stage travel parameters can be seen at a glance and changed (see next screen).||Changing any of the set parameters is simple and intuitive, as seen here for stage velocity.|
|Position Setpoints||General Settings|
|Under the Teach menu, several position setpoints can be programmed using the knob and touch buttons. Once the stage position has been reached, press and hold the position touch button to record the position to firmware. The stage can then be sent directly to these positions by pressing the touch button next to the position required.||Screen brightness and knob sensitivity can also be changed. This screen also displays the firmware version, IP address, and controller serial number.|
Female DIN Connector
|1||Motor Phase V||5||Stage ID|
|3||Temp. Sensor (Not Used)||7||Motor Phase W|
|4||Motor Phase U||8||Enable|
Female D-Type Connector
|2||GND||10||Limit Switch +|
|3||Not Connected||11||Limit Switch -|
|4||Index -||12||Index +|
|5||QB -||13||QB +|
|6||QA -||14||QA +|
|7a||5 V||15||Not Connected|
Female Mini DIN Connector
for Handset 5 V
|2||Ground||5||TX (Controller Output)|
Female D-Type Connector
|1||RS232 TX||11||User Digital O/P 11+||21||+5 V||31||User Digital O/P 4+|
|2||RS232 RX||12||User Digital O/P 10-||22||User Digital I/P 3||32||User Digital O/P 4-|
|3||Ground||13||User Digital O/P 10+||23||User Digital I/P 2||33||User Digital O/P 5+|
|4||Differential I/P 2+||14||User Digital O/P 9-||24||User Digital I/P 1||34||User Digital O/P 5-|
|5||Differential I/P 2-||15||User Digital O/P 9+||25||User Digital I/P 0||35||User Digital O/P 6+|
|6||Differential I/P 1-||16||User Digital O/P 8-||26||User Digital O/P 0||36||User Digital O/P 6-|
|7||Differential I/P 1+||17||User Digital O/P 8+||27||User Digital O/P 1||37||Ground|
|8||User Digital O/P 12-||18||User Digital O/P 7-||28||User Digital O/P 2||-||-|
|9||User Digital O/P 12+||19||User Digital O/P 7+||29||User Digital O/P 3|
|10||User Digital O/P 11-||20||+5 V||30||Ground|
Type B USB Female
Female BNC Connector
5 V TTL
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 GUI Screen
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.
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.
This programming language is designed to allow multiple programming paradigms, or languages, to be used, thus allowing for complex problems to be solved in an easy or efficient manner. It encompasses typing, imperative, declarative, functional, generic, object-oriented, and component-oriented programming. By providing functionality with this common software platform, Thorlabs has ensured that users can easily mix and match any of the Kinesis controllers in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from the low-powered, single-axis to the high-powered, multi-axis systems and control all from a single, PC-based unified software interface.
The Kinesis System Software allows two methods of usage: graphical user interface (GUI) utilities for direct interaction and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
For a collection of example projects that can be compiled and run to demonstrate the different ways in which developers can build on the Kinesis motion control libraries, click on the links below. Please note that a separate integrated development environment (IDE) (e.g., Microsoft Visual Studio) will be required to execute the Quick Start examples. The C# example projects can be executed using the included .NET controls in the Kinesis software package (see the Kinesis Software tab for details).
|Click Here for the Kinesis with C# Quick Start Guide
Click Here for C# Example Projects
Click Here for Quick Start Device Control Examples
LabVIEW 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.
|Click Here to View the LabVIEW Guide
Click Here to View the Kinesis with LabVIEW Overview Page
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 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.
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.
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.
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.
Part 1: Accessing Online Help
Part 2: Creating an ActiveX Control
Part 3: Create an ActiveX Method
Part 4: Create an ActiveX Property
Part 5: How to Start an ActiveX Control
The following tutorial videos illustrate alternative ways of creating Method and Property nodes:
Create an ActiveX Method (Alternative)
Create an ActiveX Property (Alternative)
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.
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.