Wearing in gcode

Does anyone know how I might get the mpcnc to traverse x & y endstop to endstop for either infinity or a lot of times? My first build seems a bit jittery and I suspect that the galvanized pipes are a still a bit rough (as I’ve read elsewhere on the forum). It feels uneven when moving by hand. I was hoping to see if it smoothes out after some time.

G0 X100 Y0 F2000

G0 X100 Y100 F2000

G0 X0 Y100 F2000

G0 X0 Y0 F2000

Change the 100’s to whatever your long ends are, then copy and paste a couple dozen times in notepad, then save as wearing.gcode.

1 Like

Aww come Barry that isn’t exciting. All three at once.

G0 X888 Y888 Z88 F3000

G0 X0 Y0 Z0 F3000


Change the 8’s to your max size, copy paste, start at 0,0,0 let her rip! Bonus points for inching the F3000 up with each pass to see how fast you can go…


Thanks guys for the help.

Ryan, are you sure you want to run Z at that speed? :slight_smile:

The Z gets spread over the entire distance, so it might look fast but it should be slow, on that it would be at least 10X slower, so 5mm/s.

I just ran a similar test and there’s no audible difference past F3000. Is there a soft limit somewhere?

What’s the fastest feed rate that anyone has tested?

I have a test file I created that runs the X-axis back and forth at different speeds. Starts at F7500, and then slows down to 5000, 2500, 1200, 600, 300. It takes a long time to cross the meter long axis at 300.

And just to clarify, it has a different sound and movement velocity at each of those federates.

There is a max speed in the firmware. If you try to exceed it, it will silently go at it’s max speed. I think the command to check it and set it is M203.

Looks like M203 sets the max, M503 checks it.

When I send M503, I got this response (among others):
07:03:16.451 : echo:Maximum feedrates (units/s):
07:03:16.451 : echo: M203 X120.00 Y120.00 Z30.00 E25.00

I guess I’ll need to run a test to measure the actual current speed.

Here’s the reference from https://marlinfw.org/docs/gcode/M203.html

M203 - Set Max Feedrate

motion Set maximum feedrate for one or more axes.


Set the max feedrate for one or more axes (in current units-per-second).


View the current setting with M503 .

If EEPROM_SETTINGS is enabled, these are saved with M500 , loaded with M501 , and reset with M502 .


M203 [E<units/s>] [T<index>] [X<units/s>] [Y<units/s>] [Z<units/s>]


[E<units/s>] E axis max feedrate
[T<index>] Target extruder (Requires DISTINCT_E_FACTORS )
[X<units/s>] X axis max feedrate
[Y<units/s>] Y axis max feedrate
[Z<units/s>] Z axis max feedrate


Set max feedrate for XY to 100mm/s:

M203 X100 Y100 

So, I wrote code to make four trips from X10 Y10 to X510 Y510 and back:
F3000 = 4000mm/114.6s = 34.9mm/s

F12000 is fun to watch (flying thru the air with an empty toolholder)

1 Like

So, I’m using version 414D which has
#define DEFAULT_MAX_FEEDRATE { 120, 120, 30, 25 }
but I see that the latest version 421 has
#define DEFAULT_MAX_FEEDRATE { 50, 50, 15, 25 }

I’m sure those feedrates are plenty high for milling, but that would limit rapid travel speeds also…

Yeah. Ryan set them a bit more conservative (starting in 418, IIRC). The idea is that if you know what you’re doing, it’s not hard to bump it up. If you don’t then there are reasons why you might hit the top speed while doing something silly. So better to leave it somewhat conservative.

I personally like a lower acceleration too. I think it makes the machine seem smarter… But if I was making a high speed laser engraving machine, I would have different needs.


Yes my laser needs faster acceleration so I built a purpose machine for it high acceleration and no z GRBL and arduino wonderfull led laser setup