Motor driver DRV8838


When i connect this driver, I hear terrible noise whether from motor or driver. And it gets louder as i increase enable input, but motors doesn’t rotate at all.

But when I connect arduino to PC by USB and in the same time put battery into Vin it works.

When I measured voltage on O2 | O1 I saw that it was very little. About 0.01 V.
What can cause such behavior.


It is not clear to me how you have everything connected to your DRV8838 carrier. Could you post pictures that show all of your connections? What are you powering the DRV8838 with? Can you link to a datasheet or product page for your motor or post its specifications?


Thanks for quick reply!

I use DRV8838 to control little engine current.

You can see all component on picture.

I use bluetooth module HC - 05. I connect to it via my phone and send value varing from 0 to 255.
Instead 9V battery as on picture i use 2Cell LiPo (around 8V).

Here is all Arduino code:

#include <Servo.h>

#define engine_pin 3

int speed_value = 0;

void setup() {
  while (!Serial) {}
  speed_value = Serial.readStringUntil('s').toInt();
  pinMode(engine_pin, OUTPUT);

void loop() {
  if (Serial.available()) {
  speed_value = Serial.readStringUntil('s').toInt();
  analogWrite(engine_pin, speed_value);

The diagram you posted does not show how you are powering the Arduino. How is it getting power when the USB is not connected? Could you post pictures of the physical setup so I can look at the soldering and other connections?


Sorry, i forgot to add one wire. I connect plus of battery with Vin pin of arduino.

Can you still post pictures of your setup that show all of your connections and soldering?


I disassembled scheme. I assure you, it just the same as on picture. With two differences:

  1. I use 2cell lipo instead of 9V battery showed.
  2. I connect plus of buttery to Vin of arduino.

I asked for pictures not only to verify your connections, but also to make sure the soldering looks okay and to see if there is anything else about the system that I can see that could cause problems. In this case since it works when USB is connected, I strongly suspect that something is either not grounded properly or is not making a good connection.

It is difficult to understand what specifically you mean by “I disassembled scheme” , but if you have taken apart your setup, I cannot really help you troubleshoot.


Here is link to pictures

Thank you for posting pictures. From them, it looks like the soldering joints to the DRV8838 are cold and might not be making good contact. If the solder joint on the ground pin is not connected well it could cause the issue you described. I cannot tell what the solder connects to, since there are no pins sticking out the top of the board, but if it is possible you might try letting the wires or headers stick through more to allow for more solder on each joint. This Adafruit soldering guide might be helpful.

I also noticed that it looks like you are using cut off jumper wires to hold the small wires from your motors into your breadboard. From your earlier description, it seems that might be working well enough for you right now, but that is not a very reliable way of making a connection and I recommend soldering your smaller wires to a larger wire or a header pin that can more securely plug into the breadboard.


Thank you, Claire for your points.
Yep, quality of soldering if far from good. I gonna solder it better and show all soldered contacts.

I have two questions:

  1. Why we have two holes for ground (near Vcc and Vin), if it said from product description, that : “The control source and the motor driver must share a common ground”?
  2. I rang out two GND and it seems that they are , by default, connected each other. Is it ok?

Best regards,

The two GND pins on the board are connected internally. We generally try to supply a ground connection next to power connections to make it easy to ensure all the power supplies and boards in your system share a common ground.