CNC Drawing Machine
BY
Md. Ariful Haque ID: 171-15-9037
This Report Presented in Partial Fulfillment of the Requirements for the Degree of Bachelor of Science in Computer Science and Engineering
Supervised By
Fahad Faisal Assistant Professor Department of CSE
Daffodil International University
DAFFODIL INTERNATIONAL UNIVERSITY DHAKA, BANGLADESH
MAY 2021
APPROVAL
This Project titled “CNC Drawing Machine”, submitted by Md. Ariful Haque to the Department of Computer Science and Engineering, Daffodil International University, has been accepted as satisfactory for the partial fulfillment of the requirements for the degree of B.Sc. in Computer Science and Engineering and approved as to its style and contents.
The presentation has been held on May 31, 2021
BOARD OF EXAMINERS
Dr. Touhid Bhuiyan Chairman
Professor & Head
Department of Computer Science and Engineering Faculty of Science & Information Technology Daffodil International University
Md. Zahid Hasan Internal Examiner
Assistant Professor
Department of Computer Science and Engineering Faculty of Science & Information Technology Daffodil International University
Md. Riazur Rahman Internal Examiner
Assistant Professor
Dr. Md Arshad Ali External Examiner Associate Professor
Department of Computer Science and Engineering
Hajee Mohammad Danesh Science and Technology University
DECLARATION
We hereby declare that, this project has been done by us under the supervision of Fahad Faisal, Assistant Professor, Department of CSE Daffodil International University. We also declare that neither this project nor any part of this project has been submitted elsewhere for award of any degree or diploma.
Supervised by:
Fahad Faisal Assistant Professor
Department of Computer Science and Engineering Daffodil International University
Submitted by:
Md. Ariful Haque ID: -171-15-9037
Department of Computer Science and Engineering Daffodil International University
ACKNOWLEDGEMENT
First we express our heartiest thanks and gratefulness to almighty God for His divine blessing makes us possible to complete the final year project successfully.
We really grateful and wish our profound our indebtedness to Fahad Faisal, Assistant Professor, Department of CSE Daffodil International University, Dhaka. Deep Knowledge & keen interest of our supervisor in the field of “Robotic” to carry out this project. His endless patience ,scholarly guidance ,continual encouragement , constant and energetic supervision, constructive criticism , valuable advice ,reading many inferior draft and correcting them at all stage have made it possible to complete this project.
We would like to express our heartiest gratitude to Dr. Touhid Bhuiyan, Professor, and Head, Department of CSE, for his kind help to finish our project and also to other faculty member and the staff of CSE department of Daffodil International University.
We would like to thank our entire course mate in Daffodil International University, who took part in this discuss while completing the course work.
Finally, we must acknowledge with due respect the constant support and patients of our parents.
ABSTRACT
Computer numerical control (CNC) machining is a term commonly used in manufacturing and industrial applications. Most of the manufacturing company used industrial robot for much production. The aim of this project is show how a CNC machine work and building a mini CNC based drawing and writing machine using Arduino, CNC shield and other open source software and firmware. It works in 3-axis X, Y and Z. Universal Gcode Sender used to send G-Codes to the Arduino board. Arduino generate signal and control motion for stepper motors with the help of Grbl interpreter.
Motor driver help the stepper motor to move 2-axis (X and Y) in five micro stepping level and Its travel the exact defined position. Trapezoidal threaded rod attached with the motor. Using motor rotational power, it travels X and Y axis smoothly and a servomotor attached with the pen. When servomotor up pen goes to the rest position when it down pen touch the paper surface and do work like a human hand writing. CNC shield have some function like Emergency-STOP, Resume, Hold and many others. This CNC drawing machine work like a CNC milling machine. It can draw any design following the bitmap. In this paper I will describe more about CNC drawing machine which is work like CNC milling machine.
TABLE OF CONTENTS
CONTENTS
PAGEBoard of examiners i
Declaration ii
Acknowledgements iii
Abstract iv
CHAPTER
CHAPTER 1: Introduction
11.1 Introduction 1
1.2 Motivation 1
CHAPTER 2: Material
2-132.1 Frame 2
2.2 Arduino Uno 3
2.3 CNC Shield V3 4
2.4 A4988 Stepper Motor Driver 5
2.5 Stepper motor 8
2.6 Servomotor 9
2.7 Trapezoidal threaded rod 10
2.8 Linear shaft and Linear ball bearing 11
2.9 Beam coupling 12
2.10 Bearing and Caster Wheel 12
2.11 Control panel 13
2.12 Power supply 13
CHAPTER 3: Software and Firmware
14-173.1 Grbl 14
3.2 Inkscape 16
3.3 Universal Gcode Sender 17
CHAPTER 4: Hardware Assembling
18-194.1 Arduino UNO, Arduino CNC Shield V3, A4988 installation 18
4.2 Servomotor and Pen holder installation 19
CHAPTER 5: Machine Calibration
20-215.1 Axis calibration 20
5.2 Speed calibration 21
CHAPTER 6: Summary, Conclusion, Recommendation and Implication for Future Research
22-23
6.1 Summary of the Study 22
6.2 Conclusions 22
6.3 Recommendations 22
6.4 Implication for Further Study 23
APPENDIX
24-32Appendix A 24
LIST OF FIGURES
FIGURES PAGE NO
Figure 2.1.1: Numbering according to sub sections 2
Figure 2.2.1: Arduino Uno SMD R3 3
Figure 2.3.1: CNC Shield V3 Pinout Instructions 5
Figure 2.4.1: A4988 Stepper Motor Driver & Heat sink 6 Figure 2.4.2: A4988 Stepper Motor Driver Pinout Instructions 7
Figure 2.5.1: 28BYJ-48 Unipolar stepper motor 8
Figure 2.5.2: Unipolar and Bipolar configuration 9
Figure 2.6.1: Mini Servo SG90 10
Figure 2.7.1: Trapezoidal threaded rod 10
Figure 2.8.1: Linear shaft and Linear ball bearing 11
Figure 2.9.1: Beam coupling 12
Figure 2.10.1: Bearing 13
Figure 2.10.2: Caster Wheel 13
Figure 2.11.1: Control panel 13
Figure 3.1.1: Arduino CNC machine overview 14
Figure 3.1.2: Supported G-Codes in v1.1 15
Figure 3.2.1: Inkscape 16
Figure 3.3.1: Universal Gcode Sender 17
Figure 4.1.1: Arduino UNO, Arduino CNC Shield V3, A4988 installation 18 Figure 4.2.1: Servomotor and Pen holder installation 19
Figure 5.1.1: Axis calibration 20
Figure 5.2.1: Speed calibration 21
Figure A1: Configuration of speed value 24
Figure B1: Vector image 25
Figure B2: Universal Gcode sender 32
LIST OF TABLES
TABLES PAGE NO
Table 2.4.1: A4988 stepper motor driver microstep resolution 7
CHAPTER 1 INTRODUCTION
1.1 Introduction
In this age of modern science, Computer Numerical Control (CNC) milling machine is a powerful machine. Industries using many different types of CNC milling machines, like 3D printers, laser cutters, wood designs, auto drilling, water jet cutters, and many others.
With the help of CNC technology, I developed a drawing machine. This machine work in 3-axis (X, Y, Z).
As worldwide interest for CNC machined items develops and changes, a wide assortment of advancements are at present occurring in the CNC machining industry. Some factories fully depend on their industrial robots because it increases efficiency, improved quality, profitability and many more. Industrial 3D printing is also growing rapidly. So, we can understand the importance of CNC milling machine.
I want to develop this CNC drawing machine to understand more about CNC milling machine.
1.2 Motivation
My early research was on the CNC milling machine, but making a CNC milling machine requires good investment. Finally, I thought to build a CNC drawing/writing machine that is similar to the CNC milling machine. We know the CNC milling machine has a huge demand in world wide.
CHAPTER 2 Material
2.1 Frame
Frame is the basic and important part of this machine because it is a main infrastructure.
It is holding so many parts like Motor, Trapezoidal screw rod, Linear shaft, Bearing, Caster wheel, Pen etc.
Figure 2.1.1: Frame of the machine
2.2 Arduino Uno
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller.
Figure 2.2.1: Arduino Uno SMD R3
The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. It has fourteen digital I/O pins (6 pin are capable of PWM output), six analog I/O pins, and it is programmable with the Arduino IDE (Integrated Development Environment), via a Type-B USB cable.
Arduino Uno SMD R3 specification:
Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V Input Voltage (limit) 6-20V
Digital I/O Pins 14 (six provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 20 mA DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader
SRAM 2 KB
EEPROM 1 KB
Clock Speed 16 MHz
2.3 CNC Shield V3
CNC shield V3 is used as driving shield for engraving machines, Automatic Writing and Drawing Machine, 3D printers, Laser cutting etc. It is fully compatible with Arduino Uno SMD R3. It has total 4-way pin slots for stepper motor drive modules to drive 4-channel stepper motors. Uses GRBL as control software. Support removable stepper motor driver DRV8825 or A4988. We can use jumpers to set Micro-Stepping.
Figure 2.3.1: CNC Shield V3 Pinout Instructions [10]
2.4 A4988 Stepper Motor Driver
The A4988 is a Micro Stepping Motor Driver. It has output drive capacity of up to 35 V and ±2A.
It has total 16 pin.
Five different step size(resolution): full, 1/2, 1/4, 1/8 and 1/16
Adjustable current control we can set the maximum current output with a potentiometer, Voltages above the stepper Motor’s rated voltage to achieve higher step rates.
Figure 2.4.1: A4988 Stepper Motor Driver & Heat sink
Figure 2.4.2: A4988 Stepper Motor Driver Pinout Instructions
The A4988 driver has 3 step resolution selector inputs viz. MS1, MS2 and MS3. By setting fitting rationale levels to these pins we can set the engines to one of the five stage goals.
TABLE 2.4.1: A4988 STEPPER MOTOR DRIVER MICROSTEP RESOLUTION
MS1 MS2 MS3 Microstep
Resolution
Low Low Low Full
High Low Low 1/2
Low High Low 1/4
High High Low 1/8
High High High 1/16
2.5 Stepper motor
Stepper motor is a brushless DC electric motor that move in discrete steps. It has various coils that are coordinated in bunches called "phases". By energizing each phase in a sequence, the motor shaft will rotate, one step at a time.
Two stepper motor required.
One stepper motor is for X axis and another is for Y axis.
Figure 2.5.1: 28BYJ-48 Unipolar stepper motor
There are two-phase stepper motors i. Unipolar motors
ii. Bipolar motors
Figure 2.5.2: Unipolar and Bipolar configuration
In my case I have 28BYJ-48 Unipolar stepper motor. So we converted unipolar to bipolar stepper motor by removing common red wire because of CNC shield has 4-wire provision. We can convert unipolar to bipolar only. We cannot convert bipolar to unipolar.
2.6 Servomotor
Servomotor is a rotary actuator or linear actuator that allows for proper control of angular or linear position, velocity and acceleration. I used rotary actuator type servomotor and the model is Mini Servo SG90.
One servomotor required.
Parts of servomotor:
Motor
Reduction gearbox
Encoder
Control circuit
Figure 2.6.1: Mini Servo SG90
2.7 Trapezoidal threaded rod
Trapezoidal threaded rod are the most common forms used for leadscrews (power screws). This leadscrew helps to move motor rotational power.
Used 8 mm Trapezoidal threaded rod.
2.8 Linear shaft and Linear ball bearing
Better shaft can produce better liner motion performance. The design of the shaft plays an important role. Unlike a revolving antifriction bearing, a linear ball bearing uses the shaft it runs on as its inner race. So, the reel lives of linear ball bearings and shafts are interdependent — the bearing’s performance is straightforwardly affected by the characteristics of the shaft.
Used 8 mm Linear shaft and Linear ball bearing.
Figure 2.8.1: Linear shaft and Linear ball bearing
2.9 Beam coupling
A coupling is a device which connect two shafts together at their ends for the purpose of transmitting power. The main purpose of couplings is to connect two pieces of rotating equipment.
Used 8 mm beam coupling.
Figure 2.9.1: Beam coupling
2.10 Bearing and Caster Wheel
8 mm two bearing for leadscrew easy rotation.
One caster wheel for Y-axis smoothly moving in vertical direction.
Figure 2.10.1: Bearing Figure 2.10.2: Caster Wheel
2.11 Control panel
Control panel is the combination of power source and push buttons. Those buttons used for control CNC Shield’s Emergency-STOP, Resume, Hold function.
Figure 2.11.1: Control panel
2.12 Power supply
5-volt DC power for Arduino Uno
12-volt DC power for CNC Shield
CHAPTER 3 Software and Firmware
3.1 Grbl
Grbl is an open source, embedded, high performance g-code interpreter and CNC milling controller. It was written in optimized C language. Grbl is for 3-axis (X, Y and Z) machines.
Figure 3.1.1: Arduino CNC machine overview
From this diagram we can understand where Grbl take place.
Hardware Required:
Supported G-Codes in v1.1:
Figure 3.1.2: Supported G-Codes in v1.1 [11]
3.2 Inkscape
Inkscape is a vector graphics editor. It is free and open-source software (FOSS). We can easily create vector images and text. It supports many extensions. With the help of “MI GRBL Z-AXIS Servo Controller” extensions we can generate G-code for CNC machines.
Software version - Inkscape 0.48.5.
Extensions is “MI GRBL Z-AXIS Servo Controller”.
Figure 3.2.1: Inkscape
3.3 Universal Gcode Sender
Universal Gcode Sender is a full featured g-code sender platform for Windows/Linux/MacOSX used for interfacing with advanced CNC controllers like GRBL and others.
G-code is the programming language for computer numerical control (CNC) machines.
Figure 3.3.1: Universal Gcode Sender
CHAPTER 4 Hardware Assembling
4.1 Arduino UNO, Arduino CNC Shield V3, A4988 installation
We can use CNC Shield V3.0 as a drive expansion board for drawing, engraving machine, 3D printer and other devices. After insert Arduino CNC Shield V3 into Arduino UNO and installed Grbl firmware then we can quickly DIY a CNC drawing, 3D printer, engraving machine and other devices. CNC Shield V3.0 has 4 slots for 4 stepper motors.
In my case I have required only 2 slots. I have used two stepper motors and two A4988 stepper motor drivers for moving X and Y axis and one servomotor for Z axis.
4.2 Servomotor and Pen holder installation
We have required one servomotor to work in Z axis. When Gcode Sender sent M-code
“M5 S30” servomotor move to 30-degree up and “M3” servomotor move to 0-degree down way.
Figure 4.2.1: Servomotor and Pen holder installation
CHAPTER 5 Machine Calibration
5.1 Axis calibration
Calibration is important because it is responsible for defining the accuracy of any measurement. So, it is important to set right position when machine starting. We can set any X and Y axis in (0,0) position like the picture.
“G10 P0 L20 X0 Y0 Z0” by using this command we can reset zero position.
5.2 Speed calibration
It is important to set a travel resolution, step/mm for required length.
By typing “$$” we can see all current properties
How to change the value?
We can change it according our requirement.
To change the value, we have to type $which one you want to change the value=required value. Example: $100=2000
We changed two (100,101) value for our requirement.
Figure 5.2.1: Speed calibration
After finished calibration we can run our code and it will give accurate output on paper.
CHAPTER 6
Conclusion and Future Scope
6.1 Summary of the Study
It has no doubt that there is a lot of research works on. My early research was on the CNC milling machine, but making a CNC milling machine requires good investment.
Finally, I thought to build a CNC drawing/writing machine that is similar to the CNC milling machine. It is a great experience for me. It can draw any design following the bitmap.
6.2 Conclusion
My goal is to make an affordable CNC milling machine because it has a huge demand in world wide. CNC milling machine have so many benefits like, it can be used continuously, no human error, repeatable operation performs. I always kept in mind to make the machine user friendly.
6.3 Recommendations
I recommend to use good quality trapezoidal threaded rod, linear shaft and Linear ball bearing. It will give you good smooth experience and accurate drawing.
Recommended to use high quality power supply. It will protect your devices from high
6.4 Scope for Future Developments
For future works, I will reduce the drawing time and also develop laser cutting, 3D printer or others CNC milling machine.
Appendix
Appendix A
We can also change speed value from Arduino IDE Serial Monitor option using same
“$$” command.
Figure A1: Configuration of speed value
Appendix B
Vector image:
Figure B1: Vector image
Gcode for the vector image:
M3 G90 G21 G1 F2000
G1 X52.4504 Y212.6753 M5 S30
G4 P1
G1 X42.1872 Y195.57 G1 X64.9942 Y196.1402 G1 X52.4504 Y212.6753 M3
G4 P1 G1 F2000
G1 X89.5347 Y225.7893 M5 S30
G4 P1
G1 F2000.000000
G1 X115.1925 Y225.2191 G1 X103.789 Y201.842 G1 X89.5347 Y225.7893 M3
G4 P1 G1 F2000
G1 X68.1919 Y86.0689 M5 S30
G4 P1
G1 F2000.000000
G3 X54.8234 Y81.7972 I0.0952 J-23.3528 G3 X46.6196 Y70.3967 I12.402 J-17.5764 G3 X46.7056 Y56.5593 I20.8753 J-6.7893 G3 X55.5008 Y45.764 I18.8784 J6.4003 G3 X69.2156 Y43.0999 I10.3215 J16.5011 G3 X80.9801 Y50.6853 I-3.1526 J17.8054
G3 X93.3471 Y63.6064 I-22.0848 J14.237 G3 X85.6015 Y79.2867 I-25.2224 J-2.7058 G3 X77.6057 Y84.4403 I-16.6587 J-17.0663 G3 X68.1919 Y86.0689 I-8.7147 J-22.3527 G1 X68.1919 Y86.0689
M3 G4 P1 G1 F2000
G1 X68.0508 Y98.9065 M5 S30
G4 P1
G1 F2000.000000
G3 X50.3985 Y93.9481 I0.0069 J-33.926 G3 X37.906 Y80.6678 I17.8881 J-29.3429 G3 X33.6 Y57.4618 I33.0254 J-18.1305 G3 X44.6965 Y36.6128 I33.7582 J4.5898 G3 X58.9454 Y29.5204 I19.1917 J20.6974 G3 X74.8242 Y31.3672 I4.8654 J27.3542 G3 X82.3462 Y36.0355 I-10.56 J25.4091 G3 X88.0269 Y42.8324 I-18.5449 J21.2718
G2 X93.4504 Y38.6294 I-10664.9558 J-13767.8343 G3 X98.8748 Y34.4275 I5068.9671 J6538.2966 G3 X105.6889 Y61.7941 I-37.7145 J23.9223 G3 X94.2799 Y87.547 I-42.1247 J-3.2584 G3 X82.4217 Y96.0107 I-26.4036 J-24.4542 G3 X68.0508 Y98.9065 I-13.7454 J-31.1073 G1 X68.0508 Y98.9065
M3 G4 P1 G1 F2000
G1 X62.1744 Y139.9467 M5 S30
G4 P1
G1 F2000.000000
G2 X62.1592 Y137.6348 I-0.8913 J-1.1502 G2 X60.2056 Y137.0506 I-1.7633 J2.3384 G2 X56.7958 Y139.6814 I0.2507 J3.8501 G2 X56.7491 Y144.1507 I6.9267 J2.3072 G2 X61.6428 Y149.0754 I7.1583 J-2.2194 G2 X68.081 Y148.635 I2.6601 J-8.3918 G2 X74.0404 Y141.2951 I-4.7105 J-9.9137 G2 X73.025 Y131.5387 I-14.2807 J-3.4448 G2 X63.6958 Y123.8672 I-12.8441 J6.1111 G2 X52.3301 Y125.4663 I-3.7348 J14.6453 G2 X43.7046 Y137.4549 I9.1873 J15.7074 G2 X45.8985 Y152.5588 I21.7815 J4.5473 G2 X59.644 Y163.0279 I18.4213 J-9.928 G2 X75.9564 Y160.2194 I4.796 J-20.9211 G2 X87.273 Y143.591 I-13.6348 J-21.4442 G2 X83.8756 Y123.1307 I-29.2772 J-5.6508 G2 X65.7186 Y109.8486 I-23.9709 J13.7171 G2 X44.4547 Y113.8819 I-5.8561 J27.1953 G2 X30.438 Y135.1473 I18.0685 J27.1618 G2 X35.048 Y160.9668 I36.7667 J6.7567 G2 X57.6147 Y177.0685 I29.5098 J-17.4937 G2 X83.8318 Y171.8038 I6.9165 J-33.4672
G1 F2000
G1 X139.1622 Y161.4363 M5 S30
G4 P1
G1 F2000.000000
G1 X134.6731 Y139.4406
G2 X123.3752 Y134.7491 R90314.071107
G3 X112.0777 Y130.0567 I16269.9969 J-39193.3321 G3 X122.8415 Y124.3279 I12827.3514 J24088.7169 G2 X133.606 Y118.6003 I-27176.0965 J-51091.3067 G2 X134.7763 Y106.901 I-14370.4457 J-1443.4481 G3 X135.9519 Y95.2023 I6772.4399 J674.6887 G3 X144.9496 Y103.2039 I-4706.0483 J5300.91 G2 X153.9436 Y111.2096 I10070.005 J-11304.1598 G2 X165.9511 Y108.6598 I-9268.3047 J-43693.2207 G3 X177.959 Y106.1119 I4344.9502 J20451.3593 G3 X172.7746 Y116.7886 I-10074.5891 J-4885.4427 G2 X167.5873 Y127.4638 I21316.0059 J10364.7584 G3 X173.8343 Y137.6072 I-17959.7894 J11067.824 G2 X180.0844 Y147.7485 I8471.7579 J-5214.1823 G3 X167.865 Y146.3299 I1793.8218 J-15503.7941 G2 X155.6458 Y144.9087 I-3821.4395 J32800.758 G1 X139.3827 Y162.5123
G1 X139.1622 Y161.4363 G1 X139.1622 Y161.4363 M3
G4 P1 G1 F2000
G1 X153.808 Y228.3588 M5 S30
G4 P1
G1 F2000.000000
G3 X137.724 Y223.7548 I0.014 J-30.4455 G3 X126.777 Y211.3413 I15.2526 J-24.4843 G3 X124.211 Y196.2578 I24.7555 J-11.9714 G3 X130.1019 Y182.1102 I27.4404 J3.1257 G3 X143.1673 Y172.4025 I23.3761 J17.8152 G3 X159.5204 Y170.9456 I10.8128 J28.8634 G3 X174.6495 Y178.0839 I-4.8211 J29.8194 G3 X183.3278 Y192.1991 I-18.6285 J21.1785 G3 X183.3935 Y206.6495 I-26.3677 J7.3454 G3 X176.2125 Y219.1519 I-27.2054 J-7.3125 G3 X166.0324 Y226.0649 I-21.524 J-20.7442 G3 X153.808 Y228.3588 I-11.6638 J-28.4373 G1 X153.808 Y228.3588
M3 G4 P1 G1 F2000
G1 X74.2512 Y231.9523 M5 S30
G4 P1
G1 F2000.000000
G1 X130.0897 Y233.2766 G1 X102.805 Y184.2801 G1 X74.2512 Y231.9523 M3
G4 P1
G1 F2000.000000
G2 X34.0693 Y198.9285 I-4000.689 J2139.4786 G2 X29.6845 Y191.0073 I-602.6777 J328.4403 G3 X27.8936 Y186.5595 I16.1971 J-9.106 G2 X26.3638 Y185.3754 I-1.5299 J0.3962 G1 X85.6734 Y187.3132
G1 X51.0761 Y230.4306 M3
G4 P1 G1 F2000
G1 X149.3047 Y60.1267 M5 S30
G4 P1
G1 F2000.000000
G1 X165.4243 Y60.1267 G1 X160.4619 Y74.5719
G2 X158.291 Y81.184 I220.3832 J76.0183 G2 X157.0888 Y85.388 I87.8497 J27.397 G2 X156.0011 Y80.4172 I-68.9306 J12.4785 G2 X154.5265 Y75.4258 I-70.982 J18.2566 G1 X149.3047 Y60.1267
M3 G4 P1 G1 F2000
G1 X135.5851 Y38.708 M5 S30
G4 P1
G1 F2000.000000
G1 X153.8454 Y90.8672
G1 X160.6241 Y90.8672 G1 X180.0844 Y38.708 G1 X172.9165 Y38.708 G1 X167.3704 Y54.5052 G1 X147.4884 Y54.5052 G1 X142.2665 Y38.708 G1 X135.5851 Y38.708 M3
G4 P1 G1 F2000 G1 X0 Y0
Gcode sender:
Figure B2: Universal Gcode sender
Reference:
[1] R. R. Jegan, E. Gnanasundaram, M. Gowtham, R. Sivanesan and D. Thiyagarajan, "Modern Design and Implementation of XY Plotter," 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), 2018, pp. 1651-1654, doi: 10.1109/ICICCT.2018.8473093.
[2] N. S. Zamani, M. N. Mohammed, M. I. Abdullah and S. Al-Zubaidi, "A New Developed Technique for Handwriting Robot," 2019 IEEE International Conference on Automatic Control and Intelligent Systems (I2CACIS), 2019, pp. 264-267, doi: 10.1109/I2CACIS.2019.8825066.
[3] Singh, Dr & Ranjan, Shani & Rani, Mani & Ranjan, Shweta. (2018). Design and Implementation of low-cost 2D plotter Computer Numeric Control (CNC) Machine. International Journal of Engineering Research and. 07. 10.17577/IJERTV7IS050084.
[4] S. S. Sarguroh and A. B. Rane, "Using GRBL-Arduino-based controller to run a two-axis computerized numerical control machine," 2018 International Conference on Smart City and Emerging Technology (ICSCET), 2018, pp. 1-6, doi: 10.1109/ICSCET.2018.8537315.
[5] G. Isaakidis, A. Spiropoulos and M. Drakaki, "An educational purpose built three dimensional printers,"
2017 6th International Conference on Modern Circuits and Systems Technologies (MOCAST), 2017, pp. 1- 4, doi: 10.1109/MOCAST.2017.7937624.
[6] A. C. Brown and D. de Beer, "Development of a stereolithography (STL) slicing and G-code generation algorithm for an entry level 3-D printer," 2013 Africon, 2013, pp. 1-5, doi:
10.1109/AFRCON.2013.6757836.
[7] F. Acuna, D. Rivas, S. Chancusi and P. Navarrete, "Design and Construction of a 3D Printer Auto Controller Wirelessly Through of Free Software," in IEEE Latin America Transactions, vol. 13, no. 6, pp.
1893-1898, June 2015, doi: 10.1109/TLA.2015.7164214.
[8] A. T. Purnomo, F. I. Hariadi and A. Sasongko, "Development of interface and coordination for control module CNC PCB milling machine," 2015 International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS), 2015, pp. 246-251, doi: 10.1109/ISPACS.2015.7432774.
[9] Patrick Hood-Daniel and James Floyd Kelly. 2009. Build Your Own CNC Machine. Apress, USA.
[10] Learn about “CNC Shield V3”, available at
<<https://wiki.keyestudio.com/Ks0160_keyestudio_CNC_Shield_V3>>, last accessed on 06-09-2020 at 11:00 PM.
[11] Learn about “About Grbl”, available at <<https://github.com/gnea/grbl/wiki>>, last accessed on 18- 04-2021 at 10:30 AM.