Installed a BLTouch on an Ender 5 Pro. As usual, the official firmware from Creality is buggy trash (wrong BLTouch offsets, only 9 point probing, etc.) and useless to me.

I compiled and flashed the TH3D Unified firmware, which works well other than the fact that I have to redo the Z-offset via tune every time I do a print, as it does not apply the stored value (it does retain the value however). So the first print the Z-offset is ~ -11, and the next time it is -22, -33, etc.

Why is it doing this and how can I fix it?

Config files (Using marlin bugfix 2.1.x):


Side note:

So I was able to get the Creality stock firmware working by switching some wires around on the extruder and manually setting the offsets in pronterface, so anyone else in my predicament can at least do that- but I'm still stuck with v2.0.6 .bin file only and only 9 probing points so I really need a Marlin version that works as intended that I can compile myself.

Why is it that the latest Marlin often doesn't work on Creality printers and we are forced to use one that is years old?

  • $\begingroup$ I already tried a new board. It's not the board. The z-offset error doesn't happen when I use Creality's crap firmware, that runs the extruder in reverse and has incorrect probe offsets, so I know its not the board. I attached my config files. Hopefully you can see the problem? $\endgroup$ Commented Jan 13, 2023 at 3:36
  • $\begingroup$ I don't understand your problems, probe offsets can be changed with M851 at all times. If the extruder turns the wrong way, unplug stepper cable turn 180° and replug. I'll look into your files later. $\endgroup$
    – 0scar
    Commented Jan 13, 2023 at 11:01
  • $\begingroup$ @Oscar You can't change probing points and 3x3 leveling is a joke considering how bad many creality beds are warped from the factory. Also it is Marlin 2.0.6. $\endgroup$ Commented Jan 14, 2023 at 19:43
  • $\begingroup$ I wouldn't know, I don't have an Ender, but it sounds you need a straight sheet of glass. One of my printers till very recently ran 1.1.9, it worked very fine. I just wanted a newer version to play with, otherwise it would have run fine still. Have you tried to compile Marlin (the original source) yourself with your own config files, so not a copy from anything else? Configuring isn't that difficult and there are plenty tutorials to find. $\endgroup$
    – 0scar
    Commented Jan 14, 2023 at 23:36
  • $\begingroup$ @Oscar It already has a 4mm glass bed; that's always the first thing I do. With 5x5 leveling it makes up for the average warped bed, whose imperfections do translate through the glass ever so slightly. 3x3 however does not; and is only good if the underlying aluminum is flat. $\endgroup$ Commented Jan 16, 2023 at 4:44

1 Answer 1


Not sure if its a solution to your problem but I had a similar problem and this worked for me:

My Problem

I could auto-home and configure my Z-offset as many times as I want but it behaved strangely. It just added the values on top and the offset did not apply whatever I did. I did auto home, drive to Z -3, set my Z-offset to -3, did auto home, and was again 3 millimeters too high.

How did I get there

I compiled Marlin 2.1.2 with the configuration for the Creality Ender 5 Pro and enabled ENDER5_USE_BLTOUCH. I did some adjustments to NOZZLE_TO_PROBE_OFFSET (where the 3rd parameter, the Z option didn't do anything).

My Solution

I commented out (put // before these lines) Z_HOMING_HEIGHT and Z_AFTER_HOMING which were commented in by the author of the Ender 5 Pro configuration.

Why I did that

I realised that every time the auto-home ran, it moved to Z 10. Ignoring my offset. This could be a bug, could be intentional behaviour but after commenting those lines it always moves 10+Z-offset down.

My guess as to why this happened

My assumption is that it always moved 10 mm but those lines made Marlin believe it moved also respecting the offset.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .