Introduction: Building Laser Cutter

I set the goal to make nice all in one machine, that performs well and also looks good. After long research on the components that are available on ali express, i decided to use well known open builds acro platform and popular endurance 10w laser. Lets see what we can build from it! This is not how-to manual by all means, nor step by step instructions, its just random ideas and thought i had on the way of building my machine. May be someone will face same challenges building it.

Step 1: Laser and Laser Module

The laser with all goodies came first. Initial impression - very nice laser… But… There is always a but with me… I absolutely didn’t like control box… It looked, well… kinda cheap, with lots of instruments on it of different size.. My perfectionistic nature was quite repelled… Insides were ok. Absolutely required minimum. Didn’t get the point of having arduino in there, and even worst, cloned arduino serial chip was big no-no on mac platform. Also, i wanted to get rid of all instruments except voltage/amp meter. Why to have temperature and input voltage if i can see it on my duet web control? Also, since i was not planning to have computer connected to the machine, i wanted to have something where i can control laser output power in more analog way, with just a pot. another thing. I decided that whole machine should be powered by single power source, and it has to be 24v PSU since i had one in the house, and all of my machines running on 24v.

After complete disassembly of the box, i started from whats on picture.

Well, there was current/voltage controlled module from aliexpress, and small optocoupler board with FET from Endurance… Quite straight forward i’d say.

Step 2: Arduino Code

Things i didn’t need were immediately removed and i started to do new wiring and new case for the module. I also added ATTINY85 cpu that just reads voltage from the pot and converts it to PWM output. Simple, from 0 to 100%. Here is small arduino sketch i borrowed from the web and modified it to my needs:

// Endurance laser analog pwm control
const int RunningAverageCount = 16;

float RunningAverageBuffer[RunningAverageCount];

int NextRunningAverage;

const int POT = A3; // Analog input pin 7

const int LASER = 0; // Analog output pin 5

int sensorValue = 0;

int outputValue = 0;

void setup() {


pinMode(POT, INPUT);


void loop() {

float input = (float) analogRead(POT);

RunningAverageBuffer[NextRunningAverage++] = input;

if (NextRunningAverage >= RunningAverageCount) {

NextRunningAverage = 0;


float averagedInput = 0;

for(int i=0; i< RunningAverageCount; ++i) {

averagedInput += RunningAverageBuffer[i];


averagedInput /= RunningAverageCount;

int out = (int)(averagedInput / 4.0f);

if (out<2) out = 0; // to make low band really turn off if (out>255) out = 255;

analogWrite(LASER, out);



Ok. Chip was flashed, and worked quite well.. Good thing, it was so tiny, i just taped it ti the back of resistor ;))) Well done Alex.

Now with a simple switch i was able to switch between laser control from Duet output and my little analog PWM converter. ;)

Step 3: Laser Control Module

It was a time to make nice case for the control module, that will be mounted on the front of the frame for easy access and will not stick out a lot. So, new box was created… Fully 24v powered, with minimum of elements.

Step 4: Laser Head Modifications

Next on the menu was laser head itself. I realised that it has just barrel connector for powering the fan, and NTM thermistor to measure laser temperature. Ok, wires were cut. Connectors added. I also replaced cooling fan to 4020 24v. It had more air flow than stock one but i had to design special mount for it.

Seems all electronic components got their houses to live in. So far so good.

Step 5: The Frame

After initial assembly of the frame, big question was raised… Where all the wires will go? By all means, ACRO is a nice frame, but it lack of any cable management. Since i had some cable chains from previous project, i decided to use them on my machine. 2m pieces of aluminium extrusion was ordered and cut to size, so i could have extra frame on the right side of the printer and one behind the laser carriage. I had to design some plastic parts to mount it all together. With this change, its now possible to run cable chains. It also looks good and stock.

The 1m piece were cut to 2x 55cm to extend x axis… The left over 45mm was used to make extra rail behind carriage. Also added 2 Y endstops, that i use for motor synchronisation.

Thats pretty much it. Added end switches and configured the Duet wifi to handle the mechanics.

Step 6: Z-Axis

After some playing around i wanted to add Z axis. That should help me to focus better and use different thickness of the cutter material. Also would be nice to move laser a bit down with every pass. After checking other projects that use Z-axis from ali (based on 2 bars and lead screw), i decided to try very minimalistic and light 100mm z axis.

So, endstop mount and laser mount was designed and all assembled. What i like about this z axis module, its quite light, has enough power to hold the laser and with 2mm pitch its nice to focus the laser on the cutting surface. Also, it doesnt eat up a lot of Y axis travel.

Step 7: I Need a Display!

Quickly realised that to move laser up and down you need to use or phone, or computer. That was not really in sync with the project :) So, i added panegdue 5inch screen and designed the case and mount for it. Now its possible to control machine, use baby stepping and in general looks quite cool and complete!

Step 8: The Result

So, all is mounted, machine is configured and its just enjoyable to have something you really like. As they say, you are only good as your tools.

I hope you guys like the result, and may be somebody will have easier time building the machine and enjoying endurance lasers like i do!


The parts i designed available on thingieverse: