Anet A8 Laser Mount

by UnTraDe Oct 8, 2017
Download All Files

Thing Apps Enabled

Please Login to Comment

Some helpful notes for other people doing this mod:

Requires at least four M3*8 screws to mount it.

I'm using the laser in the aliexpress link that has the separate driver board. I'm using a 12v 1A wall adapter to power the board on the middle connector labeled + - . Use the supplied red/black cable to connect the PWM terminal on the board to the FAN 1 port on the A8.
**You must first invert the polarity on one end of this cable, you can pop the cables out like shown in this video https://www.youtube.com/watch?v=WKijEhBPIMc.***

The fan control is also inverted, so turning the fan on from the printer will turn the laser off, turning the fan off turns the laser on.

Using the x and y offsets in lokster's tools plugin wasn't working right for me, so I ended up going into the marlin firmware and changing the travel limits (X_MIN_POS) etc, and bed size. I only plan on using this printer as an engraver from now on anyways.

From there, you can use my fork of a fork of Lokster's tools for inkscape, I only made one small change on it so that the M106 and M107 fan commands work properly. Use inkscape 0.91 for proper scaling.

Final note - I printed this at .3mm layer height to speed it up. Still came out great!

Could you share the config files on this laser? I don't want to have to do all of the testing required for it.

What do you mean by config file? I connect my laser to the Blower Fan output and controlled it via the M106/M107 command

These settings:



define SPINDLE_LASER_ENABLE_INVERT false // set to "true" if the on/off function is reversed

define SPINDLE_LASER_PWM true // set to true if your controller supports setting the speed/power

define SPINDLE_LASER_PWM_INVERT false // set to "true" if the speed/power goes up when you want it to go slower

define SPINDLE_LASER_POWERUP_DELAY 50 // delay in milliseconds to allow the spindle/laser to come up to speed/power

define SPINDLE_LASER_POWERDOWN_DELAY 50 // delay in milliseconds to allow the spindle to stop

define SPINDLE_DIR_CHANGE false // set to true if your spindle controller supports changing spindle direction


define SPINDLE_STOP_ON_DIR_CHANGE true // set to true if Marlin should stop the spindle before changing rotation direction


  • The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
  • where PWM duty cycle varies from 0 to 255
  • set the following for your controller (ALL MUST BE SET)

    //#define SPEED_POWER_SLOPE 118.4
    //#define SPEED_POWER_MIN 5000
    //#define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM

    define SPEED_POWER_SLOPE 0.3922


    define SPEED_POWER_MIN 10

    define SPEED_POWER_MAX 100 // 0-100%


I'm guessing those settings are from Marlin config?
I didn't actually changed the firmware settings at all. I used a plugin for InkScape that generate gcode from vector graphics, and uses the M106/M107 to turn on/off the laser, and control its power output via PWM. M106/M107 are used in most printers to control the blower fan, so I connected the laser controller to the blower fan port instead. Please note that if you choose to do that you should make sure that the laser controller you connect is actually some kind of bridge, I.E it doesn't take the entire laser power from the port, but actually controll it via transistor or some other means.