Who?
Anyway. It should be noted, while it seems daunting, gcode is actually quite simple. Outside of a few specific commands to control it (such as G90
for absolute position, G21
for using mm, etc.), which can generally just be quickly searched as needed, most of it is literally Point A to Point B. The header and footer will be the main setup/safety/informational gcode lines, whereas the bulk is going to be G0
/G1
commands, which are both linear movement commands, where G0
is usually ‘rapid transit’ or non cutting/lasering/extruding lines (moving the toolhead one place to another quickly) and G1
is the movements that do what you want. i.e. G0 X10 Y10
moves the toolhead to 10mm in X and 10mm in Y from the origin. Unless you’re in relative mode, then it just moves that far from the current position. (of note, Lightburn uses relative movements after going to the origin, whereas Luban uses absolute) A simple square looks like this in absolute;
G1 X0 Y0 ; Moves to origin, usually lower left corner.
G1 X0 Y10 ; Moves 10mm in Y (the bed)
G1 X10 Y10 ; Moves 10mm in X (gantry)
G1 X10 Y0 ; Moves back to Y0
G1 X0 Y0 ; Finally returns to start.
and like this in relative;
G1 Y10 ; Moves 10mm in Y (the bed)
G1 X10 ; Moves 10mm in X (gantry)
G1 Y-10 ; Moves -10mm in Y
G1 X-10 ; Moves -10mm in X
If there was an M3 S255
(M3
is laser/spindle on, S#
is power, 255 being 100%) before it, and an M5
(spindle/laser off) after it, that would engrave a 10mm square. Absolute is easier to wrap your head around as a beginner, as the X/Y numbers corelate with exactly where the toolhead is. Once you actually begin getting into it, it can get addictive to go “what will changing THIS do?” Plus most of the edits in my guides are just “replace A with B” kind of things, so no gcode knowledge needed, just gotta change a few things so the machine understands it. (A is what Lightburn uses for GRBL rotary, whereas Snapmaker understands B, it’s the same thing technically)
The reason these are needed in the tutorial is the fact that it generates what it thinks is for a GRBL machine. There is an option for it to spit out snapmaker gcode with the rotary, but I’ve actually not used it. I’ve done the full custom thing because the results are so much faster and cleaner. If you follow them step by step, you should be fine, even with the custom firmware. Only one person has had a problem with the custom firmware, and that was because their touchscreen was crashing the main control app when they tried to update the firmware and they tried to fix it on their own. However, support got their machine back up, and they tried again and it went through the second time. We think it was crashing the first time from a bad USB drive. It’s worth noting that “custom” firmware is a bit of a stretch. All I’ve done is compiled from Snapmaker’s github and edited out one merge. It’s otherwise still stock. Mainly because the inline feature of Marlin is on their github, but their official releases use an internal build without it.
You can also ask questions in the thread and I, or others, will try to answer the best we can to help. Here’s a stickied post containing a lot of guides that should help;