Introduction: How to Make Arduino Based Mini CNC Machine a Complete Tutorial
Hello friends previously i was uploaded a CNC machine instructables you peoples very much appreciate it some of you have many issue and confusion its obvious, reasons are little amount of knowledge is there.
So i came up here by collecting all necessary instruction to minimize your queries and questions regarding how to make and run successfully a CNC Machine.
Many makers contact and comments some common problems like
# My stepper is not working but its working in test Run
# Machine is plotting very small image
# Arduino or processing showing errors while launching codes
# Unable to make G-code files
# How to install libraries
So here i am posting a Complete guide of how to Make a CNC machine along in very simple and easy manner
If you have any question fell free to contact
Step 1: First of All See This Videos
As per Human Psychology Videos or visual content is the best and power full way to learn
So before proceed further first of all take a look to this videos so you will clear in your mind about what you going to learn in this instructables,
Information in following all videos is must to have to build a perfectly fine CNC Machine so watch then carefully.
1) Watch this to see how to assemble CNC machine, Wire & run
2) Watch this how to Connects Stepper motors with Motor shield + a test run
3) How to make G-CODE file of any image
4) How add libraries in Arduino
After watching this i hope you got understood about basic concept and working of CNC machine
Lets processed for Bill of Material
Step 2: Bill of Material ( Hardware + Software )
Following are the Hardware & Software list you want
Hardware
Arduino UNO/MEGA---------------------------------------------Qty---1
L293D Motor shield-----------------------------------------------Qty---1
Mini Servo Motor--------------------------------------------------Qty---1
OLd scrap DVD Drives-----------------------------------------Qty---2
50MM long bolts with nut and washer------------------------Qty---8
A pen----------------------------------------------------------------Qty---1
Some hardwares & tools----------------------------------------Qty---1lot
Software
- Arduino IDE (Version 1.6.3) (https://www.arduino.cc/en/Main/Software)
- Processing IDE (Version 3.0.2) (https://processing.org/download/?processing)
- Inkscape (version 0.48.5) (https://inkscape.org/en/download/)
Go to link to download the particular software select software pack according to you system
**NOTE:- Inkscape version must be 0.48.5 only other wise gcode extension will not work.
Step 3: Role of Hardware & Software in This Machine
It is good to know role of each component and software in CNC machine
1) ARDUINO
Arduino is basically work as a brain of CNC Machine a CNC code uploded to arduino so that when Gcode stream to arduino Arduino commands motor shield to run stepper motors.
2) L293D Motor shield
This is dedicated shield to control verities of motor with arduino here this shield control two stepper motor(x-axis & y-axis) and one servo motor,
https://cdn-learn.adafruit.com/downloads/pdf/adafr... read this for detail technical knowledge.
3) Servo motor
Basically this motor is used here just to UP/DOWN pen servo is connected with motor shield
4) Arduino IDE
This is used to upload code to arduino
5) Processing IDE
This is used to stram G-CODE to arduino
6) Inkscape
This is used to make G-CODE file of any image
Step 4: Assembling the Machine
How to assemble machine ?
I hope you have seen videos and pic uploaded here so you have idea about how to assemble machine so I am not going in depth of it
Just want to highlight some key point
Make sure your machine became vibration free like tightly mount axis on each other
Here I used DVD drive shutter opening mechanism to do pen up/down with the help of servo motor, if you don’t want to do much complication simple tie the pen with servo motor shaft and your purpose get solved
Step 5: Wiring Drawing
Do component
wiring accordingly shown in images,
Do cross check power polarity once before powering the components
Step 6: Programming Arduino
Now your machine is ready its time to give life to you machine
So we need to program arduino
Here we are using L293D Motor shield, so it need to add some library (AFMOTOR LIBRARY) to arduino IDE Software
so first download & upload this library to Arduino IDE to know how to add library watch video number 4
https://github.com/adafruit/Adafruit-Motor-Shield-...
Then upload this CNC Code to arduino
https://www.dropbox.com/s/ni8gih0o95540n6/CNC_code...
After successfully compiling and uploading your arduino programming part is over now move towards G-CODE
Step 7: Preparing G-CODE
G-code is the format of file which your machine can understand and work acordingly
Suppose you have to draw some text with machine so you need its Gcode so what you do
Inkscape software provides you a facility to convert image or text into G-code
how to convert file in G-code watch video number 3
But when you download Inkscape software from net there is not a G-CODE save as option so you need to add a library Extension in inkscape for this download the following Makerboat g-code unicorn extension
https://github.com/martymcguire/inkscape-unicorn/a...
How to add this extension to Inkscape
1) Unzip the file
2) Open the folder by double click
3) Copy all the sub folders & files
4) Right click to the inkscape icon from desktop
5) Go to Properties
6) Go to open file location
7) Open "SHARE" folder
5) Open "EXTENSION" folder
6) Past here all that file
7) its done
Step 8: Processing IDE
Our arduino is ready our machine is ready and our g-code is also ready to print
So we need something which can transmit g-code to Arduino, so here we have Processing GCTRL program
Download GTRL Code from below link
https://www.dropbox.com/s/p4thx3c3bttm52x/gctrl-ma...
After downloading the GCTRL Code unzip the folder load the gctrl code to processing and press play button
a new window open from this window you can select your communication port,
By pressing "G" a browser is open select your g-code file and upload it
as soon as you upload the file Machine start drawing
Here is some ready made g-code file is attached
Step 9:
Thanks for your attention friends
I hope i cover every point of how to make CNC machine
hope you have appreciate this if you are trying to make this machine have a good luck friend
If you stuck anywhere in between feel free to contact i will surely help out my level best
If you have some new idea to improve any thing in this please most welcome you can share with us.
Thanks & bye
subscribe our Youtube channel
https://www.youtube.com/channel/UCsOFElmDD3e8l-RGC...

