

The BTS7960, manufactured by Handson Technology (Part ID: DRV-1012), is a high-current H-bridge motor driver designed for driving DC motors and other inductive loads. It is widely used in applications requiring precise motor control, such as robotics, automation systems, and industrial machinery. The BTS7960 is equipped with built-in protection features, including overcurrent, overtemperature, and undervoltage safeguards, ensuring reliable operation in demanding environments.








| Parameter | Value |
|---|---|
| Operating Voltage Range | 5.5V to 27V |
| Maximum Output Current | 43A (continuous) |
| Peak Output Current | 50A |
| Logic Input Voltage | 3.3V to 5V (compatible with most MCUs) |
| PWM Frequency Range | Up to 25kHz |
| Overcurrent Protection | Yes |
| Overtemperature Shutdown | Yes |
| Undervoltage Lockout | Yes |
| Dimensions | 43mm x 43mm x 28mm |
The BTS7960 module has a total of 8 pins for interfacing with microcontrollers and power sources. Below is the pinout description:
| Pin Name | Type | Description |
|---|---|---|
| VCC | Power | Logic voltage input (3.3V or 5V) |
| GND | Power | Ground connection for logic and power |
| RPWM | Input | PWM signal for controlling motor rotation in one direction |
| LPWM | Input | PWM signal for controlling motor rotation in the opposite direction |
| R_EN | Input | Enable pin for the right half-bridge (active HIGH) |
| L_EN | Input | Enable pin for the left half-bridge (active HIGH) |
| MOTOR+ | Output | Positive terminal of the motor |
| MOTOR- | Output | Negative terminal of the motor |
Power Connections:
MOTOR+ pin and the negative terminal to the MOTOR- pin.VCC pin to the logic voltage (3.3V or 5V) of your microcontroller.GND pin to the ground of both the motor power supply and the microcontroller.Control Signals:
RPWM and LPWM pins to send PWM signals for speed and direction control.R_EN or L_EN HIGH.PWM Frequency:
Protection Features:
Below is an example of how to control a DC motor using the BTS7960 and an Arduino UNO:
VCC → Arduino 5VGND → Arduino GNDRPWM → Arduino Pin 9LPWM → Arduino Pin 10R_EN → Arduino Pin 8L_EN → Arduino Pin 7MOTOR+ and MOTOR- → DC motor terminals// BTS7960 Motor Driver Example Code
// Controls motor speed and direction using PWM signals
#define RPWM 9 // Pin connected to RPWM
#define LPWM 10 // Pin connected to LPWM
#define R_EN 8 // Pin connected to R_EN
#define L_EN 7 // Pin connected to L_EN
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() {
// Rotate motor in one direction at 50% speed
analogWrite(RPWM, 128); // 50% duty cycle
analogWrite(LPWM, 0); // No signal to LPWM
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 at 75% speed
analogWrite(RPWM, 0); // No signal to RPWM
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
}
Motor Not Running:
R_EN and L_EN pins are set HIGH to enable the H-bridge.Motor Running in Only One Direction:
RPWM and LPWM. Ensure they are not both set to 0.R_EN and L_EN) are correctly configured.Overheating:
Module Shutting Down Unexpectedly:
Q: Can the BTS7960 drive stepper motors?
A: No, the BTS7960 is designed for DC motors and other inductive loads. Stepper motors require a dedicated stepper driver.
Q: What is the maximum PWM frequency supported?
A: The BTS7960 supports PWM frequencies up to 25kHz.
Q: Is the module compatible with 3.3V logic?
A: Yes, the BTS7960 is compatible with both 3.3V and 5V logic levels.
Q: Can I use the BTS7960 with a battery-powered system?
A: Yes, as long as the battery voltage is within the operating range (5.5V to 27V).