The Pololu Simple High-Power Motor Controller makes basic control of brushed DC motors easy, with our free Simple Motor Control Center software enabling quick configuration over USB. The controller supports four interface modes: USB, TTL serial, analog voltage, and hobby radio control (RC). This version operates from 5.5 to 30 V and is efficient enough to deliver a continuous 25 A without a heat sink. It ships with the power capacitor and connectors included but not soldered in, allowing for custom installations.
Note: Assembly required!
|2.3″ x 1.2″ x 0.4″
|12 g 
|USB; non-inverted TTL serial;
RC servo pulses; analog voltage 
|Minimum operating voltage:
|Maximum operating voltage:
|Continuous output current per channel:
|25 A 
|Maximum PWM frequency:
|Maximum logic voltage:
|3.3 V 
|Reverse voltage protection?:
1 – Without included hardware.
2– Auto-detects baud rates between 1200 and 500,000 bps, or can be set to any fixed baud rate in this range.
3 – Typical results at room temperature without a heat sink.
4 – All digital inputs are 5V tolerant.
The Pololu Simple Motor Controllers are versatile, general-purpose motor controllers for brushed, DC motors. A wide operating range of up to 5.5–40V and the ability to deliver up to several hundred Watts in a small form factor make these controllers suitable for many motor control applications. With a variety of supported interfaces—USB for direct connection to a computer, TTL serial for use with embedded systems, RC hobby servo pulses for use as an RC-controlled electronic speed control (ESC), and analog voltages for use with a potentiometer or analog joystick—and a wide array of configurable settings, these motor controllers make it easy to add basic control of brushed DC motors to a variety of projects. Although this motor controller has many more features than competing products, a free configuration utility (for Windows 7, Vista, Windows XP, and Linux) simplifies initial setup of the device and allows for in-system testing and monitoring of the controller via USB.
|Simple High-Power Motor Controller 18v25 or 24v23 simplified connection diagram.
- Simple bidirectional control of one DC brush motor.
- 5.5 V to 30 V (18v7, 18v15, and 18v25) or 40 V (24v12 and 24v23) operating supply range.
- 7 A to 25 A maximum continuous current output without a heat sink, depending on controller model
- Four communication or control options:
- USB interface for direct connection to a PC.
- Logic-level (TTL) serial interface for direct connection to microcontrollers or other embedded controllers.
- Hobby radio control (RC) pulse width interface for direct connection to an RC receiver or RC servo controller.
- 0–3.3 V analog voltage interface for direct connection to potentiometers and analog joysticks.
- Simple configuration and calibration over USB with free configuration program (Windows 7, Vista, Windows XP, and Linux compatible).
Note: A USB A to mini-B cable (not included) is required to connect this controller to a computer.
- Adjustable maximum acceleration and deceleration to limit electrical and mechanical stress on the system.
- Adjustable starting speed, maximum speed, and amount of braking when speed is zero.
- Optional safety controls to avoid unexpectedly powering the motor.
- Input calibration (learning) and adjustable scaling degree for analog and RC signals.
- Under-voltage shutoff with hysteresis for use with batteries vulnerable to over-discharging (e.g. LiPo cells).
- Adjustable over-temperature threshold and response.
- Adjustable PWM frequency from 1 kHz to 22 kHz (maximum frequency is ultrasonic, eliminating switching-induced audible motor shaft vibration).
- Error LED linked to a digital ERR output, and connecting the error outputs of multiple controllers together optionally causes all connected controllers to shut down when any one of them experiences an error.
- Field-upgradeable firmware.
- USB/Serial features:
- Controllable from a computer with native USB, via serial commands sent to the device’s virtual serial (COM) port, or via TTL serial through the device’s RX/TX pins.
- Example code in C#, Visual Basic .NET, and Visual C++ is available in the Pololu USB Software Development Kit
- Optional CRC error detection to eliminate communication errors caused by noise or software faults.
- Optional command timeout (shut off motors if communication ceases).
- Supports automatic baud rate detection from 1200 bps to 500 kbps, or can be configured to run at a fixed baud rate.
- Supports standard compact and Pololu protocols as well as the Scott Edwards Mini SSC protocol and an ASCII protocol for simple serial control from a terminal program.
- Optional serial response delay for communicating with half-duplex controllers such as the Basic Stamp.
- Controllers can be easily chained together and to other Pololu serial motor and servo controllers to control hundreds of motors using a single serial line.
|Two Pololu Simple Motor Controllers enable mixed RC-control of Dagu Wild Thumper 4WD all-terrain chassis.
- 1/4 µs pulse measurement resolution.
- Works with RC pulse frequencies from 10 to 333 Hz.
- Configurable parameters for determining what constitutes an acceptable RC signal.
- Two RC channels allow for single-stick (mixed) motor control, making it easy to use two simple motor controllers in tandem on an RC-controlled differential-drive robot.
- RC channels can be used in any mode as limit or kill switches (e.g. use an RC receiver to trigger a kill switch on your autonomous robot).
- Battery elimination circuit (BEC) jumper can power the RC receiver with 5 V or 3.3 V.
- 0.8 mV (12-bit) measurement resolution.
- Works with 0 to 3.3 V inputs.
- Optional potentiometer/joystick disconnect detection.
- Two analog channels allow for single-stick (mixed) motor control, making it easy to use two simple motor controllers in tandem on a joystick-controlled differential-drive robot.
- Analog channels can be used in any mode as limit or kill switches.
Most Simple Motor Controllers are available “fully assembled”, with the power capacitor and connectors pre-installed, or with these components included but not soldered in. For example, an 18v15 with included hardware consists of:
- 1 x Power capacitor
- 1 x 40×1 straight 0.1″ male header strip
- 1 x 5mm-pitch 4-pin terminal block
- 1 x blue shorting block
The connector-free version allows flexibility in choice of connectors and placement of the power capacitor (e.g. on the other side of the board) to accommodate compact installations or to make room for a heat sink.
Note: The power capacitor has a significant effect on performance; the included capacitor is the minimum size recommended, and bigger ones can be added if there is space. A bigger capacitor might be required if the power supply is poor or far (more than about a foot) from the controller.
The included terminal blocks are only rated for 15 A, so we recommend soldering thick wires directly to the connector-free version of the board and using higher-current connectors for applications that will exceed the terminal blocks’ ratings.
Warning: Take proper safety precautions when using high-power electronics. Make sure you know what you are doing when using high voltages or currents! During normal operation, this product can get hot enough to burn you. Take care when handling this product or other components connected to it.
Documentation and other information
- Pololu Simple Motor Controller User’s Guide: User’s manual for the Pololu Simple Motor Controllers.
- Pololu USB Software Development Kit: The Pololu USB SDK contains the code you need for making your own applications that use native USB to control the Jrk Motor Controller, Maestro Servo Controller, Simple Motor Controller, or USB AVR Programmer.
- Simple Motor Controller Windows Drivers and Software (release 121204)
This ZIP archive contains the installation files for the Simple Motor Control Center, the Simple Motor Controller command-line utility (SmcCmd), and the required USB drivers for Microsoft Windows.
- Simple Motor Controller Linux Software (release 101119)
This tar/gzip archive contains the binary executable files for the Pololu Simple Motor Control Center (SmcCenter) and the Simple Motor Controller command-line utility (SmcCmd) for Linux. Use “tar -xzvf filename.tar.gz” to extract it.
- Firmware version 1.04 for the Simple Motor Controllers
Use this file with the Pololu Simple Motor Control Center to upgrade your Simple Motor Controller’s firmware. This update fixes some minor bugs. See the instructions in the “Upgrading Firmware” section of the user’s guide for more information.