this is my first instructable. i show you updates on my cnc machine which will cost about 200 euro's for still decent quality.
don't hate if you dont like this instructable, I'm just an 18 years old student from belguim sharing his ideas and creations whith other people. becous i think working together and sharing idea's will make better projects.

this is what the machine looks like right now. ill post new photos every time i advance building

i know my video's are not the best. i'm working hard to show you how everything works so it would be nice if you watched at least a peace of all of them to support my project.

for more visit my site:
Remove these adsRemove these ads by Signing Up

Step 1:

Picture of

the most important part of the cnc machine is the controller. if you dont understand how stepper motors work its verry hard to get everything working. Basicly, stepper motors are motors who take steps (mine are 1,8° per step) instead of turning around when you apply voltage. thi gives verry precise controll. my stepper driver i made with 3 easydrivers. 1 arduino . and some sparkfun stepper motors. all this comes from sparkfun. ATTENTION!! in the first video i have a arduino leonardo. this one will not work. you have to get a uno. this will make a bigg difference in the next step.

after you have your easydrivers and arduino connected you need to install a program grbl. on your arduino. this will understand g code and make the motors move.
1-40 of 47Next »
redwiz1 month ago

What are the rods that you used with the stepper motors and do you have a link to get them?

siemenwauters (author)  redwiz1 month ago
Its standard m8 Rod 1meter long you should be able tot get it in almost any hardware store
padbravo5 months ago

How this work is going?
any news about?

cliffyd6 months ago

it looks nice, just 1 question. I know I have to minimize weight distribution, my stepper motors are small (exactly the same size you are using) so just worried about it moving well. Does yours have any problems? BTW it does look nice, throw a nice paint job on "er and looks great!

siemenwauters (author)  cliffyd6 months ago
Sorry for the crappy answer . my smartphone auto correct is set tot Dutch.
cliffyd cliffyd6 months ago

what kind of alignment do you need to do? How much play is in the X Y Axis?

siemenwauters (author)  cliffyd6 months ago
Thuis machine was my crappy first version so it had stopped existing about 9 months ago. I currently am paining my new machine with precission lineair bearings. I never did align it but yiu have tot make dure your place your axisses exactly 90° or the machine wont be precise. And my nema 17 motors where surprisingly strong. Since they use threaded Rod your van put lots of weight on thema sonde your rails will Carey the weigt. Its like carrying a table VS pushing a table on wheels.
Soarex7 months ago

Hi friend,

I need some help to build a machine like that, please can you tell me your email for better comunication?

Hope you can help me.

Best regards,

Rafael Lopes

siemenwauters (author)  Soarex7 months ago

our email is

but for the quickest reaction send to

DIYPieter7 months ago


I'm new to arduino's but have a good knowledge of steppers, electronics etc.. Unfortunately I am not a software genius( thank goodness there are).

I have done a bit of homework and found out that there are ways to load G code into arduinos and make them run on it. I cant find anything that (A) actually works (B) installs correctly. If I am wrong can someone please put me on the right track.

PS: How do you program a Arduino Uno precisely as a cnc mill.

siemenwauters (author)  DIYPieter7 months ago

i'am currently working on a new video instructable so it is easier to understand. also i will upload pcb files so you can print and create the boards i have yourself. so have a little more patience and it will be allright :p

Thanks very much. Just let me know when your finished please.

jmsiefer8 months ago

I apologize for not understanding, however when you say "...after you have your easydrivers and arduino connected you need to install a program grbl. on your arduino." Is there a diagram for connecting the wires that you could share with me, as well as the steps for grbl? Do I need to install a sketch on my Uno first? Or does the grbl program automatically recognize the Uno? Sorry. I'm pretty new to using Arduino, and this is my second project. THANKS IN ADVANCE!!

siemenwauters (author)  jmsiefer7 months ago

sorry for the late answer. So the answer is:

the wiring can be found here

the program GRBL aint a computer software but a arduino hex file that you have to upload. the way to do thi can be easely found by googling it.

