CNC Spindle Speed

How can we change the CNC Spindle speed within Luban? There are instances where I would like to reduce the spindle speed. At the moment, the only way to do this is to edit the G-Code after it has been generated and change the M3 P100 to a lower value.


You can choose the spindle speed in the workspace under the console.

Thank you Bilzer but I don’t see this. Can you perhaps send a screenshot?
I’m using Luban 3.4.2 to generate the G-Code, then I select “Export G-code to file”. I copy this file over to the USB and use the Touchscreen to control the CNC. I want to be able to change the Spindle speed for the specific G-Code file. Thus, the Spindle speed option should be part of the CNC screen before generating the G-Code. The same as all the other settings of number of passes.

If you say “choose the spindle speed in the workspace under the console”, are you referring to Luban or the Touchscreen? If you are referring to Luban, do you suggest the sending a separate M3 command or where do you suggest “under the console”?


Which Snapmaker do you have. With the Original isn’t possible to change the speed.

You can also programm it direct in Fusion 360.

Hi Bilzer, I have the A350. I manage to change the spindle if I edit the G-Code and change the M3 P100, but this is a manual intervention. It would be much better if there is a spindle speed option within Luban.
I will have a look at Fusion 360.


I’ve checked this, youre right, it’s not possible to set the spindle speed.

just wiht gcode direct.

in fusion you can give every tool another speed.

Thank you Bilzer
I’m now going through the YouTube video you pasted in another thread/topic. It is very helpful.
In terms of settings, what would you use as the Maximum Roughing Stepdown? I know it depends on the bit, but I don’t want to overload the linear modules. I’m not concerned in breaking a bit, they can be replaced, but am concerned on putting too much strain on the Snapmaker.

Apologies, second question;
How do you handle tool changes or do you currently use one bit?


I would also be interested in your work flow using different tools, especially with different length. I’ve still got to wait four months though, till I can play with my snapmaker :innocent:

I carve with 0.3mm stepdown and 0.3mm sidecut or sidestep in Wood, but is depending on the material.
So you can speed up while carving
or you can do it contrariwise with more stepdown an slower speed.

You will find a calculating tool also in this post.

to you second question, i’ve never test that because i can run it slow and for a long time.

But i will test it soon, i think with two different g codes it must be possible.

And the bit length you can set manually and mesure it or print a tool to set every time to the same depht.

1 Like

Using a dummy tool for defining the starting point would be an interesting approach. You could print a pointer with a tip that fits into the collet to define your zero Positions. I just got to learn where to define the tool offset in fusion.

one problem ist that in the collet is no impact or is to deep.

You should put your bit into the collet nut before inserting the collet nut. This way you can mount it with a constant length.

Possible, but when you mount it on, it will pretend.

Thank you for the Fusion 360 links. I have been using this for the last two days and there are so many options.
However, the speeds can be changed in Fusion but it the CPS file that I downloaded from has the speed hardcoded as P100 (Power 100%) on line 133. Do you perhaps have a different CPS file? I see the upload date on Snapmaker is 2020-04-26, they might have uploaded the old Snapmaker Original file by mistake.


Hey everyone,

Got stumped once too many times with feeds / speeds not matching observed results…

…so I built a tachometer with an ESP32 counting IR light pulses.

Results seem to indicate my A350 give me the following speeds ( at no load )

M4 P100 = 11940 to 12000 RPM ( fluctuating across 1min of measurements )
M4 P90 = 10800 to 10860 RPM
M4 P80 = 9600 to 9660 RPM
M4 P70 = 8400 to 8460 RPM
M4 P60 = 7140 to 7200 RPM
M4 P50 = 5940 to 6000 RPM

Please note:
I have not verified functionality of code + ESP32 + IR sensor…but numbers seem to make sense.

I hope this is helpful to someone :slight_smile:

ALSO…FUSION 360 GCODE exporter seem to always set the spindle speed to max speed ( M4 P100 ) regardless…so be prepared to edit the file manually…until that get fixed… ( snapmaker team I’m looking at you guys now… )



Nice work! No chance you’ve gotten a feel for how the spindle speed changes under load?

If the feeds and speeds calc say the spindle should be 12k, during the cut does it drop to 9k?

Funny you would ask… :slight_smile: …just made a video with a pretty aggressive Delrin cut…and measured RPM live…

Hope you find it useful !


That’s great stuff.

Would love to get that RPM gauge, with appropriate firmware tweaks, serving as a work speed adjuster. Some basic logic like if the spindle RPMs drop by more than 10% decrease the feedrate by 20%. Might save a broken bit.

Just finished watching the video, that’s excellent work!

I already have a tachometer on my shopping list, but this seems like a solid alternative and I get to play with an ESP32 - which has been on my to-do list for at least a year.

I wonder, me being completely oblivious at this time to the underlying math, if it’s possible to measure the power curve of the spindle with your setup.

It’s one of the things that SM hasn’t (yet) provided.


1 Like

Why not just watch the spindle speed on the controller?