Go Down

Topic: 3 axis stepper sheild for arduino (Read 3993 times) previous topic - next topic


Hello, I am currently designing a 3 axis stepper controller, and was wondering if it would have any demand in the arduino community, and if i should in fact design it as an arduino shield. The purpose of this project is to design an integrated precision 3 axis controller that is easy to interface with, precise, and can be used in small scale robotics and cnc applications. The project is still in fairly early stage so any feedback would be great!  

Here are the specs so far:
Drives 3  2-phase stepper motors
1.5 A / coil
up to 64 microsteps/step
SPI interface with arduino
controller does all position processing,
PID control built in, acceleration, velocity
Built in stall checking for switchless boundary checking in cnc application

The benefit of this controller would be that it would take high level position commands ex go(x,y,z) and execute them with preset and adjustable speeds, accelerations/deceleration, pid control, adjustable current level etc. This way, the arduino would only send high level commands, and only have 4 pins used (SPI), leaving the bulk arduino processing to carry out other tasks. Also, the arduino could act as a usb interface between the controller and a computer to  carry out cnc instructions from a program. The boards will also be able to stack, and offer 6 12, etc stepper controllers in one system.

Disadvantages would be that it could only drive 2 phase stepper motors, albeit a wide variety. Also, due to the component sizes can not be offered as a kit, and will be relatively expensive, probably around $200 to buy as a unit due to component costs.


I'd be interested in something like this. My need is more of a 2D nature, moving a sewing machine around on a 2D carriage, though. So, I'd like to see the board be able to drive 2 or 3 motors.

The specs look good.

As to whether it should be a shield, or not, I'd say no. Motor drivers tend to run pretty warm, and sometimes noisy. Keeping that heat and noise away from the Arduino would be a good thing.
The art of getting good answers lies in asking good questions.



It sounds like a good idea, I likely would buy one.  Comments

It can be bigger than a standard shield if needed.

Will it have feedback capabilities, i.e. connected to an encoder wheel so that you know that it actually moved when you told it to. This is can be very useful on CNC controllers.



Feb 26, 2010, 07:53 pm Last Edit: Feb 26, 2010, 08:04 pm by Quarky Reason: 1
There is one more configuration, which i think is most likely:

- on-board atmega328, "built in arduino"
-cheaper than separate arduino +shield
-increased microstepping to 256 uS / step if needed
Arduino bootloader loaded and pinouts available, like the "arduino pro" version, but with a 3 axis motor controller


Making it a separate board with an on-board Arduino processor would probably be the best idea.

There is already a user here on the forums who has made an Arduino-based CNC system, and put a small g-code interpreter on it (if you still had room to include such code, that would be a pretty amazing product!).

Also - if you could add the ability to switch on/off one or two other high-current loads, that would be perfect (so you can switch the spindle motor, blower or vaccuum motor, or coolant pump on and off).

Sounds like an awesome project!
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.


You know that u get driver boards for stepepr motors (3-5 axis up to 3A) for just 60USD online. I used one of those and just run the wires on the manual interface to an arduino screw termial shield. I run a modified reprap code for gcode from matlab and I added a nano wii classic controller for manual control of it.

So 200USD sound really expensive when the specs are lower than already existing boards out there..


Which stepper driver board are you using?
The art of getting good answers lies in asking good questions.


I am using the Trinamic chipset. TMC428 and 3 TMC246. $200 is definitely a high estimate on cost.

The benefits of this controller over others on the internet would be size, very high level of resolution (256 microsteps/step), auto stallguard which can detect and set boundaries without switches, and implementation of complex control and settable trapezoidal velocity profiles with easy, high level communication.

Go Up