I have an Arduino Mega 2560 and I want to control four 23-frame steppers same speed/direction for a conveyor application. I want these to be synchronized exactly as possible for smooth operation.

  • Can four TB6600 drivers be daisy chained to the same Arduino GPIO pins?

  • Is there a limit to how many number of drivers I can daisy chain?

  • I'm wondering about current draw from the 5 volt Arduino GPIO, spread out over many drivers.

Thanks for your help!


Those devices use opto-isolated inputs. To all intents and purposes they look just like an LED with a resistor in series.

The built-in resistor looks like it sets the current to "between 8mA and 15mA" and typically 10mA, though it's impossible to say what it actually is. So we'll take the worst-case scenario of 15mA.

The Arduino has an absolute maximum of 40mA, and a recommended maximum of 25mA from each IO pin, with a maximum of 200mA in total through all pins.

That means you ideally can't really have more than one TB6600 per IO pin, but you could get away with 2 per pin, certainly no more.

To run lots in parallel you would need a separate set of drivers that can "fan out" the low-current signal to either a single high current signal or a parallel set of low-current signals.

It looks like you provide 5V to one pin of each input (the anode of the opto-isolator) and sink the current through the other pin (the cathode of the opto-isolator) to ground through your IO pins. That means you could use a single large N-channel MOSFET to sink all of the cathodes in parallel and invert your IO logic in software.

  • So the MOSFET is acting like a relay keeping the IO signal intact (not too much draw on Arduino) while being able to sink the sum total of all tb6600 drivers involved? Jan 16 at 15:12
  • @RobertBorn Correct, but also as an inverter, so a HIGH would turn on instead of a LOW as you would normally use for that device.
    – Majenko
    Jan 16 at 15:13
  • Please forgive me .. I'm more of a high power electrical guy. Actually I get into way too many kinds of projects :) In order to not have to mess with my control SW and elegant GUI I paid a college kid to build for me .. could I simply reverse the common to the tb6600 inputs from +5V to ground? I still need to study the connection of the MOSFET. Another thought .. I've used these opto-isolated signal boards before. But maybe they are not high speed enough to handle the PWM signal?
    – Bob B
    Jan 16 at 15:28
  • @BobB You could use two N-channel mosfets, one as an inverter (as in an RTL inverter) or maybe a P-channel MOSFET to switch the 5V signal, sure. Or add an actual inverter chip to the outputs (74HC00 gives 6 inverters in one chip). There's lots of things you could do.
    – Majenko
    Jan 16 at 16:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.