FEATURE REQUEST: Adapt G30/G38 for diy probes for CNC

There is a module called “MODULE_CALIBRATOR” in Snapmaker2-Modules github.

Seems that only function for this module is reporting probe status, and we can make DIY probe and use it with the G30/G38 GCode, ‘cause it’s a bit annoying to set Z height every time in CNC mode.

However, G38 is disabled, and G30 is enabled, but not using Snapmaker module probe, so, it just will ram into workplate.

It will be good to adapt G38 and G30, or at least upload source code of SM Artisan controller. Also it’s a good opportunity to release an branded probe version.

Im with you on this !! i try quickly but really want something more native to snapmaker environement. ie jog wheel that we see in few Snamaker demo. will be great to have external emergency stop for artisan because in my setup its hard to acces because of shelf. Per image jogs wheel look like to be on the can bus side because of the connector type. For sure we could create (what i did ) simple jog wheel over usb serial but its need to be power externally. That been say they should give all source code since its use Marlin open source.PS i dont realy know what are the 2 other device on picture but look like to be Z axis calibrator and XY calibrator. Would be great if snapmaker give acces to those and leave communoty play arround if they dont have men power to make it happen

SM3_V3.0.1_20260326.zip (298 KB)

After waiting (long enough…) for Snapmaker to release the CNC probe that was hinted at in promotional materials—but never actually delivered—I decided to build my own solution.

I used the Artisan Booster Fan hardware and simply plugged a light into the light port. Here’s how it behaves:

  • Flashing: waiting for connection to the controller

  • Slow breathing (dim up/down): connected and ready

  • Full intensity ON: probe contact is detected

For the probing signal, I used pins 3 (Input) and 4 (gnd) from the door sensor connector.

Everything runs after reflash the enclosure board using a reflashed calibrator BIN.

Important notes:

  • The calibrator MUST be connected before powering on the Artisan controller

  • If disconnected, a reboot is required

Controller update required:

  • This only works on Artisan

  • Make sure your controller is on official Snapmaker firmware 2.8.0

  • Copy SM3_V3.0.1.bin to a USB key and perform a local update from the controller

At ~80%, you’ll get an error:
“no screen update file” → this is NORMAL
I am only updating the controller (Marlin), not the Android screen.. just close it..

Note:

  • The calibrator is intended for CNC use

  • It remains active with other modules, but their native functions still work fine, so no real benefit there

Workflow (my use case):
I machine plastic enclosures using CAM-generated G-code and multiple aluminum jigs with a bottom-left origin.

Setup:

  • I bring the 2mm endmill ~5/10 mm from the origin corner

  • Attach one clip to the spindle shaft and the other to the jig

  • Run the probing G-code

Result:

  • Origin is set in under 1 minute

  • Before this, every jig change took a long time using a feeler gauge

I’ve included the G-code I personally use if anyone wants to try it.

:warning: Disclaimer:
This is an unofficial modification. I am not affiliated with or supported by Snapmaker.
Any attempt to replicate this is entirely at your own risk.

PS:
The new firmware also enables support for the Snapmaker 2.0 emergency stop button. I know some will say it’s unnecessary since there is already an emergency stop on the unit—but in my setup, the built-in button is not easily reachable due to my workspace layout. A remote E-stop is genuinely useful.

Some purists will argue that a remote E-stop is not as good as a physical one on the machine. However, the stock unit is not a true hardwired full E-stop either—it remains software-controlled. Cutting the power supply with a remote achieves essentially the same result, with about an 8 ms delay due to CAN bus latency.

In my case, that delay is far shorter than my reaction time to reach the original button, which is not optimally positioned. My remote button is placed right next to my actual working area, making it more practical and safer in real use.

No modification is required to the emergency stop button—it is plug-and-play just like on the SM2, as long as you are running controller update 3.0.1.

If Snapmaker won’t ship it… build it.

4 Likes

This is the first custom artisan firmware I see. But how did you build it? There is no official repository, is there?

I also would add one or two real minor tweaks, but thought there is no way for changes.

Same question, where is source for Artisan? There is only empty repo for the issues on the official github. Can you post link to the source code?