

The BTS 7960 Motor Driver, manufactured by Infineon Technologies (Part ID: B0D732VYGZ), is a high-current motor driver designed for controlling DC motors with a maximum continuous current of 43A. This robust H-bridge driver integrates advanced protection features, including overcurrent and thermal overload safeguards, making it ideal for high-power motor control applications.








The BTS 7960 is a dual high-side and low-side MOSFET driver with integrated protection features. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage Range | 5.5V to 27V |
| Maximum Continuous Current | 43A |
| Peak Current | 50A |
| PWM Frequency | Up to 25kHz |
| Logic Input Voltage | 3.3V or 5V (TTL compatible) |
| Overcurrent Protection | Yes |
| Thermal Shutdown | Yes |
| Dimensions | 4.5cm x 5.5cm (approx.) |
The BTS 7960 module typically features the following pinout:
| Pin Name | Description |
|---|---|
| VCC | Power supply for the motor driver (5.5V to 27V). |
| GND | Ground connection. |
| RPWM | Right PWM input signal for controlling motor direction and speed. |
| LPWM | Left PWM input signal for controlling motor direction and speed. |
| R_EN | Enable pin for the right side of the H-bridge. |
| L_EN | Enable pin for the left side of the H-bridge. |
| IS | Current sensing output (optional, for monitoring motor current). |
| Motor+ | Positive terminal of the motor. |
| Motor- | Negative terminal of the motor. |
Below is an example of how to control a DC motor using the BTS 7960 with an Arduino UNO:
// Define pin connections for the BTS 7960 motor driver
const int RPWM = 5; // Right PWM pin connected to Arduino pin 5
const int LPWM = 6; // Left PWM pin connected to Arduino pin 6
const int R_EN = 7; // Right enable pin connected to Arduino pin 7
const int L_EN = 8; // Left enable pin connected to Arduino pin 8
void setup() {
// Set motor driver pins as outputs
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
// Enable both sides of the H-bridge
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, HIGH);
}
void loop() {
// Rotate motor in one direction
analogWrite(RPWM, 200); // Set speed (0-255)
analogWrite(LPWM, 0); // Ensure opposite side is off
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(1000); // Pause for 1 second
// Rotate motor in the opposite direction
analogWrite(RPWM, 0);
analogWrite(LPWM, 200); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop the motor
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
delay(1000); // Pause for 1 second
}
Motor Not Spinning:
Overheating:
Erratic Motor Behavior:
No Current Sensing Output:
Q: Can the BTS 7960 handle brushless DC motors?
A: No, the BTS 7960 is designed for brushed DC motors. For brushless motors, consider using a dedicated brushless motor driver.
Q: What is the maximum PWM frequency supported?
A: The BTS 7960 supports PWM frequencies up to 25kHz.
Q: Can I use the BTS 7960 with a 3.3V microcontroller?
A: Yes, the logic inputs (RPWM, LPWM, R_EN, L_EN) are compatible with both 3.3V and 5V logic levels.
Q: Is reverse polarity protection included?
A: No, the BTS 7960 does not have built-in reverse polarity protection. Use an external diode for protection if needed.