Hello, i have troubles with qik. Can not to start revolve аny of motors . Have the result only in demo mode.
Interesting moment that i have oscill but i dont see anything on pin Tx … (but if i burn the code below to arduino, i must see something on Tx pin…)
Have some info on oscill only in demo mode ( Ckeck pins M0 M1)
Program “Pololu Serial transmitter” i can not to use properly, because don`t know how to make arduino NewSoftSerial .lib to work
What i do wrong ? Really need your help

Using for example this code

#include <NewSoftSerial.h>

#define rxPin 3
#define txPin 4

NewSoftSerial mySerial = NewSoftSerial(rxPin, txPin);

void setup() 
  mySerial.print(0xAA, BYTE);  // let qik learn the baud rate 

  mySerial.print(0x8C, BYTE);  // M1 forward command byte
  mySerial.print(127, BYTE);  // M1 speed = 127 (full speed in 7-bit mode)

  mySerial.print(0x88, BYTE);  // M0 forward
  mySerial.print(63, BYTE);  // M0 speed

void loop()


I’m sorry, but I don’t really understand your post after the first two sentences. By “oscill” do you mean “oscilloscope”? Have you tried the board in demo mode? If it doesn’t work in demo mode, there’s no need to complicate things by bringing the Arduino into the picture. One thing I notice in your setup picture is that it looks like your motor power supply leads might be shorted together (you have exposed leads right next to each other on the breadboard).

- Ben

-Hi Ben
Yes oscill is oscilloscope
Demo mode is work!

That look so only on photo

Any help will appreciate

I’m sorry for my delayed reply; it looks like I forgot about this thread. If it works in demo mode, then it’s very likely that you either have a software issue or a problem with your Arduino connections. Since you have an oscilloscope, it should be somewhat easy to track down what’s going on by looking at the serial bytes you are sending to the qik’s RX line. Can you verify that your Arduino is transmitting properly?

I can’t make out your connections from your picture. Can you describe all the connections between your Arduino and the qik? Also, do you have access to a USB-to-serial adapter?

- Ben

Thanks for fast reply.
I think thats software problem.I dont see anything on arduino TX line. I upload the video below

My connection is:
Arduino TX - to - QIK RX
Arduino RX - to - QIK TX
Arduino RESET - to - QIK RESET
Arduino +5v VCC - to - QIK VCC (logic)

Also it may be useful:

Dont have usb-to-serial adapter. But i thinking about soldering or buying one of this…

Setting the max speed on M1 to 127 caused my system to short out. When I dropped the max speed to 90, it worked fine. This may depend on your motor and power supply, but maybe this will resolve your issue. Do the same for M0, don’t exceed 90 or a certain speed that works for your system.

Example based off your code
mySerial.print(0x8C, BYTE); // M1 forward command byte
mySerial.print(90, BYTE); //Change the speed to 90

Using the term “short out” here is not appropriate, and I think the above advice is not necessarily valid. ZeroTime is likely having problems due to an inadequate power supply. It is always prudent to consider power issues when driving motors (they can draw a lot more current than you might expect, especially when first starting from rest), and there might be some power issues behind mtbiker’s problems, but I think it is more likely that there is a software or connection issue.

- Ben

You didn’t mention ground in your list of connections but I think I see it in your connection diagram. Can you confirm that you have a common ground between your qik and your Arduino?

I suggest you disconnect your Arduino from the qik and change your Arduino sketch to just transmit a single software serial byte over and over again (i.e. in loop()) and look for that on your scope. Until you actually see activity on the Arduino TX line, there isn’t any point in bringing the qik into the picture. Note that you are using software serial with pin 4 as your transmit line, so make sure you are looking at pin 4 (not pin 1) for the transmitted bytes.

In your video, the green LED on the qik is telling you that it hasn’t received a valid (or invalid) baud indicator byte (0xAA). As soon as the qik receives this byte, the LED pattern will change to a brief flash every two seconds rather than even blinking. If it receives an invalid baud indicator byte, the red LED will turn on. Also, note that it is pretty risky wiring things while power is applied; I strongly recommend you do your rewiring with your devices powered off.

If you do get a USB-to-serial adapter, you can use our Serial Transmitter utility to send commands to the qik to make sure it is working as expected. If it works with the transmitter utility, then you know your problem is with the Arduino (although I think we pretty well know this just from the lack of activity on your Arduino transmit line).

- Ben

GREAT :smiley: :smiley:

The problem was in connection of RX , TX:

#define rxPin 3 - Connect this pin to TX on the MotorController
#define txPin 4 - Connect this pin to RX on the MotorController

i connect it directly to arduino TX RX, and that is wrong!
MUST be connected to arduino digital PIN3 , PIN4 !

i use code from 1st post ! It works 100% , if don`t, try to change speed (lower or higher)

mySerial.print(0x8C, BYTE); // M1 forward command byte
mySerial.print(90, BYTE); //Change the speed to 90

Great thanks to ZeroTime )

I’m glad to hear you figured out the problem, but I’m a little confused by this comment. Are you saying that things don’t work if you try to change the speed or if you use higher speeds like 127?

- Ben