M600 command for Snapmaker Original

there is no source code for the snapmaker original available

The Snapmaker Original firmware is available: FYI:Source code of Snapmaker Firmware - #25 by Edwin

AFAICT, there’s no git repo for it anywhere, and they didn’t include the .git directory in the zip. The V2 firmware .zips in the same thread also don’t include the .git directory. I’m assuming the V2 firmware was developed on top of the Original firmware though. If I’m right, you could rollback the V2 firmware to recover the Original firmware.

What’s not available is the tooling to build and package that firmware into an update. I don’t have the equipment I would need to unbrick the controller, so I’m not willing to experiment.

Although… the original firmware zip looks further doctored. For example, that Original firmware was posted in 2020. If I look at the README.md in the zip, it’s just a single line saying # Firmware-Snapmaker. Going back to 2016 in the git repo never turns up a README.md that matches. Git commit c016c84957 is the first time I see Snapmaker2-Controller in the commit history, but there are earlier references to 1.7.0.0 and 1.8.0.0. So the more I look at this, the more I think the V2 firmware is a fresh Marlin fork, that is not based on the Original firmware.

press pause (not sure if this is available on the touchscreen)

The Original doesn’t support pausing the print from the touchscreen. It’s also a PITA to load filament, as you have to get the filament perfectly straight, and hope you can spear it into the opening. It still takes me 1-5 minutes to make a change (I don’t do it often).

The firmware appears to support the M600 command, although I’m unsure what the C function lcd_clicked() would require to exit the pause. A bit of experimentation should answer if there’s anyway to resume a print after issuing that command.

If that doesn’t work, you could move the head as @xchrisd suggests, move the head out of the way, and set the filament to very slowly extrude for 2 minutes. That would give you time to swap the filament manually, then have the print resume. There’s no run-out detector though, so if you don’t get it done in 2 minutes, you’ve ruined the print.

The upper position is needed because of the easily moving down z axis

While the controller is running a print, the Z axis doesn’t fall. It’s only when the unit is turned off that the Z axis can drop under its own weight. Still, due to the manual nature of a filament load, you’ll want to not be extruding filament on top of your print. You’ll need room to push enough filament through so the color is stable, and you can remove the manually extruded filament without it ruining the print.