Arduino Vs commercial stepper controller

I have a small metalworking lathe with a vertical slide. I have also been interested in 3D printing after reading some magazine articles about it. Recently, I noticed that Maplin is selling a Velleman 3D Printer kit for £700. This got me thinking that if I convert my lathe to CNC and add an extruder head I could have a CNC lathe and a 3D printer for small items for considerably less than £700.

I had assumed that I could control the stepper motors with an Arduino but when I started learning about stepper motors the economic choice has become more complicated.

My project will need 4 x Nema17 stepper motors (about £60). Then if I am to use my Arduino Uno as a controller I believe I will also need 4 driver chips such as L298N or (better, I think) TB6560 (about £5 each - or £20). I have what amounts to an unlimited 12v supply but if I need 24v I will need to buy a 230v-24v power supply (say £30). That takes the total cost over £100 before I ever take account of the time to assemble the driver chips into circuits and the cost of odds and ends needed for that - probably another £20. And then I have to develop the software - which may be fun but will be time consuming.

In contrast to all that it seems to be possible to buy a complete 4-axis package of stepper motors, drivers and power supply on Ebay for about £180 - which doesn't require any work by me.

(All these prices are based on products available in the UK as it is not practical for me to order things that can't be reliably delivered within a week.)

In general I would prefer the DIY approach but I haven't been able to find any examples of successful DIY Arduino controlled CNC systems, so there must be a risk that after spending all this money and time I will still have to buy a commercial solution.

Any comments would be appreciated, especially if I am overlooking something obvious.


This has been done many, many times.

Plenty of information here: arduino cnc - Google Search

I'm only replying to @kd7eir so that everyone knows I had already Googled that stuff and hadn't been able to find a website which goes through all of the bits and pieces to give me confidence that it can be done. If someone has a reference to a specific website that I may have missed I would very much appreciate it.


take a look at the EasyDriver range at SparkFun
they're about to release a new variant
I've used two of the earlier releases with some success
driving 3 or 4 from a UNO should be easy enough
I did it for my CNC mill :slight_smile:

All solutions, except for buying complete ready to run 3D printer will require work from you.
The easiest solution these days seems to be to use modified RepRap software to drive the CNC, like this example. hbridge arduino gcode interpreter download | I have not tested it myself.
For cheap hardware and electronics search for RepRap kits.
This is successful Arduino CNC machine. My first CNC machine Arduino Mega controlled!!!! - Exhibition - Arduino Forum

It looks like this wasn't the ideal place to ask this question.

Has anyone a better idea for a forum that could help with my question?


Has anyone a better idea for a forum that could help with my question?

Have you made any attempt to look for a forum specialising in DIY 3d printers? I can't imagine why you'd have any difficulty finding one, given how popular the subject is at the moment.

A big part of the problem is that there are so many web pages / forums with bits of information that it's almost impossible (without 2 weeks continuous reading) to find the needle in the haystack.

None of the many websites I have looked at has a complete walk-through of their project. The bits I would particularly like to get info on are what stepper motors were chosen and why, ditto the stepper drivers and then a description (not the code) of all of the software that is used to drive the system - if a PC is used, what software is on that, if the PC connects with an Arduino, what Arduino and what sort of connection and (at the bottom of the heap?) what the code on the Arduino does and how it is connected to the steppers.

I can figure stuff out bit by bit, but what prompted me to start this topic is that, perhaps, I shouldn't waste time and money trying to use an Arduino at all when commercial systems are available at a relatively small extra cost. For example has anyone any comparative knowledge of the two approaches? Will I find that the Arduino works but is a great deal slower or less versatile than a commercial system? From a buying point of view this is, necessary, an all-or-nothing decision. And there may be many other questions I should be asking but which haven't yet occurred to me.

One of the pieces of learning that has seemed amazing is that the LinxCNC system only works with old PCs with a parallel port? (and they assume you will buy a cheap PC or a parallel card to meet this requirement). This is something I need to study more.

I've come across something called EMC2arduino (and HAL2arduino) but the website doesn't seem to explain what it is - whether it's an input interface for LinuxCNC or an output interface (using USB) between LinuxCNC and the stepper motors. There are times when OpenSource sucks! (But I'll persevere with it)


Building it yourself indeed requires time and you may not be able to find all info in a single tutorial.
You're not limited to what someone else decided to be useful though.

I agree it's easy to get lost in the tons of info you can find on on CNC/Arduino and would like to suggest It's a huge site on CNC which even has complete plans on building/adapting CNC-machines and articles on arduino.

With all the info on CNC and different approaches... it still may be like searching for that needle though, but since it's about CNC only you may be able to compare solutions a lot better.