This small, inexpensive motor controller from Pololu allows variable speed and direction control of two small, brushed DC motors using a simple serial interface, making it easy to add motors to your microcontroller- or computer-based project.
The motor supply voltage range is 4.5V to 13.5V; the continuous current per channel is up to 1A (3A peak). The logic supply can be as low as 2.7V, allowing operation with modern microcontrollers running at 3.3 V.
The qik 2s9v1 is Pololu’s second-generation dual serial motor controller. The compact module allows any microcontroller or computer with a serial port (external RS-232 level converter required) or USB-to-serial adapter to easily drive two small, brushed DC motors with full direction and speed control. It provides ultrasonic, 8-bit PWM speed control via an advanced, two-way serial protocol that features automatic baud rate detection up to 38.4 kbps and optional CRC error checking. Two status LEDs give visual feedback about the serial connection and any encountered error conditions, making debugging easy, and a demo mode allows easy verification of proper operation.
The improvements over the previous generation and competing products include:
- High-frequency (ultrasonic) PWM to eliminate switching-induced motor shaft hum or whine
- Robust, high-speed communication protocol with user-configurable error condition response
- Visible LEDs and a demo mode to help troubleshoot problematic installations
- Reverse power protection on the motor supply (not on the logic supply)
For a robot controller based on the qik’s driver, please consider the Baby Orangutan which connects the TB6612 to a user-programmable AVR microcontroller.
Note: The Pololu USB-to-serial adapter requires software drivers to operate; please see the resources section for more information. This product requires a USB A to mini-B cable (not included) to connect to a computer.
- Simple bidirectional control of two DC brush motors
- 4.5 V to 13.5 V motor supply range
- 1 A maximum continuous current per motor (3 A peak)
- 2.7 V to 5.5 V logic supply range
- Logic-level, non-inverted, two-way serial control for easy connection to microcontrollers or robot controllers
- Optional automatic baud rate detection
- Two on-board indicator LEDs (status/heartbeat and serial error indicator) for debugging and feedback
- Serial error output to make it easier for the main controller to recover from a serial error condition
- Jumper-enabled demo mode allows initial testing without any programming
- Optional CRC error detection eliminates serial errors caused by noise or software faults
- Optional motor shutdown on serial error or timeout for additional safety
- Supports daisy-chaining the qik to other qiks and Pololu serial motor and servo controllers, allowing the control of up to hundreds of motors and servos with a single serial line.
- Comprehensive user guide.
|Motor supply voltage
|4.5 – 13.5 V
|Continuous output current per channel
|Peak output current per channel
|Auto-detect baud rate range
|1200 – 38400 bps
|Fixed baud rate
|Available PWM frequencies
|31.5 kHz, 15.7 kHz, 7.8 kHz, 3.9 kHz
|Logic supply voltage
|2.7 – 5.5 V
|Logic supply current
|< 15 mA
|Reverse voltage protection?
|Y (on motor supply only)
|0.70" x 1.20"
The qik ships with a 16×1 straight 0.100" male header strip, a 12×1 right angle 0.100" male header strip, and two red shorting blocks. This hardware offers several options when it comes to making connections to the qik.
For the most compact installation, wires can be directly soldered to the qik pins themselves. For less permanent connections, the 16×1 straight header strip can be broken into a 12×1 piece and two 2×1 pieces. The 2×1 pieces can optionally be soldered into the jumper pins, and the 12×1 header strip of your choice can be soldered into the qik control pins. This allows connections to the qik via custom-made cables that have female headers on them, or the qik can simply be plugged into a breadboard.
Using the right angle header allows for a compact profile or for vertical mounting into a breadboard; using the straight header allows for breadboarding as shown in the picture above.
- User Guide
- Arduino Library
- Rust Library
- Pololu Serial Transmitter Utility for Windows
- Dimension Diagram
- 3D Model (STEP)
- DXF Drill Guide
We have written a basic Arduino library for the qik dual serial motor controllers that makes it simple to interface these controllers with an Arduino. The library handles the details of serial communication with the qik, allowing two brushed DC motors to be controlled easily.
|"Data carrier detect" control input (active low)
|"Data terminal ready" control output (active low)
(often used with DSR)
|"Data set ready" control input (active low)
(often used with DTR)
|"Ready to send" control output
(often used with CTS)
|"Clear to send" control input
(often used with RTS)
|Asynchronous serial data transmit (idle high)
|USB bus voltage (+5V)
|Asynchronous serial data receive
|Driven high when in USB suspend state
|Driven low when in USB suspend state
|"Ring indicator" control input (active low)
|3.3 V voltage regulator output