ArticlePDF Available

Accurate and Cost-Effective Mini CNC Plotter

International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
Accurate and Cost-Effective Mini CNC Plotter
Sara Raad Qasim
Computer Engineering, Alfarabi
Baghdad, Iraq
Haider Mohammad
Computer Engineering, Alfarabi
Baghdad, Iraq
Mustafa Falah
Computer Engineering, Alfarabi
Baghdad, Iraq
A Computer Numerical Control (CNC) plotter machine is a
computerized numerical control machine which can be used to
draw anything or design any mechanical parts according to
the design program. The utilization of CNC machine is
increased rapidly due to the growth of technology in
industries. The fabrication of a low cost CNC plotter becomes
a persistent need. In this paper, a low cost, medium size and
accurate mini CNC plotter is designed using simple and low
cost components: a microcontroller (Arduino), stepper and
servo motors and their control software. Software has been
used to produce a G code for the operation of the system; G
code is an effective language in which people tell the machine
tools ‘How to make something’. G code allows the machine to
sketch the plots by converting the instructions of that plot into
a readable format by the motor driver telling these motors
where to move (the machine in this paper can draw maximum
dimensions 270m*210m) & how fast to move.
Computer Numerical Control (or CNC) [1] is an advanced
form of automatic machine that used widely to control the
motion of these machine tools. Numerical control machine
was first invented around in 19th century to minimize the load
of the work [2]. Its advantage ensures higher efficiency,
higher flexibility, and low production cost, a little working
time and a little loss in production. It mainly follows three
steps that are receiving data, interpreting them and react
accordingly [3].
To direct the machine function, a special codes and numbers
form sequential commands (instructions) that are used to
operate the machine automatically and to produce a specific
part with specific dimension. These instructions (program) are
then converted in to an electrical signal and act as input to the
motors which run the machine and do the basic
A machine control unit (or MCU) decides the tool depth of
draw, drawing speed etc. Motion of tool is based on Right
hand coordinate system. Three axis of rotation (x, y & z) for
three dimensional motion of tool and for specific role plus an
axis of rotation. The x-axis serves as height stands and uses
two pieces one for front and one for back. The y-axis acts as
motor mount to move z-axis in addition with slide mechanism
whereas the z-axis controls the depth by allowing the
movement of router in up and down direction so it is very
important axis[5][6].
1.1 History of CNC
The idea of numerical control began when the automation of
machine tools originally incorporated specific concepts of
programmable logic [7]. In the beginning, the first machines
were constructed in the 1940s. But more advanced machines
came along in the 1950s. These new NC machines were built
based on existing tools that were modified with motors
designed to move machine's controls. These first mechanisms
were soon improved with both analog and digital
After World War II, specifically in 1949, John Parsons found
methods to improve aircraft by creating stiffened skins for
them. This led to important Air Force research projects, which
conducted at the Massachusetts Institute of Technology
(MIT). After the research phases, an experimental milling
machine was designed at MIT. Professor J.F. Reintjes with his
team of researchers were involved in this project.
In the 1960s and 1970, a very familiar form of a CNC
machine started taking shape. Digital technology then entered
the fray, and automation in production processes became
more efficient than ever [10]. Figure 1 shows the first CNC
Fig. 1: First CNC machine
1.2 The most famous CNC machines
1.2.1 CNC Milling
A CNC milling is a machine process that uses computerized
controls and rotating multi-point cutting tools to progressively
remove material from the workpiece or cut different materials
such as metal, plastic, glass, and wood, and produce a custom-
designed part or product (see Figure 2)[11][12].
Fig. 2: CNC Milling
International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
1.2.2 CNC Lathes
CNC lathe is a CNC machine that used to cut workpieces as
they are turned. CNC lathe can make exact cuts rapidly by
utilizing different apparatuses (see Figure 3). The result is a
beautifully finished product so that these machines are very
successful in the exactness they offer contrasted with manual
lathe. They are used by many industries to include
automotive, electronics, aerospace, firearm manufacturing,
sporting, and much more [13].
Fig. 3: CNC Lathe Machine
1.2.3 CNC Routers
A CNC router is very similar in concept to a CNC milling
machine. It is a computer-controlled cutting machine related
to the hand-held router used for cutting various hard materials,
such as wood, composites, aluminium, steel, plastics, glass,
and foams. CNC routers (shown in Figure 4) can perform the
tasks of many carpentry shop machines such as the panel saw,
the spindle moulder, and the boring machine. They can also
cut mortises and tenons. CNC router diminish waste and
increment efficiency, creating different things in a
considerably shorter measure of time than utilizing different
machines [14].
Fig. 4: CNC Router
1.2.4 CNC Plasma Cutters
A CNC plasma system is a machine that carries a plasma
torch, and can move that torch in a path directed by a
computer. The procedure of plasma cutting includes the
cutting of a material utilizing a plasma burn. This strategy is
most ordinarily used to cut overwhelming materials, for
example, steel and different types of metal. CNC plasma
cutter is shown in Figure 5 [15].
Fig. 5: CNC Plasma Cutter
1.2.5 CNC Electric Discharge Machines
Electric discharge machining, or EDM for short (see Figure
6), includes making a particular shape inside a specific
material by utilizing electrical releases, or starts. The material
is expelled from a particular workpiece by a progression of
repeating electrical releases between two anodes. These
anodes are isolated by a dielectric liquid, which regularly gets
an electric voltage [16].
Fig. 6: EDM
The block diagram of mini CNC plotter is shown in Figure 1:
Fig. 1: Simple block diagram of mini CNC plotter
2.1 Input Device
The input device is a computer that uses specific software to
draw any design. These software will be explained section 4
(project software).
International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
2.2 Interface
Interface Unit contains many components that help in
programming and interfacing the input device into the
sketching unit. These components include:
1. Two Stepper Motors
2. Two A4988 Stepper drivers
3. One MG 90S Micro Servo motor
4. CNC v3 shield
5. Arduino Uno R3
2.2.1 Stepper Motor
A stepper motor is a brushless DC electric motor that divides
a full rotation into a number of equal steps (see Figure 2).
Stepper Motors represent the heart of CNC plotter. Two
stepper motors are used for x and y axis for precise control
over drawing pen (sketching unit) for object sketching. They
have important role such that they control the size and type of
speed, accuracy, CNC router precision etc. [17].
Fig. 2: Stepper Motor
The axis of CNC machine (x, y & z) is based on the right
hand coordinate system (rotation is counter clockwise about
the axis of rotation as shown in Figure 3) [18].
Fig. 3: The CNC axes
2.2.2 Stepper Driver
Stepper motor drivers (as shown in Figure 4) are specifically
designed to drive stepper motors, which are capable of
continuous rotation with precise position control, even
without a feedback system. They offer adjustable current
control and multiple step resolutions, and they feature built-in
translators that allow a stepper motor to be controlled with
simple step and direction inputs. In this project we use two
drivers for the two stepper motors [17].
Fig. 4: Stepper Driver
2.2.3 Servo Motor
Servo motor controls the up and down movement of drawing
pen in z axis direction It controlled by sending an electrical
pulse of variable width, or Pulse Width Modulation (PWM)
and this can be achieved using the microcontroller. It
determines the position of the shaft, through the control wire,
which represent the z axis [19].
Fig. 5: Servo Motor
2.2.4 CNC Shield
CNC shield V3.0 can be used as drive expansion board for
engraving CNC machine. It has 4 slots in the board for stepper
motor drive modules that can drive 4 stepper motors. Each
stepper motor need two IO port only, that is to say, 6 IO ports
can quite well to manage three stepper motors as shown in
Figure 6. It is very convenient to use with the microcontroller
(Arduino) such that it is placed above the Arduino [20].
Fig. 6: CNC Shield
2.2.5 Arduino
Arduino Microcontroller (Here Arduino Uno is used as shown
in Figure 7) controls the position of the stepper motors with
the help of program instructions. This microcontroller is an
open source platform based on both hardware and software
that very easy to use. It has 14 digital and 6 analog
input/output pins that can incorporate into various expansion
boards [21][22].
Fig. 7: Arduino Uno
Arduino programs are written in C++ programming language
with a compiler that produces binary machine code.
2.3 Sketching Unit
Sketching Unit is the output unit and it comprises a drawing
International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
pen or pencil and will be controlled by the three motors.
To build the base of CNC, several wooden pieces are cut
which have made holes and blind holes and a wooden table
(40cm * 40cm table is used in this paper) which form the base
and support of the machine. The screwed steel rods (which
were taken from an old wardrobe sliding door) operate as a
worm drive. The blind holes serve as a stop for the steel bars
that act as guides for the x-axis. In the middle, the screwed
steel bar was put, that when turning, generates displacement
in the x-axis as shown in the figures below:
Fig. 8: Project Connections
The electronic connections include the connection of the
stepper motor driver above the CNC shield then placing the
CNC shield above the Arduino as shown in Figure 9. For
simplicity two drivers were used for the two stepper motors
(marked by 1 and 2 in Figure 9).
Fig. 9: Stepper Drivers with CNC Shield Connection
Other complementary components must be connected to the
CNC shield as shown in Figure 10.
Fig. 10: CNC shield Connection
The final completed project is shown in Figure 11.
Fig. 11: Final Project Connection
At the beginning all the required software must be setup in the
input unit (the computer). First Inkscape software was used
which converts images or text into a code called G code. G
code is a special code that consists of the dimensions of the
image (x, y, z) and such that it gives the way that the motors
move from one point to another and at specified speed. Then
the simulator or G Code sender was used. It communicates
with the CNC machine through the com port of the computer
which connected it with the microcontroller (Arduino) (com3
was the port in this design). Through the G Code sender the
image is opened as a link (by the Inkscape) and sent it to the
CNC machine. Finally the IDE software must be used to
program the Arduino. This program acts only as interface
through which the code is uploaded to the Arduino and knew
the com port.
4.1 Inkscape
Inkscape (see Figure 12) is a free and open-source graphics
editor. It is professional quality vector graphics software
which runs on Windows, Mac OS X and GNU/Linux. It is
used for creating G code for a wide variety of graphics such as
illustrations, icons, logos, diagrams, maps and web graphics
Fig. 12: Inkscape Software
International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
4.2 Simulator - G Code Sender
G Code Sender is a GRBL compatible, cross platform CNC
control software. Its features a highly optimized and
asynchronous (event-driven) UI and USB-to-Serial
communication and can be also used on computers with small
amount of RAM and CPU. It is used to transfer G Code files
to CNC machines running G Code interpreters (3D printers,
milling machines ...etc) (see Figure 13) [24].
Fig. 13: Simulator Software
4.3 Integrated Development Environment
Arduino IDE is a piece of free software that enables users to
program in the language that based on C/C++ and can even be
extended through C++ libraries. The IDE (see Figure 14)
enables users to write a computer program, which is a set of
step-by-step instructions that you then upload to the Arduino.
Arduino will then carry out those instructions and interact
with whatever you have connected to it. In the Arduino world,
programs are known as “sketches” [25].
Fig. 14: IDE Software
Figure 15 shows the project scheme in simple manner. It also
provides a complete understanding of the whole project
software and their roles.
Fig. 15: Simple Project Scheme
In this project, Small drawing machine or mini CNC was
built. It is a digital electromechanical machine with digital
control through a piece of wood and low cost components.
Two main axes (x & y) and a vertical axis (z) were used to
draw image or figure with a specific dimension and speed.
This project design was success prototype design since it can
draw any figure or image easily and in a short time as
compared to human drawing time.
The authors gratefully acknowledge Alfarabi University of the
pacific for their CNC project. The following individuals have
assisted the authors in gathering information and photos for
his research on CNC. With thanks, they are Omer Amer and
Abdulla Jamal.
[1] Nanfara F., Uccello T., Murphy D. 2001. The CNC
workshop. Prentice Hall, 2nd Edition.
[2] Karthick M., Sundarraj M. and Raja T. 2017. Design and
Control of ATC for Shorter Time Interval in CNC
Machines. IJMET, 8(3), 7788.
[3] Kumar A., Ganesh M. and Bindu G.H. 2016..
Application of CNC Milling in Manufacturing Turbine
Blades. IJCIET, 8(5), 801808.
[4] Kumar M. A., Krishnaraj J. and Reddy B. G. S. 2017.
Mini CNC 2D Sketcher for Accurate Building Drawing.
IJCIET. 8(6), 543549.
[5] Madekar K.J., Nanaware K.R., Phadtare P.R. and Mane
V.S. 2016. Automatic mini CNC machine for PCB
drawing and drilling. IRJET, 3(2), 11061110.
[6] Xu, X., Li, Y., Sun, J. & Wang, S. 2012. Research and
development of open CNC system based on PC and
motion controller. Procedia Engineering, 18451850.
[7] Pahole I., Rataj L., Ficko M., Klancnik S., Brezovnik S.,
Brezocnik M. and Balic J. 2009 .Construction and
evaluation of low-cost table CNC milling machine.
Scientific Bulletin, Series C, Mehcanics, Tribology,
Machine Manufacturing Technology, Vol.XXIII, 143-
[8] Yesaswi Ch.S., Subrahmanyam, T., Karthik, G.S.,
Sudheer, N .S. and Farooq, S. B. 2017.Modeling and
Analysis of A CNC Milling Machine Bed with Nano
Material (Graphene). IJMET, 8(5), 372379.
[9] Saifee A.M. and Mehta S.U. 2016. Design and
Implementation of FPGA Based G Code Compatible
CNC Lathe Controller. IJECET, 7(1), 2016, pp. 87-100.
[10] Computer Numerical Control,
[11] Armsrego E.J.A., Brown R.H., 1969. The Machining Of
Metals. Englewood Cliffs,N.J , Prentice Hall, 2nd Edition.
[12] Thomasforindustry
[13] WorthyHardwareCo.,
[14] Wikipedia,freeonlineencyclopedia,https://en.wikipedia.or
International Journal of Computer Applications (0975 8887)
Volume 178 No. 48, September 2019
[15] ESABcompany,
[16] E. Jameson, " Electrical Discharge Machining", Society
of Manufacturing Engineers, 2001.
[17] Wikimedia Foundation, Inc., USA (view at 25
May, 2019).
[18] Theyer G.E. 1991. Computer Numerical Control Of
Machine Tools. Butterworth-Heinemann.
[19] Techopedia,ITEducationSite,
[20] PinetreeElectronicsLtd,Canada
4/07/arduino-uno-cnc-shield-v3-0-a4988/ (view at 22
May, 2019).
[21] Smith A.G. 2011. Introduction to Arduino: A piece of
cake!, Alan G. Smith.
[22] LCSC Electronics, 2018. China's Leading Electronic
Components Distributor. Report on Arduino UNO
"Arduino UNO Datasheet", China
https"// /microcontroller/Arduino-
uno (view at 20 May, 2019).
[23] Softonic International, S.A. Barcelona,Spain (view at 3 April, 2019).
[24] Filecroco website for free software download, 2018.
sender/ (view at 5 April, 2019).
[25] ArduinoCompany,
ows (view at 3 April, 2019)
... The prototyping process used in Design Thinking is low-fidelity or Rapid Prototyping. This process emphasizes on making a fast, easy, cheap and basic manufacturing process [3]. ...
Full-text available
The plotter is a graphic printer that draws using ink pens, the plotter is also the first output device capable of printing large-sized images of architectural and engineering drawings. A plotter is a type of printer that is specifically designed to produce computer output in the form of images or graphics. There are many types of plotters, one of which is the pen plotter, which has one or more colored pens for drawing on transparent paper or plastic and producing a line output. CNC (Computer Numerical Controller) is one of the machine control tools in large industrial factories. With the CNC can control most of the tools one example is as a controller of a 2-dimensional plotter. This research designs a 2-dimensional plotter using Arduino UNO-based CNC. This 2-dimensional plotter has an accuracy of 97.947% and a precision of 99.985%. This 2-dimensional plotter is capable of operating up to a distance of 4cm with a resolution of 0.01cm.
... A mini CNC plotter machine was designed and fabricated to show how design and build a low cost Arduino plotter machine based on the open source hardware and software. The Arduino plotter machine has been dependent on the principle of Computer Numerical Control with limited area depends on the motion X, Y and Z axes [6]. A real-time operating system reduces the development period and the cost, and thereby greatly decreasing the program complexity in the design. ...
Full-text available
Writing is one of the most important modes of communication that is an essential element in our day to day life, but for some people it is an impossible task due to their disabilities. Drawing an image nowadays is done using various technologies. Computer Numerical Control (CNC) writing machine sketches picture controlled by a computer system. In this work a low-cost CNC based writing machine is designed and fabricated to ease the difficulties. To design this model three axis controlling unit is needed to control X, Y and Z axis position. X and Y axis can be controlled by two stepper motor and Z axis can be controlled by servo motor. The Dual axis writer helps in performing the writing task with the help of a 2-axis setup using lead screws and stepper motors. The stepper motor aids in accurate writing and designing of required shapes and letters. The objective is to design and fabricate a simplistic model of CNC writing machine and to reduce the cost of the machine.
Full-text available
Praktikum merupakan proses belajar mengajar, proses belajar ini bertujuan untuk menerapkan ilmu yang telah dipelajari di kelas. Tidak tersedia peralatan laboratorium membuat praktikum, untuk mengatasi masalah ini mencoba menugaskan mahasiswa membuat tugas akhir untuk merancang mesin CNC. Mesin ini bertujuan untuk meningkatkan keterampilan dan pemahaman siswa tentang pengirim kode-G untuk menerapkan mesin ini. Desainnya dengan mesin CNC 3 sumbu mini, dengan pengukuran terbatas dan objek material hanya terbatas pada kayu. Mesin CNC mini 3 axis dikendalikan menggunakan software arduino uno dan dioperasikan oleh komputer. Perancangan mesin CNC mini 3 axis ini dibuat menggunakan solidwork, rangka mesin terbuat dari triplek 12 mm,pengujian dilakukan dimana mesin bekerja secara otomatis dan manual juga menggunakan aplikasi Universal G - Code Sender. Setelah menjalankan mesin, penyimpangan ditemukan pada dimensi uji. Yaitu: sumbu x 0,375/mm, sumbu y 0,368/mm dan sumbu z 0,4/mm. Penyimpangan dimensi dan penyimpangan sumbu karena tidak dapat menginput data spesifikasi alat desain ke dalam aplikasi Universal G - Code Sender, dan terdapat perbedaan respon perangkat lunak dan perangkat keras terhadap spesifikasi alat standar untuk proses eksekusi.Kata kunci: Praktikum, software, hadrware , G - code , deviasi.
Full-text available
This research work describes the design and fabrication of a mini Computer Numerical Control (CNC) two dimensional (2D) sketcher for accurate building drawing. The main components of this low cost mini CNC 2D sketcher are ATMEGA 328 controller, CD/DVD writer, Stepper motors, Servo motor, motor drivers and battery. This whole system is working based on G codes. The ATMEGA 328 Controller converts the G codes which required for sketching the building drawing into a readable format by the motor driver. This sketcher can also be used in other applications like Printed Circuit Board (PCB) drawing and drilling, Electrical Discharge Machining (EDM), metal removal and fabrication, lettering and logo engraving.
Full-text available
The paper presents the low-cost design of the table CNC milling machine. It describes the structure of the machine suitable for domestic modeling. In the continuation the tests and checking of static rigidity, positioning accuracy and repeatability are discussed. Further, the control of the machine is presented. In the end the description and presentation of the manufacture of the test product and findings follow.
The present work aims Modeling, Analysis and Manufacturing of Turbine Blade model by using CNC Milling Machine., Analysis by ANSYS Software and Manufacturing by CNC vertical machining centre. CNC Milling along with CAD/CAM technologies are being used in almost all the industries in manufacturing sector, In Order to improve the productivity at the same time with high precision of machining. The modeling of model is to be done by using the part programme with G-Codes, M-Codes and the part programme generates by the cam module. The machining of model is carried out in CNC vertical machining centre. A part from the live model, we also perform simple model analysis of a wing of the airplane and finding the natural frequencies and mode shapes. The wing will have a uniform cross section along its length. The wing fixed to the body of the aero plane at one end and hangs freely at the other end. The advantages of this project, comparing with conventional machines, found that, it is more flexible, high accuracy, good finish and also Complex shape. We can also read the results of analysis like deformed shapes, plotting the mode shapes, stresses, etc.
The materials utilized as a part of a machine device have an unequivocal part in deciding the efficiency and exactness of the part made in it. The regular basic materials utilized as a part of exactness machine apparatuses, for example, cast iron and steel at high working velocities create positional mistakes because of the vibrations moved into the structure. Quicker cutting rates can be procured just by structure which has high firmness and great damping attributes. We know that by experiences life of a machine is inversely proportional to the levels of vibration that the machine is subjected. The further procedure is completed to experience the distortion, normal recurrence and removal utilizing Static examination, Modal investigation and Harmonic individually. Since the bed in machine apparatus assumes a basic part in guaranteeing the exactness and precision in segments. Is a standout amongst the most critical apparatus structures which have a tendency to retain the vibrations coming about because of the cutting operation. To break down the bed for conceivable material changes that could build solidness, diminish weight, improve damping characteristics. In this paper constant load is applied on a bed with and without Nanocoating on the material and with composite materials. Graphene is used for coating basing on strength and thermal properties. Modelling of the bed was carried out in Solidworks and ANSYS is used for structural analysis. By comparing the stress distribution and deformation in the bed by changing its material with the previous. Finally this thesis summarizes the suitable materials can be used as machine bed material.
This project focuses on the design and control of Automatic Tool Change (ATC) system in CNC machineries to reduce the time interval during tool change process. Here three methods are used in this project, whereas the first method is the set of mathematical logics is used to find the shortest distance in Tool magazine during tool change. The second method is the use of Rotary encoder in the Magazine motor, In the present system the digital input (count sensor) is used to count the pocket movement in the magazine using Cam movement(Fixed position) from one pocket to another pocket, but the time interval between pocket to pocket is more. Hence to reduce this time, rotary encoder is being used to read each pocket positions through high pulse input. The third method is the creating and interfacing the Tool change database in Auto mode during machining, the detailed analysis of these three methods is shown below.
Electrical Discharge Machining explains the theory behind the spark, how the spark is controlled, what causes overcut, and the importance of the dielectric fluid. With regard to the workpiece, it clearly explains the basic elements behind the effect the spark has on metallurgy and how the surface finish is produced and controlled. A host of other EDM topics, including the historical development of EDM, basics of the EDM machining system and process, the power supply (generator), spark voltage, electro servo systems, and more are also covered.
Automatic mini CNC machine for PCB drawing and drilling
  • K J Madekar
  • K R Nanaware
  • P R Phadtare
  • V S Mane
Madekar K.J., Nanaware K.R., Phadtare P.R. and Mane V.S. 2016. Automatic mini CNC machine for PCB drawing and drilling. IRJET, 3(2), 1106-1110.
The Machining Of Metals
  • E J A Armsrego
  • R H Brown
Armsrego E.J.A., Brown R.H., 1969. The Machining Of Metals. Englewood Cliffs,N.J, Prentice Hall, 2 nd Edition.
Computer Numerical Control Of Machine Tools
  • G E Theyer
Theyer G.E. 1991. Computer Numerical Control Of Machine Tools. Butterworth-Heinemann.
Introduction to Arduino: A piece of cake!
  • A G Smith
Smith A.G. 2011. Introduction to Arduino: A piece of cake!, Alan G. Smith.