Shapeoko vs. Aluminum round 2, why don't HSM best practices work?

Vince, that’s great advice. I’m curious what DOC/WOC you’re able to achieve using multi-flute cutters in your roughing passes. I know you’ve mentioned you have very high MRR before and that’s really what I’m targeting right now. I realize I’ll need to go back in and do finishing passes. I’m not expecting perfection on a roughing pass, I just feel like the surface finish I’m getting is indicative of a problem.

Part of where I struggle is not knowing the limits of the machine. Is 5 cm^3/min an unreasonable expectation for this machine?

I have tried to use the gmack calculator before, but honestly I got worse results when trying to adjust based on it, so I sort of gave up. I’ll have to give it another shot now that I’ve got more experience.

To be clear, I am running an HDZ on this machine, but still have an MDF work surface. Do you think part of what I’m seeing is the lifting force of the cutter deflecting my table and causing some of this issue? If so, I’m not opposed to upgrading to a 5/8 aluminum bed.

I’m going to run some more tests tonight with a shorter single flute end mill and a 3 flute.


Believe you me, ive been there and made the same mistakes! The adaptive should leave a consistent finish as its a constant load toolpath.

Once we input your adaptive toolpath in the worksheet its easy to see where things started to go wrong. Your actual chipload after thinning was 0.00078 and you should be targeting a minimum of 0.001 for that endmill. Also keep in mind that a coated end mill will not be as sharp as a bright so its best practice to give it some real load.

Here is an example of what ide run on a Shapeoko with HDZ and mdf wasteboard. This is still 3.5X deeper doc that the 2D pocket and matches your 0.28 MRR. Start the toolpath then use feed override to slowly increase the chip thickness. You will be able to see and hear when the machine is happy. Load is key, a lightly loaded machine will bounce all over the place and that will feed on itself in the form of chatter.

Honestly Ive gone back to almost 100% single flute because my setups need to be mobile and I now run 100% dry without airblast. Haven’t thrown on a 10+ lb chunk in awhile so its better to CAM safe and wait an extra 10 min in my case. The main thing when going to a multi flute will be chip clearing and if you really want to run a triple hard then make sure its a good quality corn cob. They take less tq than a straight triple and smaller chips are easier to manage both in and out of the cut.

The MDF isn’t helping, but if you support the bottom well it shouldn’t be an issue. Even making an aluminum fixture plate that bolts ontop of the bed will stiffen things up and its quite a bit easier that a whole bed replacement. However, Saunders Machine Works just came out with one that looks pretty spiffy.

As long as your stick out isn’t past 1.5" then I think you’ll be fine. Definitely check and adjust your runnout on the triple and make sure that chipload - runnout > 0.001"


I’m fairly new to this and nowhere near as experienced as Vince but the main thing that helped me was to think of the cut settings as a slope: at the top you have full width of cut and a shallow depth of cut and at the bottom you have full depth of cut and shallow width of cut. You need to slowly work your way down, increasing depth of cut while decreasing your radial engagement.

Once I had that in my head, I started working my way down a piece of stock doing some straight test cuts with G-Code in the MDI. My process aimed to find how much radial engagement I could get given a particular axial engagement. The process was:

  • Zero the mill, face the stock over a (relatively) small area to use for test cuts
  • Increase axial engagement (i.e. move down on the Z axis) in increments of 0.25mm (I’m using a Nomad, this number might be different for you). For each axial increment:
    • Increment radial engagement (i.e. move towards the stock on the Y axis) in increments of ~0.05mm (I kinda went by feel here). For each increment:
      • Take a few cuts at different feed rates (I usually start with a few short cuts of say 5mm, starting at say 250mm/min and increasing by 50% each time until the machine starts to make loud noises)

For me, I found a “sweet spot”. There was a point where the axial engagement cost me so much radial engagement that it just didn’t make sense to continue any more. IIRC the sweet spot was at 0.75mm DOC, where I could get 0.6mm stepover. If I went to 1mm DOC, I couldn’t get more than 0.3mm stepover without drastically reducing feed rate, which clearly doesn’t make sense.

I’m sure there’s a better way than all this trial and error but I ended up with results I was happy with: 10000rpm, 0.75mm DOC, 0.6mm stepover and 1200mm/min feedrate with a single-flute endmill from a local company.


@Vince - those settings you recommend are right on about the max MRR I was able to acheive previously, so it looks like ~4.5cm^3/min is about all you can expect out of a Shapeoko with a MDF base. Glad to see that we’re in the same approximate range though, that gives me some confidence I should stop pushing for higher MRR and focus on cleaning up my CAM efficiency.