Thank you for the follow-up message. I think I figured it out. Here is what I found (copied via my Arduino forums post here: ).

"What I found was this link: It has you create a library for the Arduino Sketch application, and then load it in as an example. This takes all the guesswork out of creating/using the appropriate hex file.

I sent it to my Uno and it said that everything was uploaded correctly, however I won't know if it works or not until I have everything wired up correctly. What I plan on doing is ordering some of these guys from Aliexpress first: ... just in case I need to re-do the wiring a few times.

I had ordered some earlier, however I got the wrong pitch (the distance between pins), and they were much too large. These should be the right size for my EasyDriver boards though. Lesson learned (thankfully they're pretty cheap)."

gschreiber7 months ago
I am also looking for the grey box. I can't find it on sparkfun.
Can you provide a link to it?
Great project by the way!
Thank you,
siemenwauters (author)  gschreiber7 months ago

its a dutch website. hope this helps

Thank you!
That helps.
Richley8 months ago

questions :
1 ) how do you solder your stepper motors' cable with the midi cable ? (;wa... is that you ? )

2 ) how do you calibrate the X,Y and Z-axis ? ( their maximum length they can go, etc etc )

am new to Arduino and mechanisms, lack of information here and there :C

siemenwauters (author)  Richley7 months ago

soldering stepper motors to midi connectors is pretty straight forward. just buy loose midi (male and female) connectors and solder the corresponding wires to the corresonding pins. it has nothing to do with midi it just uses the connector.

the settings are stored in the eeprom of the arduino. you can change them with grbl controller. the maximum with etc aint set on my machine since it is 1m x1M so i never reach the ends anyway.

mailing to my website email would have got you a quicker response since i dont get the instructables messedges correctly;

alihureiby1 year ago
can it controll 4 axis stepper motor?

Yes and no. If you look up in the videos, you can see that there are three stepper drivers from Sparkfun (the three boards in Sparkfun red). This allows independent control for three axes, with a fairly severe limit on current. However, if you were to tie one controller to two stepper motors (for instance, to have a synchronized x-axis with two motors), you could do it, but you'd REALLY run into power problems. Getting another stepper driver would allow true 4-axis control, though you'd still have to watch the power capabilities of the boards.

The author said he used Easy Drivers (which can power up to 750mA/phase). Sparkfun also has Big Easy Drivers (which can power up to 2A/phase), which might be a good choice. Remember to keep any power draw well under these limits to maintain the life of your equipment.

You'd also have to modify the software, of course.

mkulesza9 months ago

mkulesza mkulesza9 months ago

My name is Michael, I live in Poland.
Very Lord please help!
You are able to help me though to the same understanding?
Namely, I want to control the arduino uno by mach 3 and use three drivers for the x, y, z
These are my drivers:

Any help is appreciated :)

From the top sorry for English and very please help.


Michał Kulesza

