Lets talk about ARCs and Circles

Related to this topic, I was testing out the machine with some hole boring operations using Fusion. This results in a helix tool path for each hole. A helix is a series of circles in XY while Z is moving linearly. At first it worked fine for holes of about 20 mm. When I reduced the size of the hole to about 19.4 mm or lower I started to get missed steps after about 3 or 4 circles in a row in a hole. You hear the machine shutter when this happens. I was using the controller to do the arc calculations with the circular interpolation box checked in post processing and max deviation setting of 0.05 mm.

My assumption is the controller was not keeping up. To resolve this I had success with either lowering the feed rate giving the controller more time to do the calculations or unchecking the circle interpolation box forcing the post processor to do the calculations with a tolerance of .002 mm. The latter option results in bigger g-code files but faster run times.

Bottom line, with the stock controller, if you leave the circle interpolation box checked and are doing small holes always test first to see if you get missed steps and take appropriate action.


Thanks for the info SkyKam, does it sound similar to the video above your post where the motor would lose steps on tight radiuses? Raising the MAX Deviation worked in my case, but I didn’t go back to do more testing to figure out exactly what was causing it. I currently cut vectors at 0.005 and carve 3D models at 0.0005, so far it’s been very reliable without any missed steps.

Yes it sounds the same. I did not experiment with even smaller circles or a smaller max deviation. My hunch is a smaller max deviation would cause the controller to do more computing for arcs in the same amount of time and so make the problem worse. If you don’t have too many high feed rate G2 or G3 moves in your 3D carve files then its not going to be an issue. I had a job where I was boring a lot of holes that was producing arc moves. I switched to turning circle interpolation off for those runs and that eliminates any G2 or G3 moves for the controller to process and gives better precision than the default max deviation provides.