> For the complete documentation index, see [llms.txt](https://chiprobotics.gitbook.io/chip-robotics/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chiprobotics.gitbook.io/chip-robotics/bldc-motor-controller/single-brushless-dc-motor-controller.md).

# Single Brushless DC Motor Controller

![Chip Robotics Brushless Motor COnt](/files/-M1Mkdc0-M2BZsXOeUMK)

### Description&#x20;

[Motor controller for a single brushless DC motor](https://chiprobotics.com/brushless-motor-controller/). Easy to communicate using USB or UART. The motor requires a 7 to 45V DC external power supply. The motor must have a hall sensor for it to work. Windows and Linux software available to get you started. Heat sink allows for continuous operation at 20A.

Key safety features include watchdog timeout, overcurrent protection, and USB electrical isolation to prevent damage to external components.  &#x20;

### Specifications

|                        |                                      |
| ---------------------- | ------------------------------------ |
| Motor Type             | Brushless with Hall Sensors          |
| Min Voltage            | 7V                                   |
| Max Voltage            | 45V                                  |
| Max Continous Current  | 20A                                  |
| USB                    | Yes                                  |
| UART                   | Yes 3.3V                             |
| Regenerative braking   | Yes                                  |
| Control                | Open Loop and PID Closed Loop Speed  |
| Overcurrent Protection | Yes (Configure to 2A, 17.5A, or 45A) |
| Electric Isolation     | Yes                                  |
| Timeout                | Yes can be configured                |

The brushless DC motor controller support various control modes, which are listed below.

### Open Loop Speed Control – Hall Sensor&#x20;

In the open loop speed control, the motor controller delivers power proportional to the motor command. The motor command can vary from -1000 to 1000, where 1000 corresponds to operating the motor in forward mode at the full applied voltage. A negative command corresponds to operating the motor in reverse direction. The controller applies the specific power using PWM.

In this mode, actual motor speed is not accounted and hence actual motor speed can change based on load or surface incline. This mode is suitable for applications where the motor is being manually controlled by an operator.

For the hall sensor open loop speed control, commutation events are driven by the hall sensor feedback.

![Open Loop Speed Control](/files/-M-29KW6iLptao13rb_j)

### Closed Loop Speed Control – Hall Sensor

In this mode, you can control the motor speed based on output from the hall sensor. A closed loop PID feedback is used to control the motor speed at the specified motor command. The motor command can vary from -1000 to 1000, where 1000 corresponds to operating the motor at Max RPM. The Max RPM is a parameter configurable within the motor controller. A negative command corresponds to operating the motor in reverse direction.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://chiprobotics.gitbook.io/chip-robotics/bldc-motor-controller/single-brushless-dc-motor-controller.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