Participated in the
Arduino Contest 2016
32 Comments
5 years ago
How to solve this error
Reply 5 years ago
Got the solution!!!!!
Try this change in line 31:
String result = (String) JOptionPane.showInputDialog(frame,
Reply 3 years ago
thanks, thanks, thanks
Reply 5 years ago
Same problem here. :(
Reply 5 years ago
I am new to arduino programming . This is a gctrl code in the processing software. I am getting this error "the method showInputDialog(Component,Object,String,int,Icon,Object[],Object) in the type jOptionPane is not applicable for arguments(gctrl,String,String,int,null,int,int)" even though i have seen the same format of the arguments in the tutorials.
Question 3 years ago on Step 8
Hello!!!
I work by CNC PLOTTER
In Processing IDE I cannot get windows for communication port when push.
Thank if you can to help.
Answer 3 years ago
did have find any answer?
Question 3 years ago
Hi ..I have seen ur vdo but I didnt find the sepper scab of dvd so I use nema 17 with cnc shield how can I make cnc machine....I have l293d shield as well...
I try as u instructed but it dont move plz help me to move it
3 years ago
Hi u tell at first that u r going to solve problems that it rins in testing but not in running the gcode...plz help me to solve problem
3 years ago
Hello,please give me instructions on how to make an arduino code for this kind of machine which needs g code as well.What is the purpose of arduino code over g-code.Please help.I want to learn
Question 3 years ago on Step 5
How to power it? Is 5V sufficient? Is 1A enough?
Question 4 years ago on Introduction
I have also problem in my steeper 28byj-48 it only shivering on its position and I am using l293d shield servo is working properly.Please sir provide me the right program and right knowledge on this issue.
Question 4 years ago on Introduction
My stepper run's in test program but after uploading cnc code and then sending gcode the motors does not run so what is the problem and solution to it
5 years ago
how to connect the ardunio to motor shield driver what are the pins should connect ?
5 years ago
I have made it completly but can u help me pls as it is not drawing neatly as desired ,output is distorted
Pls help ,
6 years ago
everything works. why only one motor to heat up the chip? Reset and then not heat up to the next process. L293D motor control card shield motor drive expansion board for motor shield Arduino
6 years ago
Very Nice..
6 years ago
Hello Mr. Innovative :-)
What about your website? It is empty ...
I'd like to get the instructions for building a cnc-plotter.
Are you planing to go online again?
Thanks for an answer
Reply 6 years ago
Its restore now you can access it
6 years ago
fixed it in inscape I had to scale up to 80mm and draw in the top right hand corner keeping in the 40mm plus zone if this makes sense