Now, do the same requirements hold true for finishing? I’ve often seen people take very light, very slow finishing passes, but that seems to violate the chipload guidance of not going under 0.001". Does this logic break down a bit when you switch from roughing lots of material to taking very thin skim cuts in order to get nice finishes?

If I really want more, I guess I need to start saving for that granite/epoxy machine I keep dreaming of building with big motors, linear rails, and a tool change spindle :smiley:

@Moded1952 - I also view the cutting parameters as a slope the same you’re describing. The constant I’m holding is MRR. I’m sure my machine would be very capable at your suggested settings, but they’re also very light. You can certainly push your machine harder than that. The MRR for 0.75 DOC 0.6 WOC @ 1200 mm/min is only 0.54 cm^3/min, or about 12% of what I’m trying to remove (4.5 cm^3/min).


I’m on a Nomad, I can’t achieve the same level of MRR as you unfortunately. Those settings are already double the MRR of the recommended settings for the Carbide 3D end mills.


The approach to Nomad and Shapeoko feeds and speeds can be completely different. The Shapeoko has the benefit of sheer power and speed at the sake of rigidity.

I adjusted the feed rate in that example to match the MRR you had before, makes no sense to go backwards right. Its a safe bet that you could probably increase the feedrate to around 100ipm which would be an MRR of 0.50 inmin / 12.7cm. This kind of cut would benefit from your mister and you’ll definitely notice some heat coming off the chips.

Finishing doesn’t remove much material which means it doesn’t create the same amount of heat. Even finishing gets a minimum chipload for CAM, been working well for me. Tool pressure, tool engagement (constant = good) and chip clearing are important

Actually X linear rails offer huge rigidity improvements while being pretty simple to make/install. And if thats not enough, @DanStory designed and offers a Y linear rail kit. I think we all dream of those things but its surprising what a few rails can do.


Minimizing the overall cutter stick-out from the structural supports can also help. If the MDF spoil-board is adequately secured and supported it’s not likely an issue (in most/all situations) IMO. That’s especially likely in this situation where the axial forces are likely insignificant and there’s less axial cutting force with the deep cuts than the shallow ones. Linear rails are an entirely different story.

I’m a recovering(?) engineer, so my inclination would be use endmills (and other tools) within the parameters established by their manufacturers. Kennametal makes affordable endmills that might be worth considering. Here’s what their recommendations (adjusted for Shapeoko limitations) are for @Kai’s project.

Their K-Factor is apparently 1.76 cuin/min/HP vs. the SPDF’s 3.344 (more accurate?), so I changed that as shown here:

Note that there are cutting power, torque, and force increases to achieve the same MRR.
The latest SPDF Workbook with sheets for this stuff is contained in this compressed folder: 2020-06-10 (174.7 KB)
I’m still trying to figure out how to rate your BLDC motor’s capability, so that’s likely to change. Also @LiamN has been helping to get more accurate parameters for HF spindles, so that’s likely to change too, as will the AC router parameters and the “Measured K-Factors”.


Love all the new inputs and thank you for your effort in keeping it up to date! However I couldn’t get the feed by force working so if you have tips I’m all ears. Also I’ll try to get you some 6061 measured K factors soon.

Imo a 0.00059 chip thickness by KennaMetal is bonkers, and at a 4lb force you cant even slow the machine down realtime. Now double the feedrate and I see where it could work but it takes some tweaking to cut 150ipm and up.

Here is my example of increasing the feed realtime (+55%) based off a 0.125/0.04/55. Increased feed to 85ipm and matched the 0.43 MRR and 4lb force of the Kenemetal. However, the chip is 0.002 so that means that you have flexibility with real time overrides up and down to taylor the toolpath.


Much thanks guys. Like @Vince.Fab said, increasing cutter engagement helped with stability greatly. The chatter completely disappeared when I went back to a shallow wide cut, I guess I should just stick with what works and no try to optimize too much :slight_smile:

I ended up running the tool path with my “Best Performing” settings above (0.9mm DOC, 4mm WOC), but with the adaptive tool path keeping a constant load in the corners (vs. the 2d Pocket I used previously) I was able to run at 150% feed rate!

I also tried out a radial finishing pass which ended up looking pretty good. Now I just wish I’d run it on the axial surfaces as well.

Completed part fits up great (threads were drilled/tapped off machine):

Here it is installed in the car. This particular bracket is to adapt a cheap off the shelf EGR linear position sensor from a Ford 302 to measure turbo wastegate actuator position on my track car. Please forgive the dirty engine bay.


