DIY Arduino CNC Drawing Machine

198,572

819

102

Introduction: DIY Arduino CNC Drawing Machine

About: Hey Guys, My name is Surajit Majumdar. I'm from India. now I'm 19 years old, studying at college. Making diy project its my hobby ,passion and I love making awesome diy project from scratch, I had started DIY …

Hello Guys, In this instructable I'm going to show you how to make an Arduino CNC plotter from old DVD writers. This is an amazing machine. You can make this machine for your school, college science project. It can write and draw anything. This is also very easy to make. So let's get started.

If you like this project then please do vote for me guys. I really need your support :)

Here's the demonstration and tutorial video.

Step 1: Parts List

We need this following parts to make this CNC plotter.

Parts list:

  • Old DVD writer (2x)
  • Arduino Nano.
  • L293D Motor Driver IC (2x)
  • IC Base (2x)
  • Micro Servo Motor.
  • PCB Board
  • Male And Female Header Pin.
  • Barrel Socket.
  • Acrylic Sheet 3mm

Tools List:

  • Solder iron.
  • Super Glue.
  • Mini Handsaw.
  • Sandpaper.
  • Ruler.
  • Marker Pen.

Step 2: Making the Pieces for Frame

Here I'm using the acrylic sheet to make the frame for the CNC plotter. It is a very good choice for making the enclosure for every DIY Project. Personally, I frequently use this sheet to make the enclosure for my DIY Projects. It is easy to cut, bend and sand. It is also so affordable.You can use the following process to make pieces for the frame.

  1. Take the measurement of the acrylic sheet for the enclosure to your need and mark it with a marker pen.
  2. Then use your handsaw to cut the pieces.
  3. Use sandpaper to smooth the pieces.

Step 3: Making the Base

In this step, I'm going to make the base for my CNC plotter. So follow the step carefully.

  1. First, apply super glue on one piece of acrylic then attach this piece with another two pieces.
  2. Again use the super glue to attach the X-axis frame.
  3. Then attach another two pieces for better support.

Step 4: Removing the Stepper Motor

We need two old DVD writers for this project. You can find old and broken DVD writer on local computer hardware store. Usually, they do not use this DVD writer so they can give you it at the very low price. I got one for free and I had another one laying around. So I decided to use it for my CNC project.

  1. First, disassemble two DVD driver and take off the stepper motors.
  2. Then use your screwdriver to open the stepper motor and rails from the frame.

Step 5: Hacking the Slider for X and Y Axis

  1. First, take off the two sliders from their rails.
  2. Use your handsaw to cut the two little pieces from the slider
  3. Then attach the two pieces using super glue.

Step 6: Attaching the Sliding Rods

In this step, we'll attach the sliding rods to its frame. So follow the step below.

  1. First, take one sliding rod and insert it into the slider.
  2. Then apply super glue to attach the sliding rod with its frame and hold it still for some time.
  3. Use the above method to attach another rod.
  4. Repeat same procedure to attach sliding rods with X-axis frame

Step 7: Mounting the Stepper Motors

Now we'll mount the stepper motors. Use your screwdriver to mount the stepper motor to X and Y Axis.

Step 8: Attaching the X and Y Axis

In this step, we'll attach the Y-Axis on the top of X-Axis. Follow the above picture to attach both axes.

Step 9: Making the Z- Axis

I have seen many people got stuck on this part but I'm going to show you how to make a perfect Z-Axis. So follow steps below.

  1. Take the required parts for the Z axis like Sliding rod, pen spring, compass pencil holder, some acrylic pieces.etc
  2. first, take your sliding rod and insert it into its holder and insert pen spring after that use a small piece of the plastic holder to hold the pen spring.
  3. Then apply super glue on the sliding rod holder and attach it to the acrylic frame.
  4. After that attach a small piece of acrylic on the top of sliding rod, it also works to move the pen up and down.
  5. Then attach the pen holder at the end of sliding rod.
  6. Finally, mount the servo motor using the super glue.

Step 10: Attach the Z-Axis

Attach the Z-Axis to Y-axis using superglue as the above pictures showing.

Step 11: Solder Wire With Motors

First, cut the flexible PCB of the motors, then solder wire with motors. I'm using small pieces of a marker pen to hold my circuit board little higher.

Step 12: The Circuit Diagram

Here's the complete circuit diagram, connect everything according to the circuit diagram. If your steppers don't work properly then you have to find correct working combination by changing the pins of the L293D IC. You can also adjust the IC pins in code.

Step 13: Making the Circuit Board

In this step, I'm going to show you how I made my Circuit board. First, insert the IC bases and all the header pins, then solder its pins, after that make every connection according to its circuit diagram. You have to do it very carefully and precisely.

Step 14: Assembling the Circuit Board

First Mount the both IC, then the Arduino nano and at the end connect the wires. We're done :)

Step 15: Uploading the CNC Code

In this step, we'll upload the CNC code to Arduino.

  1. First, connect the Arduino board with PC through USB cable.
  2. Select correct port and board.
  3. Then upload the CNC code.

Programming Video Tutorial

Step 16: The GCTRL Program

Now we are ready to print our first image. We'll use the processing software to run the gctrl.pde program. This program sends the 'gcode' images to the CNC plotter.

  1. First, open the processing software and open the gctrl.pde program for the cnc machine.
  2. Then click the run button, one new window will open.
  3. Press p button to select the current port.
  4. Press g button to select the gcode.

Step 17: We're Done :)

I hope this tutorial helps you to build your own Arduino CNC Drawing machine. You have made your own CNC project then please send a photo in the comment section. I am very excited to see your own creation.

Later I'll keep updating this instructable.

Thanks for watching project, I hope you liked this project, if you did then please follow me I'll keep posting awesome new projects. Also, don't forget to SUBSCRIBE my YouTube channel.

Epilog Challenge 9

Runner Up in the
Epilog Challenge 9

2 People Made This Project!

Recommendations

  • Game Design: Student Design Challenge

    Game Design: Student Design Challenge
  • Big and Small Contest

    Big and Small Contest
  • For the Home Contest

    For the Home Contest

102 Comments

0
Bharathkumar G S
Bharathkumar G S

Question 9 months ago

Sir give some examples for cnc Arduino drawing machine codes pls help me sir

0
Inventor19
Inventor19

Question 1 year ago

Dear sirs I have fun making the writing machine the problem I have tried to enter all the software time and time again but to no avail.
is it possible that someone could supply a more detailed way the code is entered?
thank you very much for your time
Mr J Pattison

0
wawanharianto
wawanharianto

Question 2 years ago

who to if i want running g.code file from SD module not PC ???

0
PILLOsalgado
PILLOsalgado

Question 2 years ago

I have some problems while charging the code. Can someone help me please.

516967E1-03EC-4DF1-A356-ED134BBEACB3.jpeg
0
efishn77
efishn77

Question 2 years ago

Where can I find these parts for bro??

plotter.jpg
0
atanu.sadhukhan01234
atanu.sadhukhan01234

Question 2 years ago

How to soldering pins with wire? It's not clear. So please share it

2
ajwin
ajwin

Question 5 years ago on Step 15

Can you please tell me how to make a gcode?? And can I make PDF a g code? Or only photo?? And how to adjust nib size ??

0
Nidu672
Nidu672

Answer 3 years ago

you can use inkscape to generate gcode files. hope this helps

0
Adip Rai
Adip Rai

Answer 4 years ago

You can use images of jpg and PNG format. In the case of PDF images, you can use snipping tool to copy image and paste it on paint and save it in either jpg or PNG format.

0
jfryar30272
jfryar30272

Answer 5 years ago

G-Code is a file type (commonly '.gcode' or '.gco') that consists of "g" commands. Here you can find all the commands in gcode. What the slicer program ( e.g. Cura, Slic3r, Simplify3D) does is it takes your 3D model ('.stl') and chops it up into XYZ coordinates to print. G code would look something like this:

G92 E0

G28

G1 F1500

G1 X2.0 Y2.0 F3000

G1 X3.0 Y3.0

Hope this helps!

0
ninadashok21
ninadashok21

Question 3 years ago on Step 11

What is the voltage that is needed to be supplied to the stepper motors

0
yeagerxp
yeagerxp

Answer 3 years ago

As you can see from the schematic the voltage is 5 volts

0
brightled
brightled

3 years ago

hello,great project however we need some measurements for the plastic pieces that hold this pen plotter together or better still an stl so the parts can be 3d printed.

0
grosales73
grosales73

3 years ago on Step 4

Gracias por compartir tus conocimientos con la comunidad mis alumnos y yo te estamos muy agradecidos....

0
noah051893
noah051893

4 years ago

Hi sir. i am making this project. I follow the steps and the parameters just like on your video. But when i finally done, it doesnt work. The program seems running ok but my x and y axis and the servo won't work. Please help.

0
shobuz100
shobuz100

4 years ago

nice project

0
Buyme1store2
Buyme1store2

4 years ago

Thank you for sharing to us