My robotic arm project

Hi guys, I have been designing a robot if arm that will be made out of aluminium and has nema 17 stepper motors. I have so far figured out I can control these motors with sparkfuns big easy driver but it will take up 6 io pins on the arduino. So my question is how many big easy drivers can I connect to an addition mega which has 54 pins I think. (I plan to have 6 to 8 Steelers with each their own driver boards.

Btw the steppers will be running off of their own power source but the the big easy driver will be drawing power. Thanks :slight_smile: -dylan

Mega has 70 IO, 54 digital, and 16 analog input/digital.
6 x 17 = 102
Perhaps you can drive some of the control lines from the output of shift registers? Such as enable or direction lines, while the actual step control lines are from quicker changing IO pins?

I also offer a 2560 breakout board/system where all IO are broken out, so 86 IO are available. Just add power & go. Serial broken out to a header to plug on an FTDI Basic or equivalent for code download/debug/monitoring.

6 x 17 = 102

Sure enough. But, where did those magic numbers come from?

Each stepper driver needs two pins - one for stepping and one for direction. The power connection is NOT to a digital pin. Ground isn't either.

8 (steppers) x 2 (pins/stepper) = 16 pins.

OP said 6 pins per motor, 17 motors. Nothing magic.
I don't know what the driver really requires, is taking forever to open for me (and timing out).
I could see 6 IO pins easy enough:
and 3 microstep size select pins.
Then to all boards: Sleep and Reset. Maybe Enable to all boards vs a discrete signal to each board.
So, 5 unique and 3 common. Or have the 3 steps sizes the same to all motors, (say the smallest size for the finest control of all motors all the time), then one could have unique Step & Dir, and 5 common signals.

Many ways to get there.

Ok. Thanks so much. I have been looking at your expsansion boards and am very interested to learn more. I’m A little confused but is this just an extension board that you have for a micro controller such as the arduino? When you said use a shift register to control the enable or direction lines are you referring to the pins on the big easy driver that arnt used for controlling the actual steps? Also if I was to use your extension board do you think the arduino mega could power up to 6-8 of the big easy drivers at once, all controlled separately running different codes.

Also I meant 6-8 stepper motors controlled by arduino mega. nema 17 referrers to size and type of motor.

Thanks for your help. :slight_smile:

Yes, the shift register board uses SPI (or shiftOut) to send up to 12 bytes to shift registers to control up to 96 outputs.
If you were sending 5 signals to 17 steppers (all but Step and Dir), they could all be setup and then Step & Dir applied to move whatever motor you want to move.

However, those are open drain outputs, so you’d a pullup resistor for each output to create a High signal, and the shift register output would pull pins Low as needed. The board was designed to sink current from LED strips powered from 12V originally.

I have another board that was designed to drive a 9x9x9 LED cube with 12 cd74AC164 shift register that can drive signals high & low, bytes are also shifted in using SPI from another card.

It also has 9 open drain high current transistors that you wouldn’t need, those could just be left off.

“Also if I was to use your extension board do you think the arduino mega could power up to 6-8 of the big easy drivers at once, all controlled separately running different codes.”
The Mega couldn’t “power” all the cards, the 5V regulator can’t handle that. You’d need a pretty hefty power supply that could power as many stepper motors as you expect to have on at one time, perhaps 15 or 17 Amps depending on your motors.


Ok. So I plan to have 8 big easy drivers connected with shift registers to the arduino except step and dir pins which will be connected to the mega io pins.

8 nema motors 3v - 2 amp per motor.
Motor in the picture below x8

I will need a separate power source to power the motors and driver boards separately. I have only one question about the power source. What power source and amps would I need and how do I calculate it for further expansion of more motors. Also how should I connect the power across all the drivers while keeping amperage.

Thanks :slight_smile:

All the power leads get connected to the power supply. All the Gnds get connected to the power supply Gnd. The Arduino Gnd also connects to the power supply Gnd.
8 x 2A = 16 Amp, so get yourself a big supply, such as

On sale even!

3V? Sounds low.

It says rated voltage such as in the pic. Does that mean I can push it to 12v for more torque or is that for the amps. Sorry just a bit confused and you have have answered a lot of my questions so far. Thank you!

This Is the motor…

I don't know what to advise here. I haven't done any motor projects.

If they are 3V rated and 1.7A that would imply 1.7 ohm resistance coils. (V/I = R)
If you measure a pair of coil windings what do you get?
The driver board can limit the current applied, yes? So I suppose a higher voltage would be acceptable as long as the current is limited to creating 3V across the motor. Or the drive applies whatever voltage is needed while maintaining the current at 1.7A max.

Ok. I have ordered some motors and driver boards which will arrive some time after Christmas. I will continue to experiment and figure out the best way to come about the design and configuration. Thank you for the tips and advice in this forum.