Marlin travel speeds on long vs short arc moves


I am cutting a series of pieces that mostly consist of arch segments about 6’ long and 6" wide, with finger joints at the ends and notches in a few places along the edge.

Using ESTL to generate GCode, and I’ve confirmed that it outputs the same feedrate throughout the output.

The vast majority of the moves output by ESTL are G02 and G03, all with the same F parameter.

I’ve noticed that Marlin moves slow on the long segments, and speeds up tremendously on the short segments (the crinkly bits). Which is exactly the opposite of what seems to make sense.

In short, the speed is MUCH higher when it’s making several short moves, vs a long move.

I’d like speed to remain constant throughout the cut. Right now, my feedrate setting is sort of meaningless except as a general guideline.

I’ve messed around with Acceleration (M201) and Max (M203) on Marlin. So far, no luck. It feels like Marlin is making assumptions around 3D printing and final travel speeds that don’t apply to cutting wood. On the other hand, it is the preferred firmware for Lowrider2, so therefore it must be possible to make it DTRT.

Or, maybe there’s an explanation why CNC machines move much faster on intricate cuts than on the long ones?

Perhaps the results of the algorithm are more pronounced on very large moves?

Any advice?

Sincerely, vexed.

What version firmware are you using? A while ago arcs were slow, and we fixed it, so it could be a matter of updating firmware.

1 Like

M115 reports Marlin 414 bugfix-2.0.x

I used Platformio to flash a couple weeks ago:


Maybe I need to get something more better?

Looks like 415 at a minimum is necessary:

The Allted/Marlin “CHOOSE_VERSION” firmware is not all up to date, and unfortunately RAMPS is one that is rather out of date.

The new MarlinBuilds approach should help with this so all the combinations get configured in a systematic way.

But MarlinBuilds doesn’t build RAMPS non-dual-endstops right now so your best bet is to download Rambo ( and change the MOTHERBOARD to your RAMPS and change steps/mm to 200 instead of 100.

I use Rambo reconfigured as Ramps and it works fine with only these changes.

You could also do the same with the Allted/Marlin “CHOOSE_VERSION” codebase, i.e. download Rambo and reconfigure for RAMPS.


Thanks, I’ll give that a try right now. I was in the middle of hand-editing my existing code with that little change :slight_smile:

I also have a brand new Archim 2 sitting on my desk, but I’m unclear what to flash on it, so I’m still using the RAMPS I got 5 years ago when I built mpcnc.

Hallelujiah! Angels sing!

I’ve been fighting with this for weeks now, fiddling with settings and GCode.

This solves SO MANY practical problems.

Thank you so much for the assistance.

1 Like