I have a cheap 3000 mW laser cutter that I'm trying to cut 3 mm black acrylic. I'm lowering the feed rate to try to get it to cut in one pass.

I have the G-code for a small circle (16 mm) but it seems any feed rate below about 25 mm/min is being ignored and it uses 25 mm/min anyway. The laser cutter has been set up with GRBL 1.1h and I have checked that feed rate is being read in by GRBL correctly. If I set a feed rate of 35 mm/min, that is processed correctly - but it needs two passes to cut the acrylic.

Please see G-code below:

G90 (use absolute coordinates)
M4 S0
G0 X9.6 Y18.16
G1 X10.98 Y18.21 F20
G1 X12.27 Y17.99
G1 X13.48 Y17.55
G1 X14.58 Y16.9
G1 X15.56 Y16.07
G1 X16.41 Y15.1
G1 X17.12 Y14
G1 X17.68 Y12.82
G1 X18.06 Y11.56
G1 X18.26 Y10.28
G1 X18.27 Y8.98
G1 X18.08 Y7.7
G1 X17.82 Y6.88
G1 X17.48 Y6.11
G1 X17.06 Y5.39
G1 X16.56 Y4.72
G1 X16 Y4.11
G1 X15.37 Y3.55
G1 X14.7 Y3.06
G1 X13.98 Y2.63
G1 X13.22 Y2.27
G1 X12.43 Y1.98
G1 X11.62 Y1.77
G1 X10.8 Y1.63
G1 X9.15 Y1.6
G1 X7.62 Y1.89
G1 X6.23 Y2.47
G1 X4.99 Y3.3
G1 X3.93 Y4.34
G1 X3.06 Y5.55
G1 X2.41 Y6.89
G1 X1.98 Y8.33
G1 X1.81 Y9.83
G1 X1.91 Y11.35
G1 X2.3 Y12.85
G1 X2.99 Y14.3
G1 X3.38 Y14.87
G1 X3.8 Y15.4
G1 X4.27 Y15.87
G1 X4.76 Y16.29
G1 X5.29 Y16.67
G1 X5.84 Y17
G1 X6.42 Y17.29
G1 X7.02 Y17.53
G1 X7.64 Y17.74
G1 X8.28 Y17.92
G1 X8.94 Y18.05
G1 X9.6 Y18.16
M5 S0
G0 X0  Y0 Z0 (move back to origin)

This G-code was produced with LaserGRBL (and modified by me, to no effect). I have tried F1, F2, F3, F4, F5, F10, and F20 and they all take the same amount of time to complete.

What can I do to perform a cut in one pass since these low feed rates appear to be ignored?


This was likely due to reaching the limitations (maybe minimum step rate) of the stepper drivers which were 4988 drivers. I updated them to 8825 drivers which were able to support a speed of F20 correctly. I have not yet tried them at lower speeds.

  • $\begingroup$ This doesn't sound plausible. There is no such thing as a minimum step rate for a driver. The whole point of steppers is being able to arbitrarily position them. It's likely the firmware just has a minimum feedrate set, wrongly. $\endgroup$ – R.. GitHub STOP HELPING ICE Apr 30 at 22:49
  • $\begingroup$ I guessed a minimum feed rate because it is a very low rate and if the intention is to move smoothly between two positions at a slow rate there are only so many steps between them. If the speed is too slow, the steps will become jumps. Also, if it was the firmware, then why did it work with the same firmware and different stepper drivers (that support finer microstepping)? $\endgroup$ – Nick Wallace May 2 at 11:40
  • $\begingroup$ Two thoughts; I have noticed problems with Marlin2 and really low acceleration. There are probably limitations. Going more laps at higher speed might help creating nicer cuts, because the surrounding material is not heated as much. $\endgroup$ – dotswe May 3 at 1:09
  • $\begingroup$ @dotswe - Thanks. I didn't adjust the acceleration to see what difference it would make. I did notice that a G-code that has more points in the circle would support a lower speed. I have also done trials with more laps and faster - and it can work. It is slower overall though - and at the speed I'm trying it's already very slow. More laps on acrylic doesn't seem to give a cleaner cut either - it does make a difference on wood. $\endgroup$ – Nick Wallace May 4 at 23:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.