I am using a Pololu DRV8355 dual motor driver. According to the specs, it requires voltage between 1.5V and 11V to operate. I'd like to use two 3V motors with it, and also power an Arduino (Mega 2560) board through it. Since I'm a complete beginner, I am not sure about the input voltage I should provide to the driver. With my limited understanding, I came up with the following possibilities which I don't know how to verify (other than asking here):

  • Does the input voltage just need to be anything in the range 1.5-11V - in other words, can the driver adjust the voltage to whatever is needed? If so, would that mean that just two 1.2V batteries would work, and adding more wouldn't help in any way?
  • Does the input voltage need to be the maximum of needed voltages - 7V?
  • Does the input voltage need to be a sum of required inputs, which would be 3V + 3V + 7-12V? This clearly exceeds the driver's operating range. Would I therefore need to provide 6V to the shield and just power my Arduino directly with another power supply?

1 Answer 1


You are mixing everything, this is not a power supply or some kind of voltage regulator.

As you can see in the datasheet, this is just a dual H-Bridge. A H-Bridge is a simple and clever way to associate 4 transistors to connect, disconnect and reverse a voltage input. This is useful to control a motor with a µC, by sending it a PWM signal.

The H-Bridge needs 2 power supplies. One for the power side and one for the logic side.

You can see the H-Bridge as a switch that can apply the power side voltage to your motor, and reverse it. So the input voltage of the power side should be around 3V. The effective voltage at the motor will be a bit less due to the voltage dropout inside the bridge, but you can neglect it for now.

The input voltage of the logic side should be the same as the operating voltage of your µC. You can use the 5V pin of the Arduino Mega. Warning : never use that pin on something that uses power, such as your motors. Only logical purposes.

Then you will need to provide power to your Arduino Mega. You can apply a voltage between 7 and 12V. 9V is fine.

  • \$\begingroup\$ The datasheet you linked is a datasheet of a TI DRV8835 - The Pololu DRV8835 I'm using is based on it, but provides additional functions. I can plug in external power, and when I put a jumper on the VOUT pins, it can provide power to Arduino. \$\endgroup\$ Aug 9, 2017 at 21:48
  • \$\begingroup\$ You still need to provide 2 different voltages to the module. On the schematic : pololu.com/file/0J803/… you can see that you have Vin (3V, for the motors) and Ard_Vin (9V, for the Arduino). The module simply link the 5V from the arduino with the logical side of the driver. \$\endgroup\$
    – math3006
    Aug 9, 2017 at 21:53
  • \$\begingroup\$ But the pololu page says this: "Shield can optionally power the Arduino base directly when motor supply voltage is suitable" - and the "suitable" part is what I don't understand. \$\endgroup\$ Aug 9, 2017 at 21:57
  • \$\begingroup\$ You can link the power inputs, but your Arduino won't start with 3V, and your motors will burn with 9V. Motor sypply voltage is not suitable to power an Arduino. Moreover, it's good practive to separate power supply to avoid µC reset in case of voltage dropout due to motor overconsumption. \$\endgroup\$
    – math3006
    Aug 9, 2017 at 22:00
  • \$\begingroup\$ Thanks, I think I understand it now. So, I should provide exactly 3V to the driver, and 7-12V to the arduino, right? And if I want to power everything with 1.2V Ni-MH batteries, should I get 3x1.2V for the motors and 6x1.2V for the Arduino, and add resistors to the motors to bring it to 3V, or 2x1.2V (since the operating range is 1.5-3V)? \$\endgroup\$ Aug 9, 2017 at 22:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.