MKS DLC-32 How do I increase the laser speed

I made a laser engraving machine, using the control board of MKS-DLC32, now feel that 8000mm/min speed is too slow, converted to 133mm/s, have brothers know how to modify the laser speed?

$110 $111 are the settings to change max speed
I would doubt the MKS is able to parse gcode faster than 8000mm/min but you can raise it to as high as you want firmware wise - unless MakerBase put some limit

Edit: this might come handy

Thank you. I have tried this solution, but it was limited by the control board when it exceeded 8000mm/min, so I would like to see if there are any other ways to modify it.

Please help me

Does your board respond to GRBL commands?
In the Console window, enter $110=8001.
In the Console window, enter $$.
In the Console window, scroll down and see if the $110 parameter changed.
If it does not, the MKS-DLC32 board cannot have the maximum speed parameters changed.

Why do you need the additional speed?

Yes, the MSK-DLC32 control board test results of the same graphics, the maximum speed can only reach 8000mm/min, I want to know how much the limit laser speed of this control board can reach, because I have an XTOOL D1 PRO in hand, processing can reach 42000mm/min, I see that their chips are the same. So I’m curious.

You did not answer any of my questions. Let us try a different one. How do you know this 8000 limit is true?

I have tested 6000mm/min 8000mm/min 10000mm/min for three times, and the acceleration displayed at 10000mm/min is the same as that at 8000mm/min.

This is a limitation of the speed the controller can process your Gocde rather than a firmware limitation

Try engraving a simple box in FILL mode, if speed increases (which it will)
then is really all about the processing of gcode, cant do anything about that

In fact, most machines and brads advertize 20-30K mm/min… this is a bit nonsense really.
is like saying a Ferrari has a top speed of 300kmh - which it can do - but in reality you will be doing rarelly over half that!

Test the same graph and get the result:

  1. Test the original speed of 6000mm/min
    X axis maximum speed: 6000mm/min
    Y-axis maximum speed: 6000mm/min
    Z-axis maximum speed: 6000mm/min
    X axis maximum acceleration: 500mm/sec^
    Y-axis maximum acceleration: 500mm/sec^
    Z-axis maximum acceleration: 500mm/sec^
  2. Test 8000mm/min
    X axis maximum speed: 8000mm/min
    Y-axis maximum speed: 8000mm/min
    Z-axis maximum speed: 8000mm/min
    X axis maximum acceleration: 750mm/sec^
    Y-axis maximum acceleration: 750mm/sec^
    Z-axis maximum acceleration: 750mm/sec^
  3. Test 10000mm/min
    X axis maximum speed: 10000mm/min
    Y-axis maximum speed: 10000mm/min
    Z-axis maximum speed: 10000mm/min
    X axis maximum acceleration: 750mm/sec^
    Y-axis maximum acceleration: 750mm/sec^
    Z-axis maximum acceleration: 750mm/sec^

You can see my test results below. I compared the MKS-DLC32 control board with the XTOOL D1 PRO control board. The chip is the same, but the speed of MKS-DLC32 is limited to 8000mm/min (133mm/s). On the other hand, the D1 PRO can reach 24000mm/min(400mm/s), so I wonder if I can improve the speed of the MKS-DLC32 to the same speed as the D1 PRO.

I understood this for an Arduino driving the stepper, since it’s clock was only 16mHz. However the DLC32 clock is over 200mHz.

Even with an Arduino, the cpu is substantially faster than all the mechanical items.

Is the D1 actually the same processor?

I have one of these boards, never have put it into service, but I’ve thought about making a quick changeover to the DLC from the Rudia.


I have done extensive research on this for Arthur and Algo.

is quite difficult to get - specially anything like images - to reach the “advertized” speeds

The thing that helped a lot is Gcode clustering, which only - as far as I know - both Ortur and Algo support. (EDIT: and smoothieware boards!!)
Even then max speed top about 20k mm/min before the controllers start to bog down. And we are talking about ESP32 S3s here

some machines that claim to be 30000mm/min bog down to 6 to 8000mm/min if anythin dense is thrown at them.

My method is quite simple (so i give it a 20%± leeway)

i compute the “estimated” time a given area would take to complete in a 400x400 image. Assuming - for ease of math - the machine can accelerate and decelerate instantly.

This will give me an estimated - theoretical - time it would take given the speed requested.

Then I do the inverse math to calculate the actual speed it runs at when i input the time.

You would be astonished how slow machines ACTUALLY are vs advertized when engraving dense gcode

But a even simpler test
400x400 box, fill mode 300 dpi. 1% power
Start it and let it finish, time note of time

Now import a image - same dpi, grayscale mode, 400x400
Start it and let it finish … will be at least 2x or 3x as much time

As i understand it - and Jason helped me understand this quite a bit - GRBL firmware was never coded or optimzed to parse as much Gcode as we throw at it now. And the planner is just unable to keep up.

Faste MCUs help but now we are on diminishing returns territory. Double MCU power to get 10% increase.

Biggest improvement, in the order of 30-40% is Gcode Cluster

1 Like

Did the maximum speed setting persist in the Machine Settings after making this change?

Did you test the speed of the xTool D1 with a stopwatch or chronometer?

It is a known feature that the Motion Planner in the Firmware will reduce the speed when the firmware can’t keep up.

Many of these high speeds require nonsensical accelerations to remain within the work area. With a known mass, the required accelerations induce deflections in the engraver making production poor. This is the primary reason the CO2 lasers have larger beams, heavier gantries and external motor drivers.

Unless you have changed the Diode in a serious way or are retrofitting the MKS-DLC32 to a CO2 laser I don’t understand your motivation.

Testing this on my MKS-DLC32 Bench mule, $110=8001 works fine.
Firmware info:
[MSG:Using machine:MKS DLC32]

$110=25001 is working as a machine setting.

$110=100000 persists, $110=100001 returns Error 80

When I ask how, I get a what for an answer. When I suggest a do, I get a didn’t for a response. I m going to step aside and just observe.

1 Like

I tested a fixed graph at different speeds, and found that the time didn’t decrease beyond 8000mm/min, and I wasn’t sure that it actually ran down 8000mm/min, because it was limited by the board.

Or do you know that there is a faster processing speed of the control board, it is best to reach about 20000mm/min of the control board?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.