Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Qik 2s12v10 Dual Serial Motor Controller



I purchase the Pololu Qik 2s12v10 Dual Serial Motor Controller , and i want to control dc motors with it through arduino microcontroller. could anybody provide me a source code or at least a hint how to programming it?



Here’s an example for the qik 2s9v1, which is similar:


- Jan


#include <CompactQik2s9v1.h>

this libary is not for Qik 2s12v10 !!!


I connect the RX to pin 5, Tx to pin 1, RST to pin 2, and GND of motor controller to GND arduino and use the following code

#include <CompactQik2s9v1.h>
#include <NewSoftSerial.h>

Important Note:
The rxPin goes to the Qik’s “TX” pin
The txPin goes to the Qik’s “RX” pin
#define rxPin 5
#define txPin 1
#define rstPin 2

NewSoftSerial mySerial = NewSoftSerial(rxPin, txPin);
CompactQik2s9v1 motor = CompactQik2s9v1(&mySerial,rstPin);
byte fwVersion=-1;

void setup()

void loop()
// nothing to do, used to stop the motors

when i download the code , the leds of motors are working (motors are not running), i check the motors by demo pin mode thery are fine.

do you have any sugguestions?


It looks like you’re connecting an output on your Arduino to an output on your motor controller, which is asking for damaging one of them (did you look at the “important note” in the comment?). Also, where do you think you are telling the motors to move? The last thing I see is a call to stopBothMotors(), which does not sound like something that will make the motors go.

- Jan


first of all this the code from the link you give it to me (see up) , second i did not connect the output of arduino to the output of motor controller , i just connect the tx and rx of arduion to the tx and rx of the controller to send and recive the meassages,stopBothMotors() for stop the motors after they started (motor.begin():wink:


Do you understand that there is a right way and a wrong way “just connect the tx and rx of arduion to the tx and rx of the controller” and that it really looks like you’re doing it the wrong way? I don’t know what you’re trying to say about the motors starting and stopping, but in general, if you send a command to the motor controller to stop motors right after a command to start the motors, all you’ll see is stopped motors.

- Jan


Does the <CompactQik2s9v1.h> work with the Qik 2s12v10? It was never clear from this thread and I cant seem to find it. Thanks



Some of the library will probably work. The two qik versions use the same protocols and have a number of commands in common, including those that drive the motors. However, there are also differences between the two controllers. The qik 2s12v10 has commands the qik 2s9v1 does not, and it has more configuration parameters. I think your best bet is to use the source code of the 2s9v1 Arduino library as a starting point and modify it to issue the proper commands for your qik 2s12v10.

- Ben


Hi Ben,

I am planning to buy two numbers of 2s12v10.

Do you have a Arduino library for 2s12v10 ? If not do you have any plans to make a library and publish the same ?



Hello, Gnmanoj.

We do not have an Arduino library for the qik 2s12v10. There is a library for the 2s9v1, but it has not been updated for Arduino 1.0. I would like to update it and add support for the 2s12v10 soon, but I do not have a definite answer for when it will be available.

- Kevin


I have an Arduino Uno R3 and I’m considering the 2s9v1 to drive my micro metal gearmotors. Will the 2s9v1 library work with my Arduino?


Nevermind. I was able to modify the Qik Arduino library to work with the Arduino 1.0 software.


Hi all,

have you shared the modified 2s9v1 labrary?




Please see my response to your other post.

- Kevin