DRV8874 Motor Driver and Arduino Nano Issues

Thread Starter

x_Alex_x

Joined Aug 30, 2025
2
Ive been working on a project revolving around RC control using an Arduino Nano, a custom PCB and a DRV8874 Motor Driver. The custom PCB utilises 2N2222 transistors to control components with an external battery (Li Ion 4S) with paired 1K resistors. A 47µF capacitor is used for decoupling and filtering for the DRV8874. Appropriate headers are used for RC Receiver jumper cables and connecting external components, buzzer etc. A buck converter is used to reduce the 14.4v down to 7.5v for the Vin of the Nano with a Schottky diode to prevent back feeding.

Ive had two issues with my setup. The primary issue ive encountered is that something is frying my Nanos.
Ive currently been through 3 Nanos (Clones). The first and last I don't believe had circuit protection however the 2nd one did and refused to output any serial communication when plugged into the daughter board.
When the first and last Nano's were plugged into the daughter board after an average time of 60 to 90 minutes, the Nano pops with a puff of smoke. The power supply doesn't seem to change the outcome as this has occurred when powered via USB or the buck converter separately.
Whilst the second Nano refused to work, that died due to a PC crash corrupting the bootloader. I tried to burn a new bootloader onto the target board however It couldn't be recognised in any scenario suggesting a hardware failure.
Ive tried to examine and troubleshoot the PCB but I haven't been able to find the cause. I have a feeling its something simple that ive completely overlooked.

The second issue is that the DRV8874 doesn't have any voltage output on either OUT1 or OUT2. With the code ive uploaded to my Arduino Nano, Ive had almost full functionality however, when it came to the DRV8874, no output voltage to the motor was detected across all scenarios.
Ive conducted some diagnostic tests to try and pinpoint the issue:

  1. Ive found that with the last Nano, I received accurate pulse data in the serial monitor from all three channels.
  2. DRV8874 receives 10v to VM.
  3. nFAULT read 5v to GND suggesting the DRV8874 didn't detect any problems within the chip.
  4. nSLEEP is correctly tied to GND and reads 0v.
  5. I tested continuity between multiple pins and the outlier was OUT2 to VM which read 15Ω instead of the expected open state.
    Since the DRV8874 is small and I have limited equipment, I suspect this might be related to a short circuit created during reflow and the main cause as to the OUT1 and OUT2 problems.
The following images and GitHub link is my schematic, board layout and the code ive used for this project.

G Rail Cricket 15v DRV8874 Schematic_page-0001.jpg
G Rail Cricket 15v DRV8874 Board Schematic_page-0001 (1).jpg
https://github.com/AlexJCamp1/G-Rai.../G Rail Cricket Code (With Serial Monitoring)

I was hoping someone could look at my PCB schematic and my board schematic to spot anything wrong with it.

Thanks
 

John P

Joined Oct 14, 2008
2,051
One thing I see that looks totally wrong is 47uF capacitor C1. What exactly is it there for? Both the circuit diagram and the PCB show it as being in series with the trace going to the VM pin of the DRV8874, so that pin will never get any sustained current. And just to make it worse, the capacitor's negative side is getting the voltage from the switch, and its positive side goes to the DRV8874.

But I don't see why the Nano is getting overstressed. Could the buck converter be delivering a voltage that's too high?
 

Thread Starter

x_Alex_x

Joined Aug 30, 2025
2
Good catch, the 47uF capacitor is supposed absorb current transients created by the motor and is a requirement for the DRV8874 as stated in the provided datasheet.
https://www.ti.com/lit/ds/symlink/drv8874.pdf
However, It seems I had lapse as the capacitor is in the wrong place, It is supposed to be between VM and GND not between the V supply and VM. As for the capacitor polarity, if It was placed correctly between VM and GND, the capacitors positive side would be attached to VM and its negative side to GND.
Thank you for pointing this out, I wouldn't have spotted that.
After some research I think the short between OUT2 and VM could be causing momentary 14v reverse current up the Arduino's 5v pins resulting in the burn up of my Arduino's.
As for the buck converter, I used a multimeter to adjust the output voltage however I never actually tested the input voltage and current to the Arduino when In use. This is something I will look into.
I plan to redesign this board again to allow for a modular DRV8874 board instead as the equipment I have can't guarantee this problem won't happen again. I would still greatly appreciate any further assistance in the diagnosis of my schematic in the case there is anything else that ive overlooked.
Thanks
 
Top