BitSetter and other tool length sensors supported in gSender

I agree with @NeilFerreri , that would be a good way to handle that I was just about to go look if you could pop a message and realized you cannot, and cancelling after the M6 is super non-intuitive.


Anything that will give information or leave flexibility for a user changing their mind or forgetting what to do next, especially at tool changes is welcome. It is hard to foresee and pre-program for all eventualities. I would like any comment on a M0 or M6 command line to show up in the dialog box to remind me what I wanted to happen next. I would also prefer to use the existing manual Z probe at tool change rather than a pre-determined macro, then just tell the thing to continue the job. There is also the possibility that I would decide a tool seems too dull so I could interrupt the job and replace the tool followed by a Z probe and tell it to continue

If I recall properly, with Gsender as is, you can go to the settings, and for Tool Change select “Pause”. In this case, you would turn off your router, jog the machine if necessary to change the bit, re-zero the new bit in the z-axis only, then continue with the cut.

By allowing us to extend that and run some code, we could pop a dialog box that would give you more information, such as the next tool number if it is listed in the file.


1 Like

Hi Neil. Nice to see you here. I downloaded and installed the macros without difficulty. Thank you for putting in the considerable amount of work to code these macros. I have adjusted the user variables and all is well. I have a two tool job, which I was going to cut as my first gSender routine. My initial tool was zeroed to the workpiece and then I ran the initial BitSetter macro. All seemed well. I came to run the job and the machine, standard sized Shapeoko SO3, started to cut air at 11mm above the workpiece. I had a few hiccups loading the job and removed hard and soft limits. No more alarms concerning the limits.

My question is where would be a good place to start fixing this small issue? Thanks

EDIT: to add that the air cutting is now fixed. It was my failure to account for the stock depth at one point in my processes.

1 Like

Hi Neil,

It’s been a while since we chatted!

I was woondering if you know what the pinouts are for the BitZero v1, please? I wan to use it on my RatRig 1075, which is controlled with a Duet3 MB6HC, via one of the io ports, but I just need a little more infrmation to ensure I don’t fry it!

Nice to see you here!


Just installed gSender and the macros from @NeilFerreri my shapeoko seem to run great on it and I love it! until I do a bit change, for some reason after running “New_Tool_bitsetter” my Z height is 0.816" lower than it should be. even if I don’t change the tool or the height. Any help would be greatly appreciated.

Current setup:
Shapeoko3 xxl
currently using touch probe for tool length (BitZero V1)
changed “%global.state.PROBE_DISTANCE = 100” to =30 (in both macros) I was getting soft limit errors before. yes, I put it back and disabled soft limits for testing and had the same results.
I run my machine in inches

Current test procedure:
install bit
probe for Z
G0 Z1.0
check with 123 block z= 1.0"
run Initial _Tool_Bitsetter macro
G0 Z1.0
check with 123 block z= 1.0"
run New_Tool_Bitsetter macro
G0 Z1.0
z=~0.184 (didn’t measure but that was the difference in the absolute Z coordinates)

Thanks again for any help!

1 Like

I am using gSender and Neil’s macros. I used a BitZero 2 with BitSetter but gSender is looking for a solid probe rather than the probe that needs centring in a hole.

My routine is measure Z height 0 by touching off
Run initial tool length macro
Mill part
Change tool command
measure tool length using second macro

thats it. I routinely carve using two or three tools and the macros work great

I should have clarified that I am using a BitZero V1. so there is no hole, but definitely see how that could be an issue. Thanks.

1 Like

@mattwilson85 When you say you run in inches, is your $13 =1?

Yes of course it was. I switched it and it works like a dream!!!
Thank you Very much @NeilFerreri! I knew it was going to be something silly like that.

1 Like

Great! No problem.

Only reason I had that thought is because you’re not the first. I don’t think I ever explored why (it still should work), but I just chalked it up to rounding issues. Generally, Grbl prefers metric.

@NeilFerreri macro’s work perfectly for me. One question:

Is there a way to modify what gSender does when you select “Manual” from the tool change settings screen? I like that it lifts the router and moves it to Machine x0y0, but I would like to add an M5. I hate that the spindle keeps whirling away until I manually send an M5 from the console. In a perfect world I would also send it to hover over the tool length setter rather than Machine X0Y0.

That would be better if it were included in your program when you post process?
What cam program and post processor are you using?

I use Fusion 360 with the stock GRBL post processor. That said, I don’t understand your suggestion. Currently the post processor adds an M6T{tool number}. Nothing else. I assume that gSender is interpreting that M6 and sending some pause command (M0?), and code to send the spindle home (G53X0Y0Z0?). I am just wondering if I can customize it a bit.

Of course, there are many ways to skin a cat. I suppose that instead of setting tool change to “Manual” I can set it to “Code” and try to recreate what it is already doing. But I like the way it works now, I just want it to stop the spindle while it waits for me to initiate the tool change macro. I was hoping there was an easy way to add an M5.

Try my post processor for Fusion…more configurable options. It will add an M5 spindle start command before the M6 tool change command, and it will add an M3 spindle start command after the toolchange is complete. You can also configure the spindle ramp up delay time.

1 Like