

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.