Products for USB Sensing and Control
Products for USB Sensing and Control


Unit 1 - 6115 4 St SE
Calgary AB  T2H 2H9
+1 403 282-7335

Brushless DC Motor Phidget

ID: DCC1100_0
Recommended for new designs: This product (or a similar replacement with a compatible form, fit and function) is estimated to be available for ten years or more.

Control a brushless DC motor from your VINT Hub. The hall effect input enables easy position and velocity control.


Quantity Available: 217

Qty Price
5 $61.75
10 $58.50
25 $52.00
50 $45.50
100 $42.25
250 $39.00
500 $35.75
1000 $32.50

Brushless DC motors have several advantages over their brushed counterparts: They have longer lifespans, run quieter, and have built-in position control thanks to the hall-effect sensor that tells the controller which coil to activate. Based on this feedback, the controller selects which coil to activate, which causes the rotor to be pulled into place.

The DCC1100 requires a 8-30V DC external power supply and can control one brushless DC motor. The motor must have hall-effect feedback for this controller to function.
This controller connects to a port on your VINT Hub (see the Connection and Compatibility tab for a list of hubs). In software you can either control the motor velocity, acceleration and stall velocity directly, or you can use the PositionController object to set the motor position using our closed-loop PID controller. For more information on how to use and configure the PositionController, take a look at the technical section of the DCC1100 User Guide.

Safety and Reliability

The DCC1100 has been designed with safety in mind:

  • An on-board temperature chip is accessible via the TemperatureSensor object, so your program will be able to watch out for overheating.
  • The VINT port is electrically isolated from the rest of the board, making it simple to build a Phidgets system without having to worry about ground loops or damage to your hub or computer.
  • A fuse is included on-board for safety in case of power surges.

Hall-Effect Input

3019 CableMotor Wire
GreenHall-Effect 'C'
WhiteHall-Effect 'B'
BrownHall-Effect 'A'

To make connection simple, the DCC1100 has a 5-pin molex connector to interface with the motor's hall-effect output. All BLDC motors sold at Phidgets have the mating connector soldered to the end of the cable. If you have your own motor, you can cut a Phidget Encoder cable in half and solder them together as follows:


This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Primer. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available:

Product Board
Image Part Number Price Number of VINT Ports Controlled By
HUB0000_0 $30.00 6 USB (Mini-USB)
HUB5000_0 $60.00 6 Local Network (Ethernet or Wi-Fi)
SBC3003_0 $120.00 6

Phidget Cables

Use a Phidget cable to connect this device to the hub. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.

Product Physical Properties
Image Part Number Price Cable Length
3002_0 $2.00 600 mm
3003_0 $1.50 100 mm
3004_0 $3.00 3.5 m
3034_0 $1.50 150 mm
3038_0 $2.25 1.2 m
3039_0 $2.75 1.8 m
CBL4104_0 $1.75 300 mm
CBL4105_0 $2.00 900 mm
CBL4106_0 $2.50 1.5 m

Power Guards

Using motor controllers with large motors can pose a risk for your power supply. If your supply does not have protective features built-in, you can use a Power Guard Phidget to prevent damage from power spikes from back EMF that is generated when motors brake or change direction. We recommend that you use the SAF2000 for any motor with a current rating between 1 and 5 amperes, and the SAF1000 for motors above 5A.

Image Part Number Price
SAF1000_0 $60.00
SAF2000_0 $10.00

BLDC Motors

We offer a wide variety of BLDC motors that can be used with this Phidget. For wiring details, see the Connection & Compatibility tab on the motor's product page. This controller is only compatible with BLDC motors that have hall-effect sensor feedback.

Product Motor Properties Gearbox Properties
Image Part Number Price Maximum Speed at Rated Voltage Rated Torque Gear Ratio
DCM4100_0 $36.00 4000 RPM 1.3 kg·cm
DCM4101_0 $72.00 810 RPM 5.6 kg·cm 4 7/8 : 1
DCM4102_0 $74.00 260 RPM 15.3 kg·cm 14 70/121 : 1
DCM4103_0 $76.00 166 RPM 24.5 kg·cm 23 49/64 : 1
DCM4104_0 $80.00 70 RPM 51 kg·cm 55 833/1331 : 1
DCM4105_0 $85.00 38 RPM 193.7 kg·cm 105 5/8 : 1
DCM4106_0 $42.00 4000 RPM 2.9 kg·cm
DCM4107_0 $84.00 930 RPM 12.2 kg·cm 4 1/4 : 1
DCM4108_0 $86.00 250 RPM 37.7 kg·cm 15 3/10: 1
DCM4109_0 $88.00 170 RPM 57.1 kg·cm 22 2/3 : 1
DCM4110_0 $95.00 82 RPM 102 kg·cm 46 82/125 : 1
DCM4111_0 $98.00 41 RPM 214.1 kg·cm 96 1/3 : 1
DCM4112_0 $65.00 4000 RPM 5.7 kg·cm

