Ender 3 Max Z-offset/Z movement

Just loaded my E3 Max with the latest firmware and I’m having an issue with Z offset and Z movement.
I started with a manual level (3 rotations) and then did a BLtouch level…I was pretty optimistic at the new bed leveling sequence (the original one had only 6 touch points).
Then I tried to adjust the Z offset. I manually dropped the Z height to 0 but it would go no further and it was still too far away from the bed. I obviously couldn’t tell what the Z offset was so I tried tuning it in the settings on the machine live with the CHEP bed leveling print. This opened up a new nightmare…the Z offset tuning only changes in increments of micro-steps. I spun the dial for quite some time but couldn’t get it down to the right height as when I got closer to the bed, the filament would start pooling under the hot end effectively stopping the extrusion. I kept trying to clear the blob as I tuned Z but it was just getting more and more difficult to pull it out and it still wasn’t at the right height.
Is this a bug? I didn’t have this issue on the original build from Creality. Is there some way I can change this so I can adjust the Z height to negative values for offset checking or change the offset tuning to move in increments of 1mm or .1mm instead of .025mm?

I tried using the firmware builder to adjust the minimum Z height with Z_MIN_POS. It allowed the Z to drop below 0.00 but raised 0.00 to equal the opposite value I set as min (I set it to -5mm and Z sits at +5mm when moved to 0.00). This is incredibly frustrating as I tried it 3 times with increasingly lower Z_MIN_POS values, which ate up usable credits. Now I’m stuck with unusable builds and 3 credits poorer. How do I get this thing to work???

Have a look at “Setting your Z Offset” in the FAQ:

Yeah…I don’t think you understand the problem here. I don’t have a problem setting my Z offset perse’…I know how to set the Z offset. I’ve had no problems setting the Z offset on printers until downloading one of these builds. This isn’t a BLtouch issue either (I’m pretty sure, since that has also been working correctly until loading one of these builds). All of the wiring is correct.
The problem is somewhere in the coding of config.h or configadv.h telling the Z stepper to be somewhere it shouldn’t be. Unfortunately I am way out of touch with coding Marlin and I can’t seem to wrap my head around Visual Studio (seems to be what all the cool kids are using nowadays). When I was last into 3d printing, I used something else to edit and create .BIN files and I unfortunately have a memory like sieve and I can’t even recall what I used or how I used it. So I’m not new to this but I am. As such, I don’t have access to the wizard either.
This is why I opted for the firmware builder. Unfortunately, the firmware builder lacks certain nuances that get the printer working correctly. The offset stepping in micro-steps is one thing that doesn’t make sense. It doesn’t give any option whatsoever to change this in the LCD menu. The fact that Z will not lower below 0.00mm is another. If it doesn’t, there’s no way to adjust for Z offset.
It looks like I’ll have to spend some more time with Visual Studio and try to get the code edited myself. Can’t seem to get a build to compile without hitting errors and I don’t understand VS enough to navigate to where I can fix these errors.
Sadly, it looks like I wasted money on something I can’t use (the subscription to download builds).

Correct. The Z axis does not go below 0 as Z0 is what the printer thinks is your bed. Wanting your printer to go past Z0 means you want to pass the nozzle through your bed.

Your probe will trigger at a value ABOVE Z0, and you tell your printer the offset via M851 or the menus to correct the location of Z0.

If you want to do the offset manually, you can follow the procedure listed on the Ender 3 V2 BLTouch guide - which steps you through how to disable the soft endstops if you don’t want to use the wizard.

The restriction is there to stop people thinking they can ‘spin the wheel’ to move the Z axis down and merrily plow the nozzle into the bed and jack-hammer it for a while as well.

See the “I’ve added a BLTouch, how do I set my Z-Offset?” section here:

Ok. I guess I wasn’t looking in the right place. I didn’t think the Z adjust setting in my printer menu had anything to do with the BLtouch (which it doesn’t…at least not directly). I am new to the BLtouch and taking the leveling process out of my hands.
I want to be able to adjust the offset from the LCD. The instances of Marlin I’ve been using allow me to adjust Z below 0.00mm at the LCD…this is necessary as the Z offset is always a negative integer. This is what I’m accustomed to doing since installing the BL (I’m a hands-on kind of guy). I don’t want to send commands from a printer. I want Marlin to give me a menu that I can work with (like with the wizard) at the LCD. There’s a reason every guide tells you to lower your movement increment down as you adjust the Z axis closer to the bed.
This functionality should be added in the firmware builder. As should the Z offset adjust increment. Why is a stock firmware from Creality allowing the movement of Z below 0.00, or the Z offset adjustment greater than micro-steps but nothing here adds that functionality? There’s no firmware variant posted that adds this to the LCD menu? There’s no changelog here mentioning anything aside from the general BLtouch addition et al.
Thanks for the help. I’m going to have to figure another way around this if I want to use a current version of Marlin.

If you’re using the builder, and you enable the “Enable Probe Offset Wizard (if supported)” option, then you should get a basic wizard to do the offset in the menus from the LCD.

I don’t have an Ender 3 Max, but on the normal text display on an Ender 3, that’s under:

Configuration → Advanced Settings → Probe Offsets

You can set the values manually, or use the Z Probe Wizard.

Yes…unfortunately Creality dropped the ball in implementing these menu items into their Marlin build for some machines, leaving buyers needing to update Marlin manually for certain functions or stick with an old version that basically works but lacks functionality.
Thanks again