Pololu 18v7 interfacing problems

I have bought the following board to control a motor i have from my Arduino Due.

I have wired it up as follows:

Although on the serial side i have only connected the TX and GND as that is all i need.

As i am using a Due the code i am using i replaced Software Serial to Hardware Serial so i have the following:

void exitSafeStart()
// speed should be a number from -3200 to 3200
void setMotorSpeed(int speed)
  if (speed < 0)
    Serial2.write(0x86);  // motor reverse command
    speed = -speed;  // make speed positive
    Serial2.write(0x85);  // motor forward command
  Serial2.write(speed & 0x1F);
  Serial2.write(speed >> 5);
void setup()
  delay(1000); //delay 1 sec
  // initialize software serial object with baud rate of 19.2 kbps
  // the Simple Motor Controller must be running for at least 1 ms
  // before we try to send serial data, so we delay here for 5 ms
  // if the Simple Motor Controller has automatic baud detection
  // enabled, we first need to send it the byte 0xAA (170 in decimal)
  // so that it can learn the baud rate
  Serial2.write(0xAA);  // send baud-indicator byte
  // next we need to send the Exit Safe Start command, which
  // clears the safe-start violation and lets the motor run
  exitSafeStart();  // clear the safe-start violation and let the motor run
void loop()
  delay(1000);    //delay 1 sec
  setMotorSpeed(3200);  // full-speed forward
  setMotorSpeed(0);  // stop
  setMotorSpeed(-3200);  // full-speed reverse

I am running it all from 4AAs.

When i attach it all together and run the code i just have a red LED error and yellow flashing LED and nothing else. The status LED is indicating that the controller has learnt the TTL serial baud rate but is not driving the motor.
I’m not sure where i am going wrong?


The Pololu page states it's TTL serial compatible device. Doesn't that mean it needs a 5 volt interface ? Your Due has 3.3 volt, isn't it ? Are you sure serial connection is OK like you stated, is there any way to check that ?

But i only have two wires going to the Arduino a GND and a serial line only TX from Arduino, i was under the impression the hardware serial lines do not need to be logic shifted or is this wrong?

I have now tested it with the software they provide and i can control the motor over the computer which indicates that it is a problem between the Pololu and the Arduino. But am really stumped as to what, unless the serial line does need to be logic shifted up to 5v.

I would order some level shifters and try with those. You'll probably need them every now and then with your Due anyway.

Ok so you suggest definitely level shifting it, as i have one already for a pressure sensor i am using. It converts 3.3V to 5V and vice versa. I just don't want to end up breaking the controller...

I'm suggesting to test that. If you have the converter, it will not harm to test this. I can't instruct you to do this to solve your problem, because i do not know for a fact that it will do that. And i'm not instructables telling people to just do this or that and let the magic take place.

Ok thank you. However i just found this in their guide:

The pins along the left side of the Simple Motor Controller can be used to communicate with devices with logic-level (TTL) serial interfaces, such as microcontrollers. As explained in Section 4.1, the Simple Motor Controller uses 3.3V logic, but all of the digital pins in the above diagrams (everything except for VIN and GND) are 5V-tolerant, which means that the Simple Motor Controller can be used directly with a microcontroller running at 5 V as long as that microcontroller is guaranteed to read a 3.3 V signal as high. The Simple Motor Controller uses its RX and TX pins to receive and transmit asynchronous, logic-level (TTL), non-inverted serial signals with 8-bit characters and one stop bit (often expressed as 8-N-1). This is the type of serial typically used by microcontroller UART modules.

Doesn't this mean that it should work with 3.3V boards..... Or is this excluding serial?

You're right, that is what it means.

Had a bit of a hard time to find that information on pololu's site. But it states indeed that you should be able to communicate with the Due without any converters.