Power Supplies

This Phidget requires a power supply between 8 and 30V DC. Select the power supply from the list below that matches your region's wall socket type.

Product Electrical Properties Physical Properties
Image Part Number Price Power Supply Current Output Voltage Wall Plug Style
3022_0 $10.00 2 A 12 V Australian
3023_1 $10.00 2 A 12 V European
3024_1 $10.00 2 A 12 V North American
3025_0 $10.00 2 A 12 V British
3084_0 $1.50 500 mA 12 V European
3085_0 $1.50 500 mA 12 V North American
3086_0 $10.00 1 A 24 V North American
PSU4013_0 $20.00 2.5 A 24 V
PSU4014_0 $40.00 5 A 24 V
PSU4015_0 $20.00 1 A 24 V
PSU4016_0 $40.00 15 A 24 V
PSU4017_0 $75.00 15 A 24 V
PSU4018_0 $20.00 5 A 12 V

5-Wire Cable

These cables are normally used to connect encoders to Phidgets, but the same connector is used by the hall effect input on the DCC1100. The BLDC motors sold at Phidgets already have this cable soldered to the end of the hall effect wires, but if you have your own motor you can buy one of these cables. Just snip one end off and solder it to you motor's hall effect wires in order to connect it to the DCC1100.

Product Physical Properties
Image Part Number Price Cable Length Cable Gauge
3019_0 $5.00 500 mm 26 AWG

Getting Started

Welcome to the DCC1100 user guide! In order to get started, make sure you have the following hardware on hand:

Next, you will need to connect the pieces:

DCC1100 Functional.jpeg
  1. Connect the DCC1100 to the VINT Hub using the Phidget cable.
  2. Connect the motor to the Phidget's output terminals. See the datasheet or product page for your motor to determine wiring.
  3. Connect the VINT Hub to your computer with a USB cable.
  4. Connect the motor's hall-effect wires to the 5-cable port on the DCC1100. If you didn't get your motor from our website, you'll want to solder half of a 3019 Cable to the end of the hall-effect wires.
  5. Connect the power supply to the power terminals.

Now that you have everything together, let's start using the DCC1100!

Using the DCC1100

Phidget Control Panel

In order to demonstrate the functionality of the DCC1100, the Phidget Control Panel running on a Windows machine will be used.

The Phidget Control Panel is available for use on both macOS and Windows machines.


To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG


To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.

For more information, take a look at the getting started guide for your operating system:

Linux users can follow the getting started with Linux guide and continue reading here for more information about the DCC1100.

First Look

After plugging the DCC1100 into your computer and opening the Phidget Control Panel, you will see something like this:

DCC1100 Panel.jpg

The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.

The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

The objects associated with the DCC1100 are as follows:

  • Brushless DC Motor Controller: Controls the velocity and current of the motor.
  • Position Controller: This object controls the position of the motor using the hall effect sensor in the motor.
  • Temperature Sensor: Measures the temperature of the DCC1100 so you can tell if it's overheating.

Brushless DC Motor Controller

Double-click on the Brushless DC Motor Controller object Brushless DC Motor Phidget in order to run the example:

DCC1100 BLDC Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Change the motor speed by dragging the Target Velocity slider from -1 (maximum speed reverse) to 1 (maximum speed forward). You can see the updated Velocity and Position of the motor near the top of the window.
  • Use the Acceleration slider to change how responsive the motor is to changes in Target Velocity.
  • Use the Stall Velocity slider to control when the controller detects a stall. For more information, visit the API.
  • Use the Braking Strength slider to determine how powerfully the motor will try to hold position when it is stopped. For more information, visit the API.
  • Set the Rescale Value to change the position units, which is useful for converting to degrees or RPM. See the technical section of this guide for more details.

Position Controller

Double-click on the Position Controller object in order to run the example:

DCC1100 Position Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

