loading

I've decided to build this engraver because it has always fascinated me to have machine like that at home. Everything is made from scrap except stepper drivers and the laser. It's working, however it cannot be used for very precise engraving because of an inaccuracy of CD steppers and the whole build quality.

Step 1: Making the Stand

Everything was made using hand-tools on the garden without precision electric saws, cutters or grinders. Thus the build quality is not how it was supposed to be.

Step 2: Assembling Together

Steppers

I used 3 stepper motors from old CD drives, however I cannot use the Z-axis because the motor is weak and cannot handle the weight of the mount. Otherwise it would be possible to replace the laser with a milling tip and use it for other purpose.

Controlling

Arduino Nano loaded with Grbl connected to Keyes_CNC is used to control the steppers and the laser.

Laser

I didn't have a powerful laser module so I've used a handheld 3W blue laser pointer. I took out the battery and connected two terminals which are connected to the relay switched by Arduino.

Step 3: Setting It Up

GRBL

Normally you can just download Grbl and upload it to your Arduino.

However my Keyes_CNC stepper controller had swapped STEP and DIR pins so Grbl source code needed to be modified. If you have the same stepper controller, you can just download the modified version from my GitHub.

Grab the whole grbl_keyes_cnc folder and move it into Documents\Arduino\libraries

Reopen Arduino IDE, go to File → Examples → grbl_keyes_cnc → grblUpload

It opens a new project which will have #include <grbl.h> line inside.

All you need to do is to upload this project into your Arduino.

All the other setting will be done over serial communication directly with Grbl.

GRBL Settings

These are the settings for my setup. You might have different steppers or work-space dimensions, so set it according to your project. When you are connected to Grbl, type $$ to see your current settings. You can change individual values by writing a command in this format $x=val.

My steppers have 6.5 steps per mm. Dimension of the work-space is 30 x 30 mm.

G-Code

For sending G-Codes and controlling your engraver, you need to download a program that is capable of sending g-code commands over the serial port. Here are the links for few of them I was using.

Grbl Controller

G-Code Sender

<p>30 X 30 mm workspace seems a bit small.<br>Using standard DVD drives mine is nearer 39 mm.<br>They can also be more accurate than you would think<br>if they are setup up correctly and the laser is<br>focused sharp enough.</p>
<p>Very creative can you give more details? Where did you get the Grbl and the Keyes_CNC programs? What can it engrave? I am very interested in using my adrino uno to adapt your project to my own spare parts bin.</p>
<p>I've just added a new step where I explain how I set it up.</p>
<p>Thank Yiou! Perhaps if you counter weighted the Z-axis it would work</p>

About This Instructable

3,615views

38favorites

License:

Bio: I am a 22 years old student from Slovakia currently studying ICT Engineering (Embedded Systems) in Denmark. In my free time I like working with ... More »
More by stanleyprojects:Robotic Arm Laser Engraver Arduino Laser Projector + Control App 
Add instructable to: