How I Fixed My Burnt BTS7960 Motor Driver and Brought It Back to Life
by Chijipeters in Circuits > Electronics
64 Views, 0 Favorites, 0 Comments
How I Fixed My Burnt BTS7960 Motor Driver and Brought It Back to Life



Background
While testing my motor driver, I accidentally connected an unregulated 5V supply directly to the VCC pin of the BTS7960 board. This mistake burned out the onboard buffer IC, a 74HC244 (Octal Buffer/Line Driver), which handles the logic-level signal routing between the microcontroller and the BTS7960 H-bridge chips.
This is a common issue among makers and hobbyists, and it often leads people to dispose of the entire motor driver. But in reality, the two BTS7960 chips usually survive the mishap, the only component that fails is the 74HC244 buffer IC.
In this blog post, I will show you how to bypass the burnt buffer IC and directly control the BTS7960 chips using an Arduino (or any microcontroller). This way, you can still reuse your motor driver without replacing the damaged buffer IC or buying a new module.
Signs of Failure
The most obvious sign of failure is a visible burnout or hole on the buffer IC itself, usually near the middle of the chip. Despite all external connections being correct, the motor driver will stop responding entirely, no output to the motor, no current draw, and sometimes even shorting on signal lines.
This failure can be deceptive. Since the BTS7960 H-bridge chips are typically robust and remain unharmed, many users misdiagnose the board as completely dead and throw it away. In reality, it's just the 74HC244 that's failed, and with a simple bypass, the board can be restored to working condition.
Supplies
Tools Needed
To carry out this simple repair and bypass the damaged buffer IC, you'll need the following tools and components:
- Burnt BTS7960 Motor Driver Module – The board with the damaged 74HC244 buffer IC
- Multimeter – For basic continuity testing and voltage checks
- Jumper Wires – To manually connect control signals to the BTS7960 H-bridge chips
- 10 kΩ Resistors × 4 – Used to limit current going into the control inputs
- 470 nF Ceramic Capacitors × 2 – For decoupling and noise filtering
- Soldering Iron & Desoldering Tools – For safely removing or bypassing the buffer IC
- Flux and Solder – To ensure clean and reliable solder joints
Optional
- Arduino Uno or any other Microcontroller – For testing the repaired board with control signals
Remove the Buffer IC


The datasheet for the BTS7960 driver IC from the manufacturer shows a simplified application circuit that directly connects the BTS7960 to a microcontroller, without the use of a buffer like the 74HC244. This is the same approach we'll use to revive the burnt motor driver.
Start by carefully desoldering the damaged 74HC244 buffer IC from the board. Once removed, clean the solder pads using flux, solder wick, or a desoldering pump to expose the traces.
Identify Pads



Your goal is to find the four output pads from the buffer IC: 1Y0, 1Y1, 1Y2, 1Y3, which lead to the BTS7960 chips. Also identify the corresponding input-side pads, 1A0, 1A1, 1A2, 1A3, where the signal from your microcontroller would normally come in.
On the BTS7960 module, the buffer IC usually connects as shown in the table
Bridge the Pads With Resistors or Extend With Wires



Option A: Use Resistors on the Board
Solder a 10 kΩ resistor across each pair:
- 1A0 to 1Y0
- 1A1 to 1Y1
- 1A2 to 1Y2
- 1A3 to 1Y3
This setup allows you to keep using the existing input header on the board for signal input.
Option B: Use Wires with Inline Resistors
Solder wires from each of the Y-side pads (1Y0-1Y3) and connect them directly to your microcontroller. Add a 10 kΩ resistor in series to each wire, close to the microcontroller. In this case, you won’t use the input header on the BTS7960 board anymore.
Also, after the buffer IC is removed, you no longer need to power the board's VCC pin (5V), just connect GND between the motor driver and your microcontroller.
Add Noise Filtering Capacitors

For stability, a 470nF ceramic capacitor is soldered directly from VS to GND close to each of the two BTS7960 IC on the board. This is recommended to provide current for the switching phase via a low inductance path as suggested by the device datasheet..
Final Testing
.png)
Connect the following to your microcontroller:
- PWM pins should be connected to GPIO pins on the microcontroller
- Enable pins can be tied to 5V for constant HIGH or controlled via the GPIO pin of the microcontroller.
- GND is shared between the microcontroller and motor driver.
Upload your motor control code, power the motor driver with an external 12V–24V DC supply and test.
If everything is wired properly, your BTS7960 module should now work just like before, even without the buffer IC.
Connections to test with an Arduino Uno Microcontroller
- RPWM from BTS7960 to D5 on the Arduino Uno
- R_EN from BTS7960 to pin D7 on the Arduino Uno
- LPWM from BTS7960 to pin D6 on the Arduino Uno
- L_EN from BTS7960 to pin D8 on the Arduino Uno
Arduino Test Code for Repaired BTS7960
// Define BTS7960 input pins
const int RPWM = 5; // Right IN (PWM)
const int LPWM = 6; // Left IN (PWM)
const int R_EN = 7; // Right INH (Enable)
const int L_EN = 8; // Left INH (Enable)
void setup() {
// Set control pins as outputs
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
// Enable both sides
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, HIGH);
}
void loop() {
// Rotate motor forward
analogWrite(RPWM, 200); // PWM signal (0–255)
analogWrite(LPWM, 0);
delay(3000); // Run for 3 seconds
// Stop motor
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(1000);
// Rotate motor in reverse
analogWrite(RPWM, 0);
analogWrite(LPWM, 200);
delay(3000);
// Stop motor
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(1000);
}