Design and Implementation of 2D CNC Plotter Using Arduino
R. Suresh., Ameen Yussuf., Shijin A J., V. Venkatesh., Ismail Aijaz Ahmed
Department of Mechanical Engineering, M S Ramaiah University of Applied Sciences
Bengaluru, India 560058
DOI: https://doi.org/10.51244/IJRSI.2025.12060092
Received: 18 June 2025; Accepted: 22 June 2025; Published: 11 July 2025
This project involves the development of a compact, affordable CNC X-Y plotter capable of handling paper sizes from A1 to A10. Designed for applications like PCB layout, architectural drawings, mandala art, and laser engraving, the machine features an H-frame structure with a belt drive mechanism for high speed and precision. It uses NEMA 17 stepper motors, an Arduino Uno with a CNC Shield V3, and operates through G-code generated in Inkscape 2024. The tool head supports interchangeable modules (pen, marker, laser) and is mounted on a T-slot aluminum frame for durability and ease of assembly. Testing confirmed smooth, accurate, and repeatable output, making it ideal for students, makers, and small-scale users
Keywords: CNC Plotter, Arduino Uno, Laser Engraving, G-code, Modular Tool Head, Stepper Motor, CNC Shield V3.
Computer Numerical Control called CNC plotters are designed to automatically and accurately draw circuit layouts, text, or graphics on a range of surfaces. Due to these methods’ accuracy, speed, and capacity to minimize human error, they are increasingly being used in industrial instructional and developmental settings [1]. This project’s X-Y plotter, which draws or writes a two-dimensional information for the rectangular coordinate system, has different applications, such servo motors and stepper motors, which are differentiated by their peak torque capabilities, cost, and speed range for system improvement [2]. Plotters are computer printers used to print vector drawings. If a tangible copy of the output is required, a plotter can supply it. Additionally, it can use a pen that is part of this prototype to draw pictures on paper. Pen plotters use a system that involves moving a pen or other tool across a piece of paper to print [3]. A frame or chassis, linear motion systems, a pen holder or stylus assembly, and a writing or drawing surface are usually included in the device’s mechanical construction. The pen or stylus’s movement in the x, y, and occasionally z directions is controlled by linear movement systems such servo motors or stepper motors [2]. A frame or chassis, linear motion systems, a pen holder or stylus assembly, and a writing or drawing surface are usually included in the device’s mechanical construction. The pen or stylus’s movement in the x, y, and occasionally z directions is controlled by linear movement systems such servo motors or stepper motors [2]. The software named (Inkscape) is used to convert textual content into G-code and via UGS (Universal G-code Sender) the data is fed to Microcontroller. The Microcontroller feeds text content converted into G-code to CNC machine. G-code is supported by the part programmer to specify the co-ordinates of the point which are moved and providing the normal vector to the surfaced at desired point. Arduino Nano with Atmega328 controls the overall motion of the motors. According to the instructions from the controller are sent to the motor drivers to perform particular task which was given by the user [2]. This project focuses on developing a high-precision CNC plotter capable of handling various drawing tasks with minimal human interaction. In the evolving world of engineering and manufacturing, Computer Numerical Control (CNC) technology plays a vital role in automating repetitive and precision-based tasks. A CNC plotter is a specialized type of CNC machine designed for two-dimensional operations, such as drawing or engraving, where a pen, marker, or laser replaces the traditional cutting tool. The CNC plotter interprets G-code commands to control the movement of the tool across the X and Y axes, enabling the creation of accurate and repeatable designs.
Arpita Chirde, Puja girhe, Shubham yenkar 2018: “Arduino Based Cost Effective CNC Plotter Machine”. CNC (computer numerical control) plotters have gained significant attention due to their ability to perform precise automated drawing tasks across a variety of domains including pcb printed circuit board design architectural drafting creative sketching and even vinyl cutting and laser engraving traditional manual methods of drawing often result in inconsistencies and consume considerable time and effort cnc plotters by contrast offer high repeatability accuracy and efficiency these advantages have positioned cnc plotters as essential tools in fields where precision and productivity are paramount [8].
Barra Jabbar, Sujud Abd Alstar, Ahmed Yahya, Ahmed Jasim 2018: “Prototype CNC machine design”. The literature surrounding cnc plotters reflects a shift toward making these machines more affordable and adaptable in earlier designs industrial-grade cnc machines were expensive and complex limiting their use to large-scale operations however with the advent of microcontrollers like arduino and affordable components such as nema 17 stepper motors cnc technology has become accessible to students educators hobbyists and small-scale manufacturers for example hyder et al 2020 and hasan et al 2019 demonstrated how simple microcontroller-based cnc machines could be built at low cost while maintaining acceptable levels of precision and control [9].
Md. Mahedi Hasa, Humayun Rashid, Nawsher Ahmed, Abu Tayab Noman 2019: “Design and Implementation of a Microcontroller Based Low-Cost Computer Numerical Control (CNC) Plotter using Motor Driver Controller”. The h-frame design using gt2 timing belts is favored in many modern low-cost cnc plotters due to its high speed smooth operation and relatively low noise levels applications requiring medium accuracy and low weight are especially well-suited for this design it is also cost effective and easier to maintain however the literature notes that under heavy loads belt slippage can occur leading to slight reductions in accuracy over extended use girhe et al 2018 and ranjan et al 2018 emphasized the practical balance this design offers between speed precision and affordability making it a suitable choice for educational and small scale commercial environments [10].
Dr. Sheikh Muhammad Humayun Kabir Md. Mazharul Islam 2022: “Selection of Kinematic Structure for Portable Machine Tool”. Despite these developments, there are several limitations commonly cited in the literature. One major issue is the lack of flexibility in paper sizes. Most commercially available CNC plotters are configured for a single sheet size, such as A4, making them less versatile for larger or smaller formats. This limitation reduces their utility in applications like architectural drafting or large-scale artwork. Another frequent concern involves structural integrity. As noted by Sushir et al., frames built without proper reinforcement or material selection can experience vibrations or mechanical failure, especially when driven by powerful motors. Additionally, many CNC plotters still require the operator to have knowledge of G-code or other control scripts, creating a barrier for casual users or those without technical training [11].
Syed Fazle Hyder, Mohammed Ibrahim, Mohd Zeeshan Adan, Fazal Mohammed 2020: “CNC PLOTTER MACHINE”. Several researchers have focused on minimizing these issues by developing simplified user friendly solutions arduino-based controllers have become a cornerstone of such efforts offering easy programming open-source flexibility and widespread community support cnc shield v3 boards for example make the process of wiring and controlling motors more straightforward nema 17 stepper motors are also popular in these structures due to their compact size reliability and precision together with gt2 belts and 3d-printed or aluminum frame components these elements contribute to a modular scalable and low cost system suitable for academic and prototyping use [12].
R. D Shushir, S.S.Bhutada, P.N. Pusdekar Dec 2020: “CNC Based Portable Pen Plotter”. To support structural performance and ensure durability, structural analysis such as Finite Element Analysis (FEA) is often applied. This analysis helps identify stress points and deformation risks within the X and Y axes of the plotter frame. Work by Ahmed (2018) and Nowak & Jastrzębski (2022) stressed the importance of kinematic design optimization to increase load-bearing capacity and minimize vibration-related failures. The goal in many modern designs is not only to achieve functionality but also to ensure long-term operational reliability and user safety [13].
Mr. Amar H. Pandule, Mr. Ganesh N. Bandgar, Mr. Shubham B. Kale, Mr. Chaitanya A. Wamborikar June 2022: “CNC X-Y Plotter”. A comparative view of the literature reveals a few critical themes. Firstly, cost reduction remains a major driver behind most innovations in CNC plotter design. Secondly, increasing the user-friendliness of these machines—through GUI-based interfaces, plug-and-play electronics, and compatibility with standard file formats—can significantly broaden their adoption. Finally, adaptability and scalability, particularly in terms of sheet size and mechanical robustness, are essential features that are still being refined [14].
Shweta Ranjan Dr. Manmohan Singh Shani Ranjan Mani Rani May 2018: “Design and Implementation of Low-Cost 2D Plotter CNC Machine”. Traditionally, CNC machines were large and fixed installations intended for workshop environments. However, with miniaturization of components and the availability of lightweight structural materials like aluminum T-slot extrusions and PLA (Polylactic Acid) 3D-printed parts, researchers such as Masri and Theeb (2021) have developed portable pen plotters capable of producing professional-grade outputs on-the-go. These designs cater especially to students, educators, and professionals who need a mobile solution for presenting or prototyping ideas in real time [15].
Sara raad qasim Haider Mohammad Mustafa Falah Sep.2019: “Accurate and Cost-Effective Mini CNC Plotter”
A critical area that multiple authors have explored is system calibration and error correction. Precision is a cornerstone of CNC plotter performance, but several studies indicate that even minor misalignments in the axis, motor steps, or belt tension can lead to cumulative errors in output. To address this, automatic homing routines and limit switches have become standard in modern designs. Pabalu and Shrinivas (2010) emphasized the use of optical encoders and feedback mechanisms to adjust real-time motor movements, thus ensuring positional accuracy. Although these additions may slightly increase the cost, the improvement in reliability often justifies the investment, especially in professional applications such as PCB routing [16].
Brahim Masri Rami Theeb Dec 2021 “Image Visualizing Pen Plotter”. From a cost-benefit analysis perspective, the reviewed literature shows a clear shift from using proprietary or industrial-grade components to open-source ecosystems. For instance, while traditional CNC machines relied on complex and often proprietary control systems, recent implementations leverage open-source software like GRBL (an open-source G-code interpreter for Arduino) or Universal G-code Sender. This move reduces the entry barrier for new users and encourages community-based innovation. Projects documented by Girhe et al. (2018) and Pandule et al. (2022) demonstrate how this ecosystem not only reduces cost but also allows for rapid prototyping and debugging, thanks to the vast community support and shared code libraries [17].
Ease of use
Making ensuring the system could be used by a broad range of users, including students, teachers, hobbyists, and small-scale innovators, with little technical knowledge was one of the main goals of the CNC plotter project’s creation. This was made possible by a number of crucial technology and design choices.
User-friendly Software Int
The open-source vector graphic program Inkscape 2024, which has integrated g-code generation extensions, is integrated into the CNC plotter. Because it contains features comparable to those of InDesign Coreldraw or Xara X, we believed that Inkscape, an open source vector graphics editor that employs the W3C standard scalable vector graphics svg file format, should be used [5].
Plug-and-play Electronics
The system operates using an Arduino Uno combined with a CNC Shield V3, which streamlines both the wiring process and initial setup. It utilizes GRBL firmware, enabling seamless execution of standard G-code instructions. The modular design of the shield helps reduce user mistakes and significantly shortens the setup duration, making it accessible even for beginners [2].
Modular Hardware Design
Pens, markers, or laser modules can be used with the plotter’s modular tool head. Tool variety without reconfiguration is made possible by quick-swap capabilities, which also reduces downtime. This improves usability in a variety of applications, such as mandala painting and PCB layout [7].
Simplified Assembly and Maintenance
The mechanical chassis is constructed using t-slot aluminium extrusions, which provide seamless functioning of the belt and allow for easy installation with basic instruments and flexibility for modifications or additional driven h-frame design allows for rapid belt replacement or tightening without requiring specialized knowledge [7].
Accessibility and Training Requirement
The use of open-source electronics, standard stepper motors (NEMA 17), and widespread documentation ensures that new users can find abundant tutorials and community support. Minimal training is needed to operate the system, and clear visual feedback (such as stepper motor motion or drawing path) helps users understand and control the system intuitively.
Components Used
Arduino Uno
Using computer instructions, the Arduino microcontroller—in this case, an Arduino Uno R3—regulates the position of the stepper motor. The microcontroller is an open-source platform with easy-to-use software and hardware. It can be integrated with a variety of expansion boards, thanks to its six analog and fourteen digital input/output pins [18].
Fig 4.1: Arduino Uno
CNC Shield
CNC shield V 3.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 5 It is very convenient to use with the microcontroller (Arduino) such that it is placed above the Arduino [18].
Fig 4.2 CNC Shield
Stepper Driver
Stepper motor drivers have been developed to power stepper motors which even without a feedback system can rotate endlessly with precise position control multiple step resolutions adaptable current management and simple step and motion inputs may all be used to drive a stepper motor thanks to their included translators this project uses two drivers to provide power to the two stepper motors [18].
Fig 4.3 Stepper Driver
Stepper Motor
In CNC plotters stepper motors are major components that translate electrical signals into supervise and correct motion these motors rotate in fixed increments allowing exact control of location without the need for feedback systems usually two stepper motors manage the x and y axes guiding the sketching tool to form accurate designs their role is vital in regulating movement speed maintaining drawing precision and ensuring consistent performance of the CNC system the step-by-step operation of these motors makes them ideal for use that demand high control and repeatability [18].
Fig 4.4: Stepper Motor
Servo Motor
A servo motor is responsible for managing the pens vertical movement along the z-axis in a cnc plotter it operates by receiving timing signals that define the angle of rotation these signals sent as varying pulse widths allow precise positioning through a method known as PWM pulse width inflection the microcontroller generates these pulses guiding the servo via a control wire to lift or lower the pen exactly when needed enabling accurate transitions between drawing and non-drawing states [18].
Fig 4.5: Servo Motor
Fig 5.1: Circuit Diagram
Circuit diagram
In Arduino development, the core program written using the Arduino IDE—commonly referred to as a sketch—is eventually compiled into a Hex file. This file is then uploaded to the microcontroller on the Arduino board. The Arduino IDE consists primarily of two essential components: the Editor, where users write and modify code, and the Compiler, which processes the code and transfers it to the hardware. An initial test run is essential to verify that all system connections are properly established. For controlling a pen plotter, however, it becomes necessary to convert input text into digitized form and assign specific coordinates for accurate plotting. In this context, Inkscape serves as a powerful, open-source vector graphics software. It allows users to design vector-based graphics—mainly in SVG (Scalable Vector Graphics) format—which can be imported, edited, and exported for various applications. Inkscape supports the creation of basic vector shapes like rectangles, circles, stars, spirals, polygons, and 3D boxes, along with text. These elements can be customized with solid fills, gradient effects, patterns, and transparent strokes. Additionally, they can be manipulated using various transformation tools such as move, scale, rotate, skew, and more—making it an ideal companion for precision tasks like pen plotting [19].
Calculations
R=6.38 mm ~0.00638 m
Number of teeth= 20
GT2 belt pitch= 2mm
Stepper motor: NEMA 17, 1.8°/step ⇒ 200
Micro stepping: (A4988)
Pulley teeth: GT2 20T (20 teeth)
Belt pitch: GT2 = 2 mm
Steps/mm =
Steps/mm = = 80 steps/mm
Linear movement per revolution:
=
F=Force (N)
R=Radius (m)
%Used =0.38%
Technical specification
Table 7.1: Technical Specification
Plotting Area | 656.14 × 600.14 (mm) |
End Mill | Pen width 0.15 (mm) |
Material dimensions | 852 × 778 (mm) |
Angle Rotation | 0 – 360° |
Time to draw | Depends on drawing complexity |
Plotting Area – 656.14 × 600.14 mm: This defines the maximum working area within which the pen plotter can move and draw. It determines the printable or drawable boundary on the material surface. A larger plotting area allows for handling bigger drawings or multiple smaller ones in a single operation without repositioning the material.
End Mill (Pen Width) – 0.15 mm: Although commonly used for CNC machining, here “End Mill” refers to the drawing tool—in this case, a pen—with a fine tip width of 0.15 mm. This precision ensures high-resolution output suitable for detailed vector art, text, or schematics, making it ideal for applications like circuit drawing, fine sketching, or architectural layouts.
Material Dimensions – 852 × 778 mm: These are the maximum dimensions of the raw material or sheet that can be placed on the plotting surface. The material size is generally larger than the plotting area to accommodate clamping space and margin buffers during operation.
Angle Rotation – 0° to 360°: This refers to the capability of the pen holder or the tool head to rotate a full 360 degrees. It enhances flexibility and allows complex designs or directional plotting without needing to reposition the material. Such rotation is particularly useful when drawing curved paths or rotating symbols/text.
Time to Draw – Depends on Drawing Complexity: The drawing duration varies based on the intricacy of the design, including the number of vector paths, line density, and required detail. Simple geometric shapes may take a few seconds, while highly detailed illustrations could take several minutes or more. Speed is also influenced by motor performance, plotting algorithm, and pen lift mechanics.
Cad model of h-fame cnc plotter
This is the full 3D CAD assembly of the entire CNC plotter, combining all structural, mechanical, and electronic components. It visually confirms how each part fits together from the guide rails to the pen holder and control box, offering a complete view of the final design ready for fabrication.
Fig 8.1 Cad model of H-Frame CNC Plotter
Fig 8.2 Cad model of head / holder
Cad Model Head / Holder
This CAD model represents the pen or tool holder mounted on the moving gantry. The cylindrical clamp in the center is designed to hold a pen or drawing tool with a diameter of 18 mm. This module also integrates components such as vertical guide rods and mounts that ensure stable Z-axis movement.
The aluminum extrusion profile used as the main frame structure of the plotter. The T-slot allows for easy attachment of linear rails, supports, and other components, providing flexibility and modularity to the design.
Fig 10.1: Drafting of Individual components
Drafting of cad models
Fig 10.2: Drafting of Individual components
Fig 10.3: Drafting and bill of materials of CNC Plotter
Software tools
Inkscape
Inkscape is a free and open-source vector graphics editor widely used for creating and editing vector-based artwork, including diagrams, illustrations, logos, charts, and complex line art. Its default file format is SVG (Scalable Vector Graphics), though it also supports a wide range of file types for both import and export operations [21].
One of the key functionalities of Inkscape is its ability to convert digital images into G-code format, which is essential for controlling CNC machines and plotters. Users can easily load an image, resize it to the desired dimensions, trace its outline or internal elements, and then generate the corresponding G-code [21].
The software offers a wide array of drawing tools for rendering basic geometric shapes like rectangles, ellipses, polygons, arcs, spirals, stars, 3D boxes, and textual elements. These objects can be customized with solid fills, colour gradients, patterns, and adjustable stroke transparency. Inkscape also allows transformations such as scaling, rotating, skewing, and repositioning, providing flexibility in design layout [21].
Additionally, raster images can be embedded or traced to create clean, scalable vector paths. Once the design is finalized, the user can save the artwork as a G-code file, which can be loaded into a compatible processing or plotting software. The system then reads these instructions and executes the drawing operation accordingly [21].
User interface of Inkscape software
For precise plotting tasks, a vector-based design of a mandala pattern was created and edited using Inkscape, an open-source vector graphics editor. The artwork was prepared on an A4-sized document (210 mm × 297 mm) as shown in the document properties window. In Inkscape, vector paths are used instead of raster images to ensure sharp, scalable designs compatible with CNC plotting. The design was positioned and scaled appropriately to fit within the working area of the CNC plotter [21].
Once the design was finalized, the Trace Bitmap tool in Inkscape was used to convert the raster image into a vector path. The tool operates by detecting brightness levels to distinguish black outlines from the white background. Parameters like threshold, smooth corners, and optimization were adjusted to ensure clean and continuous curves for smooth pen movement. This step is crucial for generating clean G-code or control commands for the plotter [21].
Fig 11.1 Vector Graphic Design and Plotting Setup
Fig 11.2 Mandala Design Conversion and Final Layout
Fig 11.3 AxiDraw Control Setup
The CNC plotter project was successfully completed with the design, fabrication, and testing of an H-frame belt-driven system. The plotter demonstrated accurate and smooth plotting on paper sizes ranging from A1 to A10, with reliable motion control and minimal errors. The integration of Arduino with stepper motors and a servo-based pen mechanism ensured precise output and ease of use. Overall, the project met its objectives in terms of performance, cost-effectiveness, and versatility, proving suitable for applications like PCB layout, artwork, and educational demonstrations.
Fig 12.1 Final Assembly of CNC Plotter
Fig 12.2 Ramaiah Logo
Fig 12.3 Car blueprint
Fig 12.4 Glass Etching
Fig 12.5 Engine Block
The CNC plotter project was successfully completed by designing, fabricating, and testing an H-frame belt-driven system integrated with Arduino-based electronics. The machine performed well in plotting various tasks including sketches, engineering drawings, and logos with consistent accuracy and minimal errors. The system was able to handle paper sizes from A1 to A10, proving its flexibility and practical application for educational, artistic, and light engineering use. The combination of low cost, modular design, and open-source software made the plotter accessible and easy to operate, even for users with limited technical experience. All project objectives were met effectively, and the final outcome reflects a reliable and efficient solution for precision 2D plotting.