

The BTS7960 Motor Driver is a high-current H-bridge motor driver designed to control the direction and speed of DC motors. It is capable of handling high currents, making it suitable for driving large motors in industrial, robotic, and automotive applications. The module features built-in protection mechanisms, including overcurrent and thermal overload protection, ensuring safe and reliable operation.








The BTS7960 Motor Driver is designed to handle high-power applications with robust performance. 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 Voltage | 3.3V or 5V (compatible) | 
| Overcurrent Protection | Yes | 
| Thermal Shutdown | Yes | 
| Dimensions | 43mm x 45mm x 28mm | 
The BTS7960 module has several pins for motor control and power input. Below is the pinout:
| Pin Name | Type | Description | 
|---|---|---|
| VCC | Power Input | Logic voltage input (3.3V or 5V). | 
| GND | Ground | Common ground for logic and motor power. | 
| RPWM | Input | PWM signal for controlling motor speed in one direction. | 
| LPWM | Input | PWM signal for controlling motor speed in the opposite direction. | 
| R_EN | Input | Enable pin for the right side of the H-bridge. | 
| L_EN | Input | Enable pin for the left side of the H-bridge. | 
| IS | Output | Current sensing output (optional, for monitoring motor current). | 
| V+ | Power Input | Motor power supply (5.5V to 27V). | 
| OUT1 | Output | Motor terminal 1. | 
| OUT2 | Output | Motor terminal 2. | 
The BTS7960 Motor Driver is straightforward to use in a circuit. Below are the steps and best practices for integrating it into your project.
Power Connections:
V+ pin and ground to the GND pin.VCC pin.Motor Connections:
OUT1 and OUT2 pins.Control Pins:
RPWM and LPWM pins to control the motor's speed and direction via PWM signals.R_EN and L_EN to HIGH.PWM Control:
RPWM and set LPWM to LOW.LPWM and set RPWM to LOW.Below is an example of how to control the BTS7960 Motor Driver using an Arduino UNO:
// Define control pins for the BTS7960
#define RPWM 9  // PWM pin for forward direction
#define LPWM 10 // PWM pin for reverse direction
#define R_EN 7  // Enable pin for right H-bridge
#define L_EN 8  // Enable pin for left H-bridge
void setup() {
  // Set control 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() {
  // Move motor forward at 50% speed
  analogWrite(RPWM, 128); // 50% duty cycle
  analogWrite(LPWM, 0);   // No reverse signal
  delay(2000);            // Run for 2 seconds
  // Stop the motor
  analogWrite(RPWM, 0);
  analogWrite(LPWM, 0);
  delay(1000);            // Pause for 1 second
  // Move motor in reverse at 75% speed
  analogWrite(RPWM, 0);   // No forward signal
  analogWrite(LPWM, 192); // 75% duty cycle
  delay(2000);            // Run for 2 seconds
  // Stop the motor
  analogWrite(RPWM, 0);
  analogWrite(LPWM, 0);
  delay(1000);            // Pause for 1 second
}
IS pin to monitor motor current if needed.Motor Not Running:
R_EN and L_EN pins are set to HIGH.Motor Running in Only One Direction:
RPWM and LPWM).Overheating:
Erratic Motor Behavior:
Q: Can I use the BTS7960 with a 3.3V microcontroller like the ESP32?
A: Yes, the BTS7960 is compatible with both 3.3V and 5V logic levels.
Q: What is the maximum motor voltage I can use?
A: The maximum motor voltage is 27V. Ensure your power supply does not exceed this limit.
Q: How do I stop the motor?
A: To stop the motor, set both RPWM and LPWM to LOW or send a 0% duty cycle PWM signal.
Q: Can I control two motors with one BTS7960 module?
A: No, the BTS7960 is designed to control a single DC motor. For dual-motor control, use two modules.
By following this documentation, you can effectively integrate the BTS7960 Motor Driver into your projects and troubleshoot common issues.