Many many steppers

Any elegant ideas on a way to drive 700 stepper motors independently? By elegant I mean with minimal hardware. The steppers would be very small.

@ Superpanda - Nothing that comes to the top of my head, however, your request for minimalistic hardware may not be satisfiable. Each stepper motor would require 4 wires a piece. This adds up to 2,800 wires and many controllers.

I should have said “a minimum of hardware”. I have no doubt there will be a lot of wires and controller :slight_smile:


It looking like low cost servos and a series of 16 channel I2C servo controllers is the way to go. I think I can drive almost 1000 servos on a single I2C bus.

As for a board to control these controllers I have many choices, but the other requirement is that I use a board that can process images from a camera into 8bpp bitmaps with some speed…like at least 10 fps.

I noticed the Hydra has the speed, but no USB host for a web cam at 320X240 resolution. Is the spider fast enough? Perhaps Chipworks is the way to go?


I doubt even Hydra could do it in managed code at 10fps. In unmanaged code, your limitation is memory, not speed.

I assume you mean hobby servos and not stepper motors ?

a dl40 daisylink module would be a ideal candidate for this offload the work for each set of servos to each module :slight_smile:

If you mean servos, then the TLC5940 has 16 PWM outputs, a daisy-chainable serial interface, requires a minimum of external components, and is ~$3 each in the quantities you’re going to need for 700 servos.

Given that you’re going to have more than 40 of these daisy-chained together, I would do some tests to ensure that you can control them in a timely manner from managed code, which will depend on your requirements. You need to be able to write enough bits fast enough to set up all 44 modules at your desired refresh rate. You’d have somewhere between 4kbits and 8kbits per refresh.

Good points. Thanks. I am thinking I will do the image processing on a more powerful PC then distribute instructions out to 4 MCU’s which will in turn drive the servos.

Here is a device similar to what you descibe using I2C: Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface [PCA9685] : ID 815 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits

I wonder how much noise this is going to make? Most servos I have used tend to be twitchy even when idle. Might sound cool. Who knows!


That will certainly work, but you’re looking at nearly $600 plus shipping purchasing them through Adafruit. The PCA9685 that that board uses, however, can be had for under $2 in the quantities you’re looking at (you need 44 of them). If you’re comfortable designing hardware, it’d be worth it, I think, to produce a board with 2 or more per board, if only for space reasons.

I can only imagine the power dissipated between the controllers and servos. What are you planning to power this behemoth with?

I know. I was only suggesting it because of the chip. Looks like a better chip. I would have a board made.

It’s fun to think about needing >1000 watts of power. I would daisy chain these supplies to size to the application.