Note: a video describing the use of this program is available below in the Technical Details section.


  • It is recommended to set the Rescale Factor first. This will change the units of your controller. For information on the rescale factor, visit the technical details section below.
  • You can set the control parameters Kp, Ki and Kd in order to change the behavior of the control loop. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the DCC1100, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).
  • The Velocity Limit and '"Acceleration can be set in the top right. These values will be used to create a motion profile that the controller will try to track.
  • Use the Deadband to determine how exactly the controller will try to reach the target position. View the API for a detailed description of how Deadband works.
  • Click on Show Other Motor Settings' to access Stall Velocity. This is a safety feature which protects your hardware. View the API for a detailed description of how Stall Velocity works.


  • Change the Target Position to select which position you want the motor to try to reach.
  • Press the Engage Motor button to allow the motor to start, and press again to stop it.
  • You can Zero Position to add a position offset which will return the motor's position to 0.


  • You can view the control data on the graph. The green line is the selected target position, and the blue line is the motor's actual position as reported by the Hall Effect sensors. When the two lines meet, the motor will stop moving and attempt to hold that position, even if moved by an external force. You can Clear the graph, and customize the number of data points shown at any given time.

Temperature Sensor

Double-click on the Temperature Sensor object in order to run the example:

DCC1100 TemperatureSensorIC Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • The measured temperature can be seen next to the Temperature label. Cover the board with your hands to see the temperature quickly rise.

Finding The Addressing Information

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

The locate Phidget button is found in the device information box

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

All the information you need to address your Phidget

Using Your Own Program

You are now ready to start writing your own code for the device. The best way to do that is to start from our Code Samples.

Select your programming language of choice from the drop-down list to get an example for your device. You can use the options provided to further customize the example to best suit your needs.

Code Sample Choose Language.png

Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Programming Languages page.

Technical Details

Rescale Factor

Rescale factor can be set in order to change the units of the motor's position into something more useful, such as degrees or rotations. The following video explains how this is accomplished using a stepper controller as an example.

Instead of "steps", brushless DC motors work in "commutations". The number of commutations per rotation is equal to the number of poles multiplied by the number of phases. So if you have an 8-Pole, 3-Phase motor, it will have 24 commutations per rotation. In this case, you could set the rescale factor to 1/24, or 0.0416 in order for target position to be measured in rotations instead of commutations.

Control Loop Parameters

In order to get the desired behavior from your controller, you will have to tune your control parameters. This video explains the tuning procedure and gives information on how the controller works.

What to do Next

  • Programming Languages - Find your preferred programming language here and learn how to write your own code with Phidgets!
  • Phidget Programming Basics - Once you have set up Phidgets to work with your programming environment, we recommend you read our page on to learn the fundamentals of programming with Phidgets.

For specifications that deal with acceleration and velocity limits, see the API tab.

Product Specifications

Board Properties
Controlled By VINT
Electrical Properties
Supply Voltage Min 8 V DC
Supply Voltage Max 30 V DC
Current Consumption (Unconfigured) (VINT Port) 500 μA
Current Consumption Max (VINT Port) 650 μA
Continuous Motor Current Max 20 A
Controller Properties
Motor Type Brushless DC
Number of Motor Ports 1
Velocity Resolution 0.003 Duty Cycle
Hall-Effect Sensor
Hall-Effect Voltage 5 V DC
Physical Properties
Operating Temperature Min -40 °C
Operating Temperature Max 85 °C


Product History

Date Board Revision Device Version Comment
March 2018 0 113 Product Release
March 2018 0 114 Fixed issue where duty cycle never fully reached 1.0
May 2019 0 120 Added failsafe timer functionality

Software Objects

Channel NameAPIChannel
Brushless DC Motor Controller BLDCMotor 0
Temperature Sensor TemperatureSensor 0
Position Controller MotorPositionController 0


Back Forward
Print this API

Code Samples

Example Options


				Make your selections to display sample code.

Code Samples


BLDCMotor Java Android Download
BLDCMotor JavaScript Browser Download
BLDCMotor Objective-C macOS Download
BLDCMotor Swift macOS Download
BLDCMotor Swift iOS Download
BLDCMotor Max/MSP Multiple Download
TemperatureSensor Visual Studio GUI C# Windows Download
TemperatureSensor Java Android Download
TemperatureSensor JavaScript Browser Download
TemperatureSensor Objective-C macOS Download
TemperatureSensor Swift macOS Download
TemperatureSensor Swift iOS Download
TemperatureSensor Visual Basic .NET Windows Download
TemperatureSensor Max/MSP Multiple Download
MotorPositionController PID Tuner C# Windows Download
MotorPositionController JavaScript Browser Download
MotorPositionController Objective-C macOS Download
MotorPositionController Swift macOS Download
MotorPositionController Swift iOS Download
MotorPositionController Visual Basic .NET Windows Download
MotorPositionController Max/MSP Multiple Download