Z Probes to Spoil board to change bits mid-project NOT in middle of the Bed?!

I have scanned the forums everywhere and can’t find updated information on the following- Please help!

I have a PRIMO build using SKRPro 1.2 and BTT TFT35-E3 running the stock Sept2022 firmware from V1 with dual endstops.

For doing 2.5d relief carvings, I need to change bits between roughing and finishing. I would like to be able to re-home XY, and then re-home Z, HOWEVER, my firmware will only home Z at X/Y=150,150. I believe this is due to the firmware thinking this is middle of my bed, and also incorrectly thinking my bed is 300x300.

Ultimately, I would like to be able to define WHERE it will home Z. Changing bits mid project has to be a common requirement for folks, and trying to re-zero in the middle of the bed is always going to present issues for people since it will be obstructed by the workpiece- so how are you all dealing with this?

NOTE: Yes, I zero to the origin of my stock, but this then gets milled down and thus you lose the common reference on the 2nd bit change! Thus, by homeing Z at a fixed unobstructed site on the spoilboard with foil tape, and then recording the exact coordinates that you manually ZERO out X, Y, and Z on the stock at the start of roughing, then you can get everything dialed back in on the finishing pass with a different bit.

I’ve tired fooling the machine with G92 to make it think I was at 150, 150 to home Z where I want it… no dice.

Could really use some ideas/education from all you- thanks in advance!

Are you doing a tool change in the program or running separate programs?

In EstlCAM you can tell it where to send the bit for the probe. Here is my tool change text:

G91
G0 Z10 F500
G90
G0 X30 Y30 F2520
M0 (MSG change tool, probe)
G38.2 Z-80 F200 P5.02 ( Probe set thickness)
G00 Z10.0000 F500 ( Clearance )
M0 (MSG remove probe)

Just change yours to where the foil tape is at.

I tried G38.2 commands, and my firmware doesn’t respond to it. I simply run separate GCODE files for roughing and then finishing.

Ultimately, I should be able to tell my machine where I want it to zero Z! Perhaps I want to carve stars on a non-flat (rustic) union and I need to re-zero Z at the center of each star, etc… I really want to understand WHERE in the Firmware I can make this change… I just can’t believe everyone’s machine is homing Z at 150,150 and happy with that- what am I missing?

the Primo firmware should be assuming that the Z homes to the touch plate, so you want G28 Z as the code to re-zero the bit.

G91 ; Relative positioning
G0 Z10 F500 ; Raise Z by 10mm
G90 ; Absolute positioning
G0 X30 Y30 F2520 ; Move to X=30, Y=30
M0 Attach Probe
G28 Z ; Re-home the Z axis to the touch plate
G0 Z10 F500 ; Lift to clearance plane
M0 Remove Probe

So close to the previous solution. the standard V1 firmware does not enable Z_SAFE_HOMING which chooses where the Z axis homes. If you have enabled this in your firmware, you should remove it. Alternately, you can enable probing like the LR firmware does instead of treating the Z probe as the Z endstop.

Thank you Dan, and I agree that is my understanding from looking at the src code. I have not changed the firmware, and Z_SAFE_HOMING is commented out on the #define. Thus, I am incredibly unclear WHY it keeps going to 150, 150 to home Z. I even reflashed with the downloaded .bin file, no change.

I would guess that everyone’s touchplate may be in a different location.

Well, I attach the clip to my router bit, so it’s wherever the tool is.

Just to be sure… What are you using as a Gcode sender? Some of these get in the way and inject some other code when it recognizes what you’re trying to do. Using an SD card or similar has the least interference.

I simply put it on an SD card and put it in the TFT35 screen and press the cut icon to send it.

So, when you all run G28 Z, your able to home Z down to foil tape wherever the probe is currently located when that command is run? I’m not understanding why/how my setup is functioning different even when flashing it with stock firmware just to ensure I am in fact running the same firmware as others.

Unfortunately I seem to be having board issues… after multiple times of re-flashing the board, I had a few eeprom errors, etc… eventually G28 began to respond the way you all have been describing, but now I am being plagued with the SKRPro board stop responding to the TFT board “Busy processing…” for a simple move command… I have such little ‘on’ time with this setup I’m at a loss on how it could already be failing… Thanks to all for the responses and glad to know that my frustration was well founded in that ‘No it shouldn’t be working this way’.