Wiring And Running TB6600 Stepper Driver With Arduino - DIY Projects
Maybe your like
A quick post about wiring TB6600 stepper driver which is based on TB6600HG chip. Here I use one without black plastic casing. It has model marking on the back that says “BL-TB6600-v1.2″. Stepper motor used in this demo is 23HS22-2804S (2.8A, NEMA23). Drive looks like this and it’s rated for 4.5A.

TB6600 v1.2 green PCB
Looking for more info and photos? Check out my previous post about TB6600 drive where I removed heatsink covering the whole PCB.
Wiring TB6600 and Arduino
Terminals on the drive are clearly marked and there is nothing much you can go wrong with. Power supply should be between 8V to 42V (by chip’s datasheet). Low voltage cut-off was actually around 6.5V when I tested it. You have to find paired wires of your stepper motor and connect them to drive’s A+ A- and B+ B- terminals. From Arduino, I had to connect only 3 wires.
- Arduino +5V to +5V on the drive
- Arduino Digital pin 9 to CW (direction) on the drive
- Arduino Digital pin 8 to CLK (pulse, step) on the drive
I left enable pin disconnected for testing.
If you are a beginner and want more in-depth info – check out my other post on how to drive a stepper motor.

Wiring TB6600 (4.5A drive), input / output diagram
Programming Arduino
I used AccelStepper library to make the motor run smoothly for testing. The program I used was Bounce which is one of the example code snippets from that library. Here is the final Arduino sketch I used to make the demonstration video at the end.
#include <AccelStepper.h> // Define a stepper motor 1 for arduino // direction Digital 9 (CW), pulses Digital 8 (CLK) AccelStepper stepper(1, 8, 9); void setup() { // Change these to suit your stepper if you want stepper.setMaxSpeed(1000);//1100 stepper.setAcceleration(1100); stepper.moveTo(2000); } void loop() { // If at the end of travel go to the other end if (stepper.distanceToGo() == 0){ stepper.moveTo( -stepper.currentPosition() ); } stepper.run(); }TB6600 microstepping settings
Note about dip switches on board. When I hooked everything up for the first time- I didn’t get it working. I was bit confused. That happened because I had all dip switches in off state. I thought that if everything is off- there is no microstepping applied. But with TB6600 it means the drive is disabled. Here is a screenshot from the datasheet for quick reference. Grab the whole datasheet from here.

Screenshot from TB6600HG datasheet about microstepping and standby settings
Find this drive on Amazon- Amazon.de
- Amazon.co.uk
- Amazon.com
Video
And here is the video of this combo running.
Tag » Arduino Uno Tb6600 Wiring
-
TB6600 And Arduino - Wiring And Demonstration - YouTube
-
TB6600 Stepper Motor Driver With Arduino Tutorial
-
TB6600 Stepper Motor Driver With Arduino Tutorial (3 Examples)
-
Interfacing TB6600 Stepper Motor Driver With Arduino - ElectroPeak
-
Updated TB6600 Stepper Driver Config? - Arduino Forum
-
Vertical Plotter -wiring The Tb6600 - Arduino Forum
-
Arduino Uno And TB-6600 Connection
-
Arduino Uno R3 And TB6600 Connection Diagram
-
Arduino And TB6600 Microcontroller Wiring Schematics
-
Need Help! TB6600 Wiring Diagram With Arduino Grbl CNC Shield
-
CNC Controller With Arduino, TB6600 And GRBL
-
Nema Stepper Motor 23 With Tb6600 Driver With Arduino Due
-
TB6600 Arduino Stepper Motor Driver - DFRobot