

The BTS7960 is a robust and powerful motor driver designed to control DC motors with high current ratings of up to 43A. It features an H-Bridge configuration, enabling bidirectional control of motors, making it ideal for applications such as robotics, automation, electric vehicles, and industrial machinery. With built-in protection features like overcurrent and thermal shutdown, the BTS7960 ensures reliable and safe operation in demanding environments.








The BTS7960 motor driver is designed to handle high-power motors with ease. Below are its key technical specifications:
| Parameter | Value | 
|---|---|
| Operating Voltage | 5.5V to 27V | 
| Maximum Continuous Current | 43A | 
| Peak Current | 50A | 
| Logic Voltage | 3.3V or 5V (compatible) | 
| PWM Frequency | Up to 25kHz | 
| Control Inputs | 2 PWM pins, 2 direction pins | 
| Overcurrent Protection | Yes | 
| Thermal Shutdown | Yes | 
| Dimensions | 43mm x 43mm x 28mm | 
The BTS7960 module has several pins for motor control and power connections. Below is the pinout:
| Pin Name | Description | 
|---|---|
| R_EN | Right motor enable (active HIGH) | 
| L_EN | Left motor enable (active HIGH) | 
| R_PWM | PWM signal for right motor direction | 
| L_PWM | PWM signal for left motor direction | 
| VCC | Logic voltage input (3.3V or 5V) | 
| GND | Ground for logic and power | 
| Pin Name | Description | 
|---|---|
| V+ | Motor power supply (5.5V to 27V) | 
| GND | Ground for motor power | 
| MOTOR+ | Positive terminal of the motor | 
| MOTOR- | Negative terminal of the motor | 
The BTS7960 motor driver is straightforward to use in a circuit. Follow the steps below to integrate it into your project:
V+ pin and ground to the GND pin. Ensure the power supply matches the motor's voltage requirements.MOTOR+ and MOTOR- pins.VCC pin to the 5V or 3.3V logic supply of your microcontroller.GND pin to the ground of your microcontroller.R_EN and L_EN pins to enable the motor driver.R_PWM and L_PWM pins to control the motor's speed and direction via PWM signals.Below is an example of how to control the BTS7960 with an Arduino UNO:
// Define control pins for the BTS7960
#define R_EN 7    // Right enable pin
#define L_EN 8    // Left enable pin
#define R_PWM 9   // Right PWM pin
#define L_PWM 10  // Left PWM pin
void setup() {
  // Set control pins as outputs
  pinMode(R_EN, OUTPUT);
  pinMode(L_EN, OUTPUT);
  pinMode(R_PWM, OUTPUT);
  pinMode(L_PWM, OUTPUT);
  // Enable the motor driver
  digitalWrite(R_EN, HIGH); // Enable right motor
  digitalWrite(L_EN, HIGH); // Enable left motor
}
void loop() {
  // Example: Rotate motor forward at 50% speed
  analogWrite(R_PWM, 128);  // Set right PWM to 50% duty cycle
  analogWrite(L_PWM, 0);    // Set left PWM to 0 (no reverse)
  delay(2000); // Run motor for 2 seconds
  // Example: Rotate motor backward at 75% speed
  analogWrite(R_PWM, 0);    // Set right PWM to 0 (no forward)
  analogWrite(L_PWM, 192);  // Set left PWM to 75% duty cycle
  delay(2000); // Run motor for 2 seconds
}
Motor Not Running
R_EN and L_EN pins are set HIGH to enable the driver.Motor Running in the Wrong Direction
MOTOR+ and MOTOR-).R_PWM and L_PWM pins.Driver Overheating
No Response from the Driver
VCC pin is connected to the correct logic voltage (3.3V or 5V).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 the BTS7960 can handle?
A: The BTS7960 can handle motor voltages between 5.5V and 27V.
Q: Can I control two motors with one BTS7960 module?
A: No, the BTS7960 is designed to control a single motor. For dual-motor control, use two modules.
Q: How do I know if the driver is overheating?
A: The BTS7960 has a built-in thermal shutdown feature. If it overheats, it will automatically disable itself until it cools down.
By following this documentation, you can effectively use the BTS7960 motor driver in your projects.