# Z axis plunging down while probing for new bit (solved: each tool must be it's own file)

**URL:** <https://forum.onefinitycnc.com/t/z-axis-plunging-down-while-probing-for-new-bit-solved-each-tool-must-be-its-own-file/23950>\
**Category:** Troubleshooting (X35/X50)\
**Created:** [December 12, 2023, 2:03pm UTC](https://forum.onefinitycnc.com/t/z-axis-plunging-down-while-probing-for-new-bit-solved-each-tool-must-be-its-own-file/23950 "2023-12-12T14:03:04Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![349iq2345](https://avatars.discourse-cdn.com/v4/letter/3/bb73d2/32.png) [@349iq2345](https://forum.onefinitycnc.com/u/349iq2345)\
**Post date:** [December 12, 2023, 2:47pm UTC](https://forum.onefinitycnc.com/t/z-axis-plunging-down-while-probing-for-new-bit-solved-each-tool-must-be-its-own-file/23950/3 "2023-12-12T14:47:43Z")

</div>

Hey Sean,

a g-code file with multiple tool changes works fine with the Buildbotics and the buildbotics-derived Onefinity controller. It’s just that you have to put a useful tool-change routine into the ‘tool-change’ field on the SETTINGS page (there is no useful routine in this field on the stock Onefinity). You can use my [Aiph5u’s ‘tool-change’ routine](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/29).

But I am not sure if this is your issue. There exist many issues around the Z axis not doing what it should. Search for [Z plunge](https://forum.onefinitycnc.com/search?q=z%20plunge) issue. Some are caused by bugs in newer firmware, some by cable breaks in the ‘curly’ Z stepper cable, some are caused by [EMI](https://en.wikipedia.org/wiki/Electromagnetic_interference) due to the use of non-shielded stepper cables on the machine, and some by bit slipping due to the mediocre ability of the hand trim router’s collet to hold bits (in comparison to [ER collets](https://forum.onefinitycnc.com/t/makita-burned-up/23846/14) on [spindles](https://forum.onefinitycnc.com/t/spindles-lingering-questions/8643/6) and [43 mm “Euro” milling motors](https://forum.onefinitycnc.com/t/introducing-the-new-onefinity-elite-series-powered-by-masso/16706/115#best-milling-motor-solution-for-hobbyists-and-semiprofessionals-1)).

> [@amsteelle](#):
>
> I am looking specifically for detailed information to help better understand if I do need to save them separately, then why exactly is this the case

Probably the Onefinity manufacturer simply doesn’t want to bother with it. But the original [creator](https://buildbotics.com/about/) of the Buildbotics firmware [instructs you how you](https://forum.onefinitycnc.com/t/like-many-new-forums-the-excitement-and/9209/14) can enter a useful tool-change routine into the ‘tool-change’ field.

> [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/46):
>
> > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/45):
> >
> > > [@Tool changes And Z Height](https://forum.onefinitycnc.com/t/tool-changes-and-z-height/7715/43):
> > >
> > > Many forum members here say the advantages of _one g-code program per tool_ is that you can change the program for a certain tool easier or re-run a pass easier. They put the name of the tool into the file name, and the pass that it is for.
> > 
> > Yes to this. I used to be in the camp where I wanted to keep all tools in the same program. But because I don’t have an ATC and am not running production on anything, I find it more convenient and flexible to actually program for separate tools. So even though I _can_ program for tool changes, I prefer not to.
> 
> I was in the “one program per tool” camp until I implemented the tool setter then I found it was easier to and more accurate put them all in one program and use the tool change to measure T1 Z height, switch to tool 2, then measure T2 Z height and automatically reset the Z offset accordingly. This also works well if your Z axis zero point no longer exists after running the first tool path.

---

_[View the full topic](https://forum.onefinitycnc.com/t/z-axis-plunging-down-while-probing-for-new-bit-solved-each-tool-must-be-its-own-file/23950)._
