Codey OnlineArduino & ESP32 component library › TB6600 Stepper Driver
TB6600 Stepper Driver
Actuators

TB6600 Stepper Driver

The TB6600 is a stepper motor driver that converts STEP (PUL) and DIR (direction) input signals into controlled current for the motor coils labeled A+ and B+. An enable (ENA) input typically turns the driver outputs on or off, while GND provides the reference for the logic inputs. It needs motor power on its DC/V+/- inputs and logic power via VCC.

Width: 108.9 mm

Pinout — TB6600 Stepper Driver

Pin Signal Description
DIR+ digital Direction opto-input positive; logic level selects motor rotation direction
DIR+ digital Direction opto-input positive; logic level selects motor rotation direction
PUL+ digital Step pulse opto-input positive; each pulse advances the motor one microstep
PUL+ digital Step pulse opto-input positive; each pulse advances the motor one microstep
GND ground Motor supply negative/ground return for the 9–42 VDC power input
ENA+ enable Enable opto-input positive; used by controller to enable or disable the driver
ENA+ enable Enable opto-input positive; used by controller to enable or disable the driver
A+ power Stepper motor phase A positive output winding connection
A+ power Stepper motor phase A positive output winding connection
B+ power Stepper motor phase B positive output winding connection
B+ power Stepper motor phase B positive output winding connection
VCC power-high Motor supply positive input, typically 9–42 VDC for the driver power stage
DIR+ digital Direction opto-input positive; logic level selects motor rotation direction
ENA- enable Enable opto-input negative; used by controller to enable or disable the driver
PUL+ digital Step pulse opto-input positive; each pulse advances the motor one microstep
A- power Stepper motor phase A negetaive output winding connection
B- power Stepper motor phase B negative output winding connection
PUL- digital Step pulse opto-input negative; each pulse advances the motor one microstep
DIR- digital Direction opto-input negative; logic level selects motor rotation direction

Example wiring diagram — TB6600 Stepper Driver

From To Wire
board:D2 x1:PUL+ green
board:D3 x1:DIR+ blue
board:D4 x1:ENA+ yellow
board:GND x1:GND black
x3:OUT+ x1:VCC red
x3:OUT- x1:GND black
x1:A+ x2:1A purple
x1:A+ x2:1B purple
x1:B+ x2:2A cyan
x1:B+ x2:2B cyan

Example Arduino code — TB6600 Stepper Driver

This example was written and compile-checked for the arduino-uno. Codey Online adapts it to any other supported board for you.

// Canonical beginner example for the TB6600 stepper driver
// Arduino Uno + TB6600 + NEMA17 stepper motor

const int PUL_PIN = 2;   // TB6600 PUL+
const int DIR_PIN = 3;   // TB6600 DIR+
const int ENA_PIN = 4;   // TB6600 ENA+

const int STEPS_PER_DIRECTION = 200;
const int STEP_DELAY_US = 800;

void stepMotor(int steps) {
  for (int i = 0; i < steps; i++) {
    digitalWrite(PUL_PIN, HIGH);
    delayMicroseconds(STEP_DELAY_US);
    digitalWrite(PUL_PIN, LOW);
    delayMicroseconds(STEP_DELAY_US);
  }
}

void setup() {
  pinMode(PUL_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(ENA_PIN, OUTPUT);

  digitalWrite(PUL_PIN, LOW);
  digitalWrite(DIR_PIN, LOW);
  digitalWrite(ENA_PIN, LOW);

  Serial.begin(9600);
  while (!Serial) {
    ;
  }
  Serial.println("TB6600 stepper driver demo starting...");
}

void loop() {
  Serial.println("Rotate clockwise");
  digitalWrite(DIR_PIN, HIGH);
  stepMotor(STEPS_PER_DIRECTION);
  delay(1000);

  Serial.println("Rotate counter-clockwise");
  digitalWrite(DIR_PIN, LOW);
  stepMotor(STEPS_PER_DIRECTION);
  delay(1000);
}

Related components

A4988 Stepper Driver

A4988 Stepper Driver

DRV8825 Driver Board

DRV8825 Driver Board

L298N Motor Driver Board

L298N Motor Driver Board

Left DC Motor

Left DC Motor

Build your Arduino or ESP32 project with AI

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