Best feed rate for hardwood

Hello, I’m trying to figure out what the best feed rate tool rpm is for hardwood. I’m using the Makita RT0700C which has a max rpm listed as 30k and I have seen on this forum that the onefinity can do a feed rate of 500 ipm. If I want to cut hardwood with a 1/4" bit i’m supposed to aim for a chipload of around .01. According to this little feed calculator I have, I could get that with 500 ipm and 25K rmp. Now this seems really fast to push a bit through oak. I did a test at 400 ipm it worked fine but looked crazy. This chipload is supposed to be fine for my bit. Does anyone know a reason not to run the machine this fast? Will it wear out the machine or router? if it doesn’t burn the wood and cuts clean, is there a reason to run it at slower speeds?

It all depends on the program, but if there’s a lot of jerky movements, you’ll notice, in addition the possibility of losing steps is increased significantly. Again, depends on the complexity of your part.

As for wear on the system, the ball screws would be taking the brunt of it, as well as the motors, as I presume they’ll be running a higher amperage to get those speeds.

tl;dr - experiment, and run what you’re comfortable with, but I tend to run much more conservative, simply because shaving off seconds, or even just a few minutes on long jobs simply isn’t worth the error/risk potential for me. :smiley:


Nathan - there are a million reasons not to run your machine at full speed. The first and foremost, you should optimize the cut for chip load, not speed. Second, optimize your chip load your machine, not a generic formula for some unknown machine.

It is highly unlikely you will be able to hit the chip load target for your bit based solely on manufacturer suggestions. You need optimize, and fudge, for your machine.

Super safe is DOC = 50% bit diameter, feed rate is 40-60ipm. That will generally work every time. It is not optimal nor is it terribly speedy.

I don’t yet have any solid recommendations beyond that yet, and each recipe depends on the wood species and other factors. I hope to do some testing soon (but I have been saying that for like 3 months, so… ;)).



I keep hearing DOC what does it stand for and how do you figure it out?

DOC is an acronym for ‘depth of cut’. From a CNCCookbook glossary page I had bookmarked it states:

"Depth of cut is a measurement of how much material the cutter is removing along one axis. So, a ½” endmill whose end is 0.020” into the surface of the material being cut, either below the face in the Z-direction or along the sides of a slot or pocket in the X or Y directions, has a 0.020” depth of cut.

Obviously it takes more power to run a higher depth of cut. You may need to run at a slower feed rate or spindle speed if you run a greater depth of cut. For CNC machines, it can be more advantageous to reduce the depth of cut, increase spindle and feed rates, and just make more passes to reach the desired depth.

Depth of cut is typically less than the diameter of the cutter, and sometimes much less depending on the rigidity of the machine and cutter."


Tim, thanks for the rely. I hadn’t considered the controller missing steps. I guess that is possible. The processor in the raspberry pi should be able to handle lines of gcode. I don’t know what other components there are between the controllers computer and the motors that would cause it to miss steps. I would be happy to learn more about the spec of the components between the motors and the raspberry pi. If you have specific knowledge about this. Have you ever witnessed your machine missing steps?

The Guru, thanks for your reply. Second first. going off the manufacturers recommendations for chip load seams like a good place to start. which as i mentioned is around .01 for hard wood. My basic understanding is that you want chips and not dust. Dust would imply that you are moving too slow through the material which would cause heat. this is to protect your bit from dulling. I know it’s counter intuitive.
So given a good chip load for the bit. my question was regarding reasons for running slower then the machine is capable of. I outlined two possible reasons. Wear on the equipment and bad cuts. Wolfkable mentioned that it’s possible that the controller could miss steps. I would be happy to hear the remaining millon reasons.

The RPi doesn’t actually process the gcode. The RPi is basically only there as a web-server for the software interface, and acts as the gcode sender over serial, to the BB board. The gcode is then processed there by the ATXmega192a3u processor.

Ultimately though, when it comes to missing steps, it’s a combination of the controller processor and the drivers (in this case DRV8711, and the settings/configuration which are setup. The way BB is built is a little different than other similar systems, and a read of this post will shed some light on that. Ultimately though, trying to drive the system too fast can/will lose steps, this is a limitation of stepper motors in an open loop system in general. If the controller tells the machine to move 300mm, and the driver sends the pulses to do this, but rate requested is very fast, and the mass of the machine can’t keep up, and the controller sends the next instruction before the prior finished, then things go bad.

1 Like

Hi @wolfkabal ,
Hope you don’t mind a newbie Q.
Is it then correct to say that the axes positions are “assumed” based on the sum of XYZ moves from homed position? Ie There is no position feedback?

@rcincorona - Yes, with the OF (and any other standard stepper based systems), the controller never knows exactly where the actual position is. It only assumes what it commanded was followed.

In contrast, there are hybrid-steppers (steppers with encoders attached) and servo motors, which are closed-loop and return back exactly what the motor did, and the controller/drivers can compensate.

1 Like

Very interesting. That makes sense. So I guess the processor sends individual motors a command, then I assume registers that the command had completed before being available for a new command. At 300 ipm my display shows the gcode commands moving as a pretty good clip. Thanks for the info regarding the architecture and components of the buildbotics controller.
Was there a link to the post that will shed light on the way the BB is built?

Sorry - forgot to link it - updated my previous post

1 Like

Thx Tim! @wolfkabal
Good stuff!

Thanks Tim!

Nice breakdown on open loop stepper control by Tim.

To give some numbers to OP: I did a lengthy cut in a 3.5" slab of walnut where I had to rough clear a LOT of volume before doing a 3D carve. I ran a few scrap tests to find the limits of how fast I could push things. The tool path was fusion’s adaptive clear, which aims to keep a constant axial engagement for fast clearing. I used a 3-flute carbide bit on an 800W spindle at 24k RPM. To utilize more of the flute length and avoid heating/wearing just the tip, I had Depth of cut (DOC) at .5" (huge) and the axial engagement was only .025". This gave a chipload of .002 for each flute. Running at 150IPM gave me great results both along and across the grain, and cleared a good amount of wood rapidly with beautiful small chips and no dust.

Now this is a single case example and there are tradeoffs: Going with a higher chipload or axial engagement was possible, but produced tearout. Taking a larger DOC engaged more of the flutes at a time, and I ran into the power limit of the 800W spindle. Your application will no doubt be different depending on the material you cut and the tool path strategy used.

My advice: Run some tests on your material first to get an idea of where you want your settings to be. Keep a notebook of your settings and tests so you can reference back to them later.


Here are some pictures of my a test cut I did in oak.
Horizontal Roughing 1/4" endmill 15K RPM, 300ipm
Parallel Finishing 1/8" ball nose 30K RPM, 230ipm
It worked fine at these speeds.


Sweet! That’s the kind of things I’m looking forward to making once I get mine.

1 Like

I’ve never tried to adjust the axial engagement - is that done via stepover or is there a field for it in Fusion?

Yes I believe in Fusion go to passes and adjust optimal load if doing 2d adaptive process, 2d contour in passes select roughing passes and adjust stepover, 2d pocket under passes adjust maximum stepover.

What was your depth of cut? 1/8"?