International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
Design and Implementation of Arduino UNO
based low cost 2D CNC plotter
Swathi B L 1, Pallavi R2, Chaithrashree J 3, Anupriya S4, Pramila B5
U.G Students, Department of Electronics and Communications Engineering, East West Institute of technology,
Anjananagar, Magadi road, Bangalore, Karnataka, India. 1234
Associate Professor, Department of Electronics and Communications Engineering, East West Institute of technology,
Anjananagar, Magadi road, Bangalore, Karnataka, India. 5
ABSTRACT: With the advancement of technology, demand for Computer Numerical Control (CNC) plotter machines
in Educational Institutions and Laboratories is rapidly rising. Low cost manufacture of Printed Circuit Board (PCB) has
become a basic need in electronics laboratories, for Electronics Engineering students and for Electronics hobbyists.
This Project work will present an affordable model of a CNC plotter machine which is able to draw a circuit layout on
PCB or any other solid surface using simple algorithm and available components. At first the user needs to convert any
image file or text file into Geometric (G code) using Inkscape software and then feed it to the machine using Processing
software. Arduino Uno with an ATmega328P microcontroller is used as the control device for this project. The
microcontroller converts G-code into a set of machine language instruction to be sent to the motor driver of the CNC
plotter.
KEYWORDS: Computer Numerical Control (CNC), Printed Circuit Board (PCB), G-code, Microcontroller Unit
(MCU), Plotter.
I. INTRODUCTION
A Plotter is a special type of printer that uses a pen to draw images on solid surfaces. In Computer Numeric Control
(CNC), microprocessor is used which is capable of processing logical instructions interfaced with a computer. The
logical instructions are provided by using a computer in the form of code or text or image which is then transformed
into a machine language by microprocessor to be executed by the machine. A CNC plotter machine is a 3D controlled
2D plotting machines which uses a pen to draw text or image on any given solid surface. It can be used for the purposes
such as PCB Design, logo design, etc. This project is based on CNC plotter machine. With the increasing demand for
the use of CNC plotters in universities and laboratories, a cheap and less complex design is an absolute need. The parts
used for the plotter in our project are easily available at a very low price and spare parts are also used. The construction
is very simple and robust.
II. RELATED WORK
The stability, steady-state error analysis, damping factor, and setting time of discrete data drives for computer
numerical control (CNC) machine tools are analysed to obtain the necessary information for the design of a practical
system.Many techniques for the acceleration and deceleration of industrial robots and computer numerical control
(CNC) machine tools have been proposed in order to make industrial robots and CNC machine tools perform given
tasks efficiently.Computer numerical control (CNC) machines are used to shape metal parts by milling, boring, cutting,
drilling, and grinding. A CNC machine generally consists of a computer-controlled servo-amplifier, servo-motors,
spindle motor, and various tooling.
III. METHODOLOGY
A CNC plotter is able to draw complex line drawings. The coordinates are uploaded to the machine controller by a
separate program. The image file is transformed into a G-code via Software. Then the code is transferred to the
microcontroller by which the motor mechanism is instructed to draw the image. In this project, we are going to present
a simple design for a CNC plotter. Our idea is an Arduino based design using ATMEGA 328P microcontroller. The
machine will have three motors to implement the X, Y, and Z axis. A servo motor will be used along the Z axis for
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3253
International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
positioning the pen which will go up for logic 0 and down for logic 1. Drawing will be done on the X-Y plane where
the positioning will be controlled by stepper motors.System overview is provided in Fig. 1.
Fig. 1 Block diagram of CNC Plotter
When we supply the power to Arduino with USB DATA cable to transfer Data from Computer to Arduino
Board, here we have used 3 Stepper Drivers to supply the G codes in Sequence to the stepper motors. Arduino will be
mounted on CNC shield. CNC shield will be distributing the Current in the command of Arduino. CNC shield will be
converting the command of G codes in digital pulse by Stepper motor. In X direction Stepper motor will be move left
and Right, Y direction stepper motor will be move in front and back direction, Z direction Stepper motor will be move
in Up and down. We have made much difficult design via using this machine. The accuracy of this machines result is
very high. So, we have used in industry to reduce the cost of design printing and maintain accuracy level.
Arduino microcontroller platform with ATMEGA 328 core is used. It can be easily interfaced with PC using
easy drivers and stepper motors. The basic block diagram is as shown in Fig.2.
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3254
International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
Fig. 2 Functional block diagram
IV. EXPERIMENTAL RESULTS
A. HARDWARE
In this hardware system consists of a metallic frame, on which is mounted three axes of motion in a standard
Cartesian coordinate system. X and Y axis is driven by a stepper motor driven by an Adafruit L293D motor driver
circuit. Z axis is driven by a servo motor. The different included parts in the project are: _
1. Arduino UNO.
2. ADAFRUIT: Motor Driver Shield L293D.
3. Stepper Motors.
4. Servo Motor.
Fig .3 Experimental setup
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3255
International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
1. Arduino UNO
The Uno is a microcontroller board based on the ATmega328P.
It has 14 digital input/output pins (of which 6 can be used as PWM outputs).
2. ADAFRUIT: Motor Driver Shield L293D.
Arduino-compatible boards use printed circuit expansion boards called shields, which plug into the
normally supplied Arduino pin headers. Shields can provide motor controls, Global Positioning System
(GPS), Ethernet, liquid crystal display (LCD), or breadboarding (prototyping).
3. Stepper Motor
A stepper motor is a type of DC motor which has a full rotation divided in an equal number of steps
It is a type of actuator highly compatible with numerical control.
The steps of a stepper motor represent discrete angular movements.
4. Servo motor
A servo motor is an electrical device which can push or rotate an object with great precision.
It is just made up of simple motor which run through servo mechanism. If motor is used is DC powered then it
is called DC servo motor, and if it is AC powered motor then it is called AC servo motor.
B. SOFTWARE
To complete the task of entire project two software is used-
1. Inkscape
2. Processing
1. Inkscape (0.48.5)
Inkscape is used to design the plotted diagram or text. In this project by using this software G-code
file of a selected image or text is created. G-code is a commonly used numerical control programming
language which includes X, Y, Z coordinates.
Fig.4Conversion of text to G-code
2. Processing
Processing is open source programming language software which is used for electronic drawings.
GTCRL processing program is used to send G-code file from user interface to CNC plotter. The Fig.4 shows
the user interface of processing 2.2.1 software after running GTCRL program. The port of Arduino Uno is
selected by pressing “P” button on keyboard hence “G‟ button is used to upload our desired G-code file.
Immediately CNC machine will start sketching selected G-code file.
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3256
International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
Fig .4 Uploading G-code to processing software
C. RESULT
Fig .5Result of 2D CNC Plotter
V. CONCLUSION
This project is about building a mechanical prototype of a CNC plotter machine which is able to draw a PCB layout
of 20cm by 20cm (or any image/text) on a given solid surface. It consumes low power and works with high accuracy
due to precise controlling of stepper motors. This is a low-cost project as compared to other CNC product. It is made
with easily available components and spare parts. It is designed for private manufacturing and small-scale applications
in educational institutes. The machine is designed with a very simple construction scheme and can be carried anywhere
without much effort. The algorithm used is simple. The pen can be replaced with a pinhead or laser head or any other
tool for different purpose of use. Software that has been used is open source and userfriendly.
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3257
International Journal of Innovative Research in Science, Engineering and Technology (IJIRSET)
| e-ISSN: 2319-8753, p-ISSN: 2320-6710| www.ijirset.com | Impact Factor: 7.512|
|| Volume 9, Issue 5, May 2020 ||
REFERENCES
[1] Venkatram Ramachandran, Evaluation of Performance Criteria of CNC Machine Tool Drive System, IEEE
Transactions on Industrial Electronics, Vol. 45, No. 3, June 1998, pp. 462-468.
[2] Jae Wook Jeon and Young Youl Ha, A Generalized Approach for the Acceleration and Deceleration of Industrial
Robots and CNC Machine Tools, IEEE Transactions on Industrial Electronics, Vol. 47, No. 1, February 2000, pp.
133-139.
[3] Allen G. Morinec, Power Quality Considerations for CNC Machines:Grounding, IEEE Transactions on Industrial
Electronics, Vol. 38, No. 1,January/February 2002, pp. 3-11.
[4] Dr M Shivakumar, Stanford Michahail, Ankitha Tantry H, Bhawana C K,Kavana H and Kavya V Rao, Robotic 2D
Plotter, International Journal of Engineering and Innovative Technology (IJEIT), Volume 3, Issue 10,April 2014,
pp.300-303.
[5] Venkata Krishna Pabolu et al., Design and Implementation of a Three-Dimensional CNC Machine (IJCSE)
International Journal on Computer Science and Engineering Vol. 02, No. 08, 2010, pp. 2567-2570.
[6] Mrs. R. Dayana, Gunaseelan P, Microcontroller Based X-Y Plotter, International Journal of Advanced Research in
Electrical, Electronics and Instrumentation Engineering, Vol. 3, Special Issue 3, April 2014.
[7] Ahn Luong, Willis Lutz, Jared Springle, Ashton Snelgrove, Computer numerical control 3 axis plotter, University
of Utah, Computer Engineering.
[8] Hassam Salamah, Ja'far Yasin, PCB CNC Machine, An-Najah national University, Computer Engineering.
[9] W Durfee, Arduino Microcontroller Guide, University of Minnesota.
[10] Steve Krar, Arthur Gill, Computer Numerical Control Programming Basics.
[11] Instuctables.com.
[12] Wikipedia.com.
IJIRSET © 2020 | An ISO 9001:2008 Certified Journal | 3258