Now that’s a good looking part! EFR with a TurboSmart actuator? Good combo.

Ide love to see the file if you don’t mind sharing. You can also probably get a better wall finish (less faceting) decreasing tolerances (I use 0.0001) and using a constant engagement path like ramping. Awesome you were able to increase the your mrr so much.

Boring also works very well on circular surfaces. Any plans on trying out thread milling in the future?


The only reason I didn’t thread mill these parts is that my mill is too large. These are M5 and my mill is for M6+.

You’re correct on both fronts, it’s an EFR7163 with the new TurboSmart dual port actuator. I wasn’t willing to pay >$100 for WG position sensing capability and I figured it would be a fun project. It’s on a E30 w/ the stock M20B25 running ~15psi or 300 whp-ish. I need to get it on a dyno as soon as my buddy gets his fully installed and running.

Already ahead of you on the thread milling, it’s great. You have any good leads on reasonably priced thread mills? Here’s an oil manifold that uses the stock oil pressure switch port on the block and adds capability for oil temp, oil pressure, and turbo feed (while maintaining the switch) from a couple weeks ago. Less than ideal surface finish, but an okay overall result. It will bolt onto the stock AC compressor bosses on the block for nice packaging.



Thanks for the feedback and actually using the thing! I fixed the feed force problem and a couple others and will post the latest version on the SFPF calculator thread shortly. What forces do you like on your various machines?

I added another sheet to the workbook that replaced the HF Spindle with your VSEC BLDC motor. If you use it for that you’ll get more accurate results. The increase in motor current when cutting should provide a good measure of actual cutting torque (provided it’s accurate). That, in conjunction with router cutting speed, will give cutting power. I suspect that the VSEC tool’s “Power” is actually VSEC input power.

I don’t know about that, but its the lowest chip thickness their calculator comes up with. I posted that on the SFPF calculator thread along with matching pictures of the three different spindle type options the latest workbook offers.


I expect that the electrical power & current measurements on the BLDC motor will be considerably easier to map to mechanical cutting power and torque than a VFD driven spindle. The VESC has lower losses than a VFD and the BLDC motors don’t have a rotor to induce magnetising currents in, as well as appearing to have lower overall losses than the spindles.

I think you switched the DOC and WOC entries on the worksheet. I guess you’d call this HSM (High [spindle] Speed Machining) in conjunction with HFM (High Feed Machining where WOC >> DOC) rather than Vince’s HEM (High Efficiency Machining where WOC << DOC).


Yes, you’re right. I’m used to seeing WOC before DOC in Fusion 360 so my brain defaulted to that. I fixed the screenshot in the previous post so people won’t be confused in the future.


The VESC provides current into the motor. Torque is the product of motor current and the motor’s torque constant. Power is proportional to torque and motor speed. So the calculation is only dependent on the accuracy of the VESC’s current measurement (which should be quite good) and the motor’s torque constant (which should also be quite good).

The SFPF Workbook tries to do the same thing with HF Spindles (i.e. calculate a torque constant). But, as you’ve pointed out, the magnetization currents make that more challenging and consequently less accurate, especially when so little of the spindle’s capability is utilized.


Once I get my power meter I hope to be able to run my spindle through the no-load speed sweep and then start getting real power kW and motor Amps (once I get around the not-actually-modbus signalling from HuanYang) so we can put measured data in place of some of those assumptions in the spindle model sheet.

1 Like

There are software tools that take into account the machine rigidity (roughly) - remember that the HSM strategy is based on how well it works in large machining centers, where time is money, not hobbyist machines that have a lot more compromises. That said, it does work, but you need to tune things in a bit. @Vince.Fab has way more knowledge than me here, but as he says, takes some work to tune in.

GWIzard is a great tool, and well worth the money. Bob really likes the SO3 machines, and has done a fair amount of work to make the tool very friendly to them. If I remember, there’s a free trial.
He also has a great “get started with aluminum on CNC routers” post. (and some FAQ’s down at the bottom. (nope, not a paid shill, just really like the tool, and it’s saved me a lot of broken tools!)


As explained here, as well as countless other reasons, I’d pick HSMAdvisor over GWizard any day. However, Kennametal’s NOVO calculator is free and likely more accurate than anything else when milling metals with their reasonably priced material specific endmills. But, like with GWizard, you have to divide the cutting torque by the cutter radius to get cutting force.

1 Like

Not arguing, just saying I like it, and for the others, including @Kai , who the reply was to, just wanted to mention there were other tools to help with HSM on small machines.