This BTS7960-based driver module is used to control a DC motor with PWM speed control and separate enable inputs. It exposes logic pins for left/right PWM and enable, plus analog current-sense outputs, and power connections for the motor supply and ground.
| Pin | Signal | Description |
|---|---|---|
GND |
ground | Logic ground reference for control signals. |
VCC |
power | Logic supply input for the BTS7960 driver interface. |
LPWM |
PWM | PWM control input for left-direction motor drive. |
RPWM |
PWM | PWM control input for right-direction motor drive. |
L_EN |
enable | Left half-bridge enable input; drive high to enable. |
R_EN |
enable | Right half-bridge enable input; drive high to enable. |
M+ |
power | Motor output terminal positive side from the H-bridge. |
M- |
power | Motor output terminal negative side from the H-bridge. |
L_EN |
enable | Left half-bridge enable input; drive high to enable. |
R_EN |
enable | Right half-bridge enable input; drive high to enable. |
B- |
power-high | High-current motor supply negative input for the BTS7960 bridge. |
B+ |
power-high | High-current motor supply positive input for the BTS7960 bridge. |
R_IS |
analog | Right-side current sense output from the driver. |
L_IS |
analog | Left-side current sense output from the driver. |
| From | To | Wire |
|---|---|---|
board:5V |
x1:VCC |
red |
board:GND |
x1:GND |
black |
board:D5 |
x1:RPWM |
green |
board:D6 |
x1:LPWM |
blue |
board:D7 |
x1:R_EN |
yellow |
board:D8 |
x1:L_EN |
purple |
x1:M+ |
x2:M+ |
cyan |
This example was written and compile-checked for the arduino-uno. Codey Online adapts it to any other supported board for you.
// BTS7960 Right Foot Driver canonical beginner example
// This sketch drives a DC motor forward and backward using PWM.
const int RPWM_PIN = 5;
const int LPWM_PIN = 6;
const int REN_PIN = 7;
const int LEN_PIN = 8;
void stopMotor() {
analogWrite(RPWM_PIN, 0);
analogWrite(LPWM_PIN, 0);
}
void setup() {
pinMode(RPWM_PIN, OUTPUT);
pinMode(LPWM_PIN, OUTPUT);
pinMode(REN_PIN, OUTPUT);
pinMode(LEN_PIN, OUTPUT);
digitalWrite(REN_PIN, HIGH);
digitalWrite(LEN_PIN, HIGH);
Serial.begin(9600);
Serial.println("BTS7960 motor driver demo starting...");
stopMotor();
}
void loop() {
Serial.println("Forward");
analogWrite(RPWM_PIN, 180);
analogWrite(LPWM_PIN, 0);
delay(2000);
stopMotor();
delay(1000);
Serial.println("Reverse");
analogWrite(RPWM_PIN, 0);
analogWrite(LPWM_PIN, 180);
delay(2000);
stopMotor();
delay(1000);
}
Describe what you want to build. Codey Online writes the code, draws the wiring diagram, compiles it and flashes your board straight from the browser.
Start for free