Starting Gcode confusion

Hello together,

I have a few questions regarding the starting gcode example for cura.

G28 ;home
G90 ;absolute positioning
G1 X-10 Y-10 F3000
G1 Z0 F1800
G92 E0
G1 E20 F200
G92 E0

G90 <- this should be the marlin default, why it’s set here?

G1 X-10 Y-10 F3000 <- is 3000 mm/s not way too fast? I thought there is a firmware limit.

G1 Z0 F1800 <- this seems to be too fast, too

G92 E0 <- why this is set twice?

G1 E20 F200 <- Is this priming?

Is this nescessary when a skirt is used? I have also seen G92 E -1 followed by G1 E0 F200 for priming

Thanks for your input :slight_smile:

G90 is typical as the slicer cannot guarantee otherwise that a previously run gcode file didn’t leave the machine in G91 - it doesn’t reset automatically after the previous job finishes.

I think the firmware might ignore that 1800 as I think is limited to 1200 in Z. In X/Y only moves the 9000 is the limit. Otherwise though, for a non extrusion move, that’s not particularly fast, I usually use 3000 as my jog speed. Since that move is not extruding, it would be more typical to call it G0, as G1 is used to indicate moves that have an E parameter, by convention. The firmware does the same thing either way, but at a glance it’s a quick way usually to tell if a move is spitting out filament or not.

It’s not set twice…in a row. It tells the firmware to reset the extruder position tracker to 0mm. The following line extrudes 20mm at 200mm/min (way too much in my opinion, I’d do like 5 max), then finally it resets the tracker position to 0 before the print starts. If you don’t reset before the print starts bad things can happen - over/under extrusion because the tracker won’t be in the expected position.

Personally, I extrude 1mm and let the skirt prime the rest. No wrong answers here, as long as you’re happy with the results.


Thanks for the input!

Also I haven’t realised that the feedrate in the gcodes is in mm per minute and not mm per second :see_no_evil:
I was super irritated

1 Like