Introduction: Laser Engraver

Picture of Laser Engraver

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

Picture of 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

Picture of 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

Comments

StuartB44 (author)2016-06-12

30 X 30 mm workspace seems a bit small.
Using standard DVD drives mine is nearer 39 mm.
They can also be more accurate than you would think
if they are setup up correctly and the laser is
focused sharp enough.

Spoonerandforker (author)2016-03-03

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.

I've just added a new step where I explain how I set it up.

Thank Yiou! Perhaps if you counter weighted the Z-axis it would work

About This Instructable

3,872views

39favorites

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 ArmLaser EngraverArduino Laser Projector + Control App
Add instructable to: