DIY CNC Writing Machine Using GRBL

9,762

59

15

Introduction: DIY CNC Writing Machine Using GRBL

About: Tech Enthusiast, Engineering Student, looking to learn more each day! Unraveling the mysteries of the technical world one problem at a time.

In this project, I will show you how to easily build your own low-cost Arduino CNC Plotter Using Free and Open-Source Software!

I’ve come across a lot of tutorials explaining how to build your own CNC plotter, but not a single one that explains in detail about all the details and software required to make it happen. I had to cross-refer with a hell lot of tutorials to make this project happen. Everything including the details of the software used are mentioned in this tutorial. Thus, I wanted to share this with the society for anyone who wishes to create this Project.

Step 1: WHAT YOU’LL NEED

  • Nema 17 Stepper Motor (4-Wire) x 2
  • Arduino Uno R3
  • CNC Shield V3 For Arduino Uno
  • A4988 Stepper Motor Driver x 2
  • Threaded Rods x 2 (Sized according to your needs)
  • Plain Aluminium Rods x 2
  • Super Glue
  • 5mm Acrylic sheet
  • CNC Milling/Laser Cutter/3D Printer
  • Micro Servo

Step 2: BASIC OVERVIEW

The heart of this machine is the Arduino working

with the CNC Shield and the Stepper Motors. The stepper motors are used to actuate the X and Y axes. Two gantries each consisting of one stepper motor is made and constructed using acrylic. Each axis is controlled separately by the Arduino running the GRBL Firmware which is free and open-source. The pen attached on the Z-Axis is controlled using a servo.

Step 3: MAKING THE FRAME

Download the given Illustrator file and use your respective Mill/LaserCutter/3D Printer to make the pieces for the frame. Also cut out the supports for the Stepper motor.

Step 4: CREATING THE ADAPTER FOR THE MOTOR

I 3D modeled the adapter for the model in Fusion 360 according to the dimensions of my rod and motor shaft. The stl and fusion files are linked down below. It can also be found on my TinkerCAD profile. Download the files and 3D print the Adapter.

Click here for the TinkerCAD file.

Step 5: ASSEMBLING THE GANTRIES

  • Assemble the CNC’d Acrylic pieces to match the shown image by mounting the vertical motor and rod supports as shown in the picture. Similarly, assemble the Y gantry using the acrylic pieces.

Step 6: MOUNTING THE GANTRIES ON TOP OF EACH OTHER

Slide-in nuts on both the threaded rods and the plain rods and fix them in place. Glue a piece of acrylic spaning over both the rods.

Glue the Y axis gantry to this piece of acrylic,

Step 7: MAKING THE PEN HOLDER

CNC out the required parts and put them together to form the mechanism shown in the images. Attach the Servo in the given spot using glue.

Step 8: WIRING THE MACHINE

Connect the male jumpers in between the Driver holders to enable micro-stepping.

connect the rest of the parts as mentioned in the wiring diagram.

Power the parts using a 12v supply

Step 9: REFER THE VIDEO BY CREATTIVE BUZZ FOR CLEARER DETAILS ON THE MECHANICAL CONSTRUCTION

I've done my Mechanical construction all in reference to this video, all credits to the owner.

Step 10: SOFTWARE

Step 11: FLASHING GRBL TO THE ARDUINO

The main Software running on the Arduino that controls the Motors is GRBL. TO flash it :

  • Download the Given Library
  • Add the Library to Arduino IDE
  • Open Examples
    • Under MIGRBL
    • open grblupload
  • Upload the sketch to your arduino.

Step 12: INKSCAPE FOR SENDING THE GCODE

Download Inkscape Version 0.47 from here. and install it.

Step 13: DOWNLOADING AND ADDING THE GRBL EXTENTION TO INKSCAPE

Download the below-given files

Refer to this video for details on how to install the extension in Inkscape.

Step 14: UNIVERSAL G CODE SENDER

Download the Universal G Code sender and unzip it.

FROM HERE.

Step 15: CALIBRATING THE STEPS PER MM FOR G CODE SENDER

Open the G-Code Sender aplication.

  • Connect the Arduino to the Computer
  • Select the right communication port
  • Hit Open to establish a connection with the arduino.

  • Enter Machine Control Mode
  • Make sure your machine runs in the right directions using the x y motions.
  • give each axis a motion of 1 inch and measure the actual distance travelle

  • Move to Command tab
  • Type in $$
  • note down values of $100 and $101 for steps per mm of x and y axis respectively.
  • Use “$100 =” to adjust the steps per mm on the x axis and “$101 = ” for the y axis respectively.
  • Repeat this untill the distance travelled is exactly equal to the command given.

Step 16: Creating the GCODE FILE

  • Open Inkscape
  • Import the desired image and convert it to path
  • In Extensions, Use the MI GRBL EXTENSION.
  • Press apply and create the GCODE FILE.

  • Open File mode in GCODE Sender
  • choose the file
  • hit send

SIT BACK AND LET THE MACHINE DRAW.

CNC Contest

Participated in the
CNC Contest

Be the First to Share

    Recommendations

    • Toys & Games Contest

      Toys & Games Contest
    • Big vs Small Challenge

      Big vs Small Challenge
    • Fix It Challenge

      Fix It Challenge

    15 Comments

    0
    VahidS6
    VahidS6

    2 months ago

    hi. tanx for sharing info
    can i use lead screw 8mm and is that same code as u can use in this project?

    0
    Kringzxczxc
    Kringzxczxc

    1 year ago

    the stepper motor is not rotating, it just vibrating? why?

    0
    KushagraK7
    KushagraK7

    Reply 5 months ago

    The motor's wires need to be connected to the pins of the motor driver in the correct sequence. Check the wiring and try changing the sequence of the wires of the motor.

    0
    Nasikhun
    Nasikhun

    6 months ago

    Very good 👍

    0
    kvsaikiran5
    kvsaikiran5

    7 months ago

    i made but my servo motor will continuously rotating what is the solution for these

    0
    papani
    papani

    1 year ago

    what if I use l293d instead of a4988

    0
    AsherT
    AsherT

    Reply 1 year ago

    I don't think an l293d is compatible with the CNC Shield V3
    If you want to use that, it'll be a different circuit.

    0
    Kringzxczxc
    Kringzxczxc

    1 year ago

    does it needs or necessary to put a jumper caps in the cnc shield?

    0
    AsherT
    AsherT

    Reply 1 year ago

    It is necessary for better quality. Technically called micro stepping. You can also just solder the connections on the backside of the shield if you can't get hold of jumpers

    0
    patrick panikulam
    patrick panikulam

    1 year ago

    I noticed that you have added a video nor a pic of your completed project.
    All I could see is the video someone else posted in YouTube and your project cover photo is a screenshot from that video as well .

    Is this a work on progress?

    0
    AsherT
    AsherT

    Reply 1 year ago

    Once I started doing the project I realized that there's no single write up that gave all the information together. So I decided to put together all that I had learnt for this project. Immaterial of the fact wether I completed the project or no I wanted to share it asap. Hence no images on the final model. But Fyi All the images of the frame are true and present. I'll be updating it soon. Stay tuned. Thank you.

    3
    JackCarter
    JackCarter

    1 year ago

    Really neat design. Nice work for this CNC

    0
    AsherT
    AsherT

    Reply 1 year ago

    Thanks a lot! Means a lot! Please share and support.

    1
    JackCarter
    JackCarter

    Reply 1 year ago

    I wanted to build mine but i thought it was too difficult, but it seems easy now :)