DIY CNC Writing Machine Using GRBL

2,149

29

9

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest
    • Fix It Contest

      Fix It Contest

    9 Discussions

    0
    Kringzxczxc
    Kringzxczxc

    4 days ago

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

    0
    AsherT
    AsherT

    Reply 3 days 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
    Kringzxczxc
    Kringzxczxc

    4 days ago

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

    0
    patrick panikulam
    patrick panikulam

    2 months 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 2 months 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

    2 months ago

    Really neat design. Nice work for this CNC

    0
    AsherT
    AsherT

    Reply 2 months ago

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

    0
    JackCarter
    JackCarter

    Reply 2 months ago

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