siemenwauters (author)  mkulesza9 months ago
Uhm wanting to controll an arduini with mach makes no sence :) you can output the mach 3 signals trough the parralel port and connect them directly to your drivers. This can be donebby using a breakout board or just the cable stripped on one side. The board will offer u usualy the easy terminal connectors and some onther functionality depending on the board
rwillemse1 year ago
Hi Siemen,
Terrific work! You inspired me: I have built my own Arduino-driven CNC-mill, based on the same principles, and gratefully using your research.
I wrote software for my mill, implementing the control and some routines (in the form of mathematical functions) for milling simple geometrical structures. Maybe it is of use for you. I share the software here:
Please share when you like it. It is my hope that more people will write functions for this packages...
Good luck and keep us posted!
Rijk Willemse
LTMNO1 year ago
great work on this project.
noik1 year ago
ah gaaf! dat word wel wat!
siemenwauters (author)  noik1 year ago
ja maar het is allemaal een beetje teveel geknutsel waardoor het allemaal wat onnauwkeurig word. ik heb ondertussen al plannen getekend voor een aluminium machine. maar natuurlijk eerst deze afmaken. ik krijg van de nonkel van een vriend nog wat oude krikken van vrachtwagens waar bewegingsschroefdraad in zit wat dus veel beter is als wat ik nu heb
Ohjah, ik heb inmiddels mijn eerste as in beweging gekregen. Heb een nieuwe Arduino Uno besteld die wel goed functioneerde. Ik heb er ook lang over nagedacht om een iets van aluminium te gaan gebruiken. "MakerBeam" leek mij een erg leuk materiaal. Voor onder de 150 euro heb je al een redelijk volledige constructie voor een CNC platform.
siemenwauters (author)  noik1 year ago
makerbeam is eig vrij duur hoor. je moet al die kogellagers en plaatjes erbij kopen waardoor je direct heel duur uitkomt. ik heb gewone LM16UU bearings gekocht nu. 1?6 euro/stuk en op school gaan ze assen voor mij draaien. wat op iets minder als 25 euro zoumoeten uitkomen. als je een beetje zoekt vind je dus echt veel goedkopere oplossingen
Kerveros1 year ago
Hello, have you separated the Ground connections of arduino and the steppers?, I have them all together, I think this is generating noise in the rotation of the steppers.

What should be the ground connections in the scheme

siemenwauters (author)  Kerveros1 year ago
since you are working with electricity you have to use the ground. otherwise there wont be a full circle and no current wil flow
Kerveros1 year ago
Hi, could you provide the wiring schematics of the easydrivers with arduino.

siemenwauters (author)  Kerveros1 year ago
it can be found here:
pfred21 year ago
Have you tried to run more than one motor at a time yet? Back when I was building my system it worked fine when I only ran one motor, but I had problems when I ran more than one motor at a time together. It turned out my stepper motors were generating a lot of signal noise, and interfering with each other. Took me a bit to straighten it out.
siemenwauters (author)  pfred21 year ago
yes it worked just fine. at the moment i destroyed 2 of my easydrivers so i cant show you.
Stepper motor drivers do break down a lot. I had one die on me once. What voltage do you operate your motor drivers at? What is the output voltage of the power supply you run your stepper drivers off of?
siemenwauters (author)  pfred21 year ago
i run them with a 12v 4A power supply. the easydrivers alow 330ma current which is ideal for the motors (not getting hot etc) . the motors are just from sparkfun.cheapest i could find and have amazing power. sorry for late reply
I suspected you were running pretty low voltage. That is probably why you did not experience any interference that adversely affected you. What interference your system generates is simply too low in amplitude to affect the control side of the circuit. That may change if you someday decide to run higher voltage to your steppers.

This is from the Spark Fun web page where you bought your motor drivers from:

"Power supply range from 7V to 30V. The higher the voltage, the higher the torque at high speeds"

What they're really saying is your motors are going to perform best at 30 volts. As you raise the voltage from where you are at now you are probably going to run into the same problem I did once you break the noise threshold of your control circuitry.

Here are a couple videos of my motors running at 24 volts:

In the first video the motor was spinning at about 2,600 RPM before it locked up and jumped off the desk. The second one it was reversing at 800 RPM. I know in the video it is tough to tell. In the third video the motor ran up to 720 RPM before it stalled out. That is what you get when you double the voltage from 12 to 24. For CNC applications my setup is marginal at best. Double what I'm doing would be better. It costs a lot more though. Like you I'm running the cheapest I could find. But I'm running it as hard as I can too.

It is because of the inductive nature of stepper motors that you need to increase the voltage in order to operate a stepper motor at an increased speed. Either that or the natural reluctance of the coils rejects the current flow. No current equals no power. Although as you've observed at low speeds this penalty isn't as severe. But as your step pulse rate increases your motor driver has less and less time to fill the coils with current. Current the coils don't want to begin with.

In short your low voltage is saving you from one problem, the interference I mentioned in my earlier post, but causing you another. It is limiting your performance.
1-40 of 47Next »