A DIY laser engraver build using DVD and CD-ROM/writer

Laser Engraver 38x38_cdrom_1

Here’s a DIY 38mm x 38mm laser engraver build using CD-ROM/writer on ATmega328p by Davide Gironi:

A laser engraving machine, is a tool that uses lasers to engrave an object.
To build this tool I’ve used two old CD-ROM writer that lays around in my garage.
The X/Y positioning system it is build using the CD-ROM motor assembly. For the engraving laser i use the CD-ROM writer laser.
With this hardware the engraving area are will be almost 38mm x 38mm.

Check out the video after the break.

Join the Conversation


  1. Hello sir,
    I am working on project titled LASER ENGRAVING MACHINE, i have few some problem to discuss.
    first I have question that is dvd RW laser is capable enough to engrave wood and acrylic?
    secondly, i have to ask you one thing that I had dispatched laser diodes from DVD. Connecting diode to battery its working fine but laser light is not much powerful. Moreover, what should be next step to check whether it is burning/engraving or not?

    1. Hi,
      First I have to ask if it is a Laser from a DVD-ROM(reader) or DVD-RW(burner) ?
      The DVD-RW laser diode is the most powerful. It is used in both project.
      This diode will be strong enough to engrave wood and acrylic.
      Is you see the Instructables project, there are examples of wood engraving.

      Second, you will need a laser diode driver. This is needed to regulates the power.
      I bought mine from ebay (Laser Driver 1 Watt 808nm 1000mw Diode Infrared Burning 5,88 USD)

      You may need a housing also. It comes with lens, that you can use to focus the laser.
      (Laser Diode Module Lens & Housing TO-18 12x30mm 5.6mm)
      You can get more info from the Instructables post.

      1. I am using DVD RW Laser diode. Secondly, can you tell me bit about the laser diode driver? Is this one of the important part to increase the intensity of laser ?

  2. The best is to go and see the Instructables project.
    He talks about putting more power to the diode, it shorten its lifetime.
    I think the driver is to regulate the voltage.

    1. The driver should regulate current. The level of voltage you input should easily be controlled itself. A fixed voltage, and current control gives you a regulated power output. Watts is a measure of Power. Watts is also Volts times Amps (current) too.

  3. Hello, I have built all the hardware: physical structure, and have completed in entering the GRBLtoArduino and all the software. I have used the Universal GCodeSender and has successfully interpreted the software for is says ” Grbl 0.8c [‘$’ for help] “. I’ve soldered the stepper motors (for I’m using steppers from dvd roms) to some salvages wire from a printer I took apart. I installed some female sockets in order to connect to the male pins on the CNC Shield ver. 2.01 . The orange light from the arduino flashes and in the Universal GCodeSender ver. 0.8 completes the operation b/c is says ” ok ” . I have no idea whats wrong. I know the steppers work b/c ive used a 9v battery to pulse the motors and they do indeed pulse. Ive used a multimeter to check its resistance and it works. I’ve checked the current on the motors once connected to the cnc shield and there’s current. I have tested if the drivers are in fact getting power and they are. I’ve attempted the code ” x=100 ” , ” $7=225 ” but no motor movement. Can ANYONE help me ?

    1. I have gotten a few stepper drives working myself. What step mode are you using? Avoid full step mode. It just sucks (the why of this is too long winded, and technical to get into here, and now). Suffice to say that anything else works better than full step mode does. The other thing you need to have right is your motor phase. Past that some stepper systems can suffer from excessive noise. So try running just one stepper motor. Disconnect all other motors, and drives (never connect, or disconnect steppers while drives have power! You have been warned). If one motor runs but two, or more do not, then you are going to have to deal with suppressing signal noise in your system. Do you have an oscilloscope? They’re handy to check out control signal integrity with.

      Get something to work, then figure out what the problem is through reduction, and elimination. Start simple, then when things work build on that.

  4. On my point of view, it is the connection between the stepper and the drivers.
    All steppers I have found have all had the same pinout on the small connecting PCB. Connect the pins in the same order to the Easydriver as on the connecting PCB. The control pins (step, dir, gnd) goes to the Arduino.
    If nothing moves, try swap connection 2 on 2. (step/ground & dir/ground).

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.