# \[load\_cell\_probe\] Homing Z-axis Bug?

**URL:** <https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129>\
**Category:** General Discussion\
**Created:** [June 29, 2026, 1:11pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129 "2026-06-29T13:11:58Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [June 29, 2026, 1:11pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/1 "2026-06-29T13:11:58Z")

</div>

### **Basic Information:**

Printer Model: own construction (not ready yet)  
 MCU / Printerboard: Till now: 4x STM32G0B1 connected via CAN-Bus  
 Host / SBC: PI5  
 klippy.log

[klippy.log](https://klipper.discourse.group/uploads/short-url/saG4XLnT0BIzMGbVPJAu3OwVIqG.log) (2.1 MB)

### **Describe your issue:**

I am making this post for the 3rd time in 20minutes now…Somehow discourse marks my post as spam each time:

> Your post was flagged as **spam** : the community feels it is an advertisement, something that is overly promotional in nature instead of being useful or relevant to the topic as expected.

I think it tries to drive me mad…

Now to my topic:

I’m about to build a printer with a Bed-Leveling-Sytem built out of 4 load cells under the printer bed (one each corner). The load cells are connected in parallel to a ADS1220 connected to a BTT SKR Mini E3 (STM32G0B1 processor).This Borad also drives the 4 Steppers (one each corner) for the printer bed. The Z-Endstop is a [load\_cell\_probe] sensor.

When homing Z, the Bed only goes up the value defined in [stepper\_z] position\_min where in my opinion (and on my modified Ender 5 with a Biqu microprobe is the case) it should be [stepper\_z] position\_max - [stepper\_z]position\_min.

I made 2 videos to show this, the first with

```auto
[stepper_z]
position_min: -50

```

It seems that links are not possible here ☹

```auto
https://michael-gerber.de/Klipper/Video_posmin50mm.mkv

```

and the second one with

```auto
[stepper_z]
position_min: -20

```

It seems that links are not possible here ☹

```auto
https://michael-gerber.de/Klipper/Video_posmin20mm.mkv

```

In the first Video at 0:32 and in the second at 0:26 there is a strange behaviour with the Z-Value. Starting at 480 it slowly lowers by 0.1mm and then jumps to zero and lowers to [stepper\_z]position\_min and I get the Error “No trigger on probe after full movement”

If I do the homing several times until the head is close enough to the bed it works. Here is the video of that as well: It seems that links are not possible here ☹

```auto
https://michael-gerber.de/Klipper/Video_working.mkv

```

I want to put the [stepper\_z]position\_min to a value of -1 to prevent damaging the nozzle or bed in a later state.

Is this behaviour a bug in klipper?

What can I do to get my desired Value of -1mm for position\_min?

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [June 29, 2026, 1:17pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/2 "2026-06-29T13:17:58Z")

</div>

Hello @MichaKC11 and welcome to the forum!

> [@MichaKC11](#):
>
> > Your post was flagged as **spam** : the community feels it is an advertisement, something that is overly promotional in nature instead of being useful or relevant to the topic as expected.
> 
> I think it tries to drive me mad…

The forum system AI is quite picky when it comes to links pointing to a unknown URL from a new user. Let’s say: There have been happened some bad things in the past. And starting new threads in that moment is not quite helpful.

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 7, 2026, 11:49am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/3 "2026-07-07T11:49:41Z")

</div>

@EddyMI3D Thank you for the welcome and the explanation.

Meanwhile I encountered another problem while the first is not solved now.  
I have activated `bed_mesh` and `put samples: 2`  
`sample_retract_dist: 2`  
`lift_speed: 20`  
`samples_result: average`  
`samples_tolerance: 0.1`  
`samples_tolerance_retries: 2`

in the `load_cell_probe` section to probe 2 times at each point.

The error now is

```auto
13:41

Probe samples exceed samples_tolerance

13:41

probe: at 10.000,10.000 bed will contact at z=12.432500

13:41

probe: at 10.000,10.000 bed will contact at z=10.537500

13:41

Probe samples exceed tolerance. Retrying...

13:41

probe: at 10.000,10.000 bed will contact at z=8.631250

13:41

probe: at 10.000,10.000 bed will contact at z=6.721250

13:41

Probe samples exceed tolerance. Retrying...

13:41

probe: at 10.000,10.000 bed will contact at z=4.817500

13:41

probe: at 10.000,10.000 bed will contact at z=2.913750

```

I think this is the same problem with the `load_cell_probe` as before. It seems that klipper is putting the relative z-position to zero when taring the load cell.

---

<div class="post-metadata">

**Author:** ![nefelim4ag](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/nefelim4ag/32/2387_2.png) [@nefelim4ag](https://klipper.discourse.group/u/nefelim4ag)\
**Post date:** [July 7, 2026, 12:41pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/4 "2026-07-07T12:41:30Z")

</div>

It seems that you probe triggering in the mid air.  
As far as my understanding goes, it should be calibrated to “real” grams, then there is a low/high pass configurable filter, and after that, there is a trigger “value”.

Basically, that is it. Toolhead descends until the load cell would more than `trigger_force`.  
Toolhead would stop there and assume the trigger time as “zero”.

Where raw signal from the probe:

- Tare at the start of the move (current signal is zero)
- Descends and filters the signal
- As soon as filtered signal \> trigger force, it should stop.

Sooo, if it stops in the mid air, that means something is off, for example, you have too low trigger force, or bad filtering, or high acceleration & etc.  
Which leads to triggering in the mid air.

Where adequate stepper\_z.position\_min, I think, is about -1 or -2 mm.

Hope that helps,  
-Timofey

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 7, 2026, 1:50pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/5 "2026-07-07T13:50:35Z")

</div>

Hello,

I don’t thik this is the case, the trigger works fine as you can see in the last video I have posted

[https://michael-gerber.de/Klipper/Video\_working.mkv](https://michael-gerber.de/Klipper/Video_working.mkv)

The trigger force I have is 250g because the default 75g lead to the behavior you described…

Regards Michael

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 9, 2026, 6:57pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/6 "2026-07-09T18:57:03Z")

</div>

Hello,

to make the point a bit more clear here is the load cell graph and the error:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/9/7/97fa629ec2da4c41c53367cb0a0725949ca71286.png)

As you can see the probe triggers right, the trigger force is at 250g

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/d/8/d8036d1748726db9de77d4a7c93e44e07a2f8174.png)

The difference between the Samples seems to be the

> sample\_retract\_dist: 2

I hope someone can help me…

Regards Michael

---

<div class="post-metadata">

**Author:** ![nefelim4ag](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/nefelim4ag/32/2387_2.png) [@nefelim4ag](https://klipper.discourse.group/u/nefelim4ag)\
**Post date:** [July 9, 2026, 9:37pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/7 "2026-07-09T21:37:33Z")

</div>

Again, from the log, or at least from the output that you show, the load cell triggers early.  
That is it.

So, it tries to descend from ~3mm, triggers at 2.9, retracts +2mm  
Tries to descend at 4.9, triggers at 4.8, retracts & etc.

BTW, I guess, you don’t want `hold_current` on Z, or on any steppers in general.

```auto
[tmc2209 stepper_z]
uart_pin = SKRminiCanZ: PC11
tx_pin = SKRminiCanZ: PC10
uart_address = 0
run_current = 1.2
hold_current = 0.100 # this is too low anyway

```

-Timofey

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [July 10, 2026, 12:35am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/8 "2026-07-10T00:35:22Z")

</div>

> [@MichaKC11](#):
>
> The load cells are connected in parallel to a ADS1220

Your load cells are full bridge (4 wire) or half bridge (3 wire)?

All 4 are connected to a single input on the ADS1220?

Please supply a wiring diagram.

The ADS1220 only supports 2 differential inputs (full bridge loadcell). Full bridge load cells cannot be wired in parallel and give a meaningful result. 4 half bridges could work but your resolution would be MUCH reduced due to having to lower the PGA gain.

Your data looks like resonance excited by motor step pulses NOT a nozzle touch.

Record the output as you add/remove a test weight from the bed.

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 10, 2026, 8:55am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/9 "2026-07-10T08:55:46Z")

</div>

Hello,

the load cells are all connected to a single ADS1220.

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/9/e/9e09a4aa1cd500ec79e661d7b50a39a417a88e29.jpeg)

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/2/e/2e6ab894902bdde473d1520e3b834d8ae70999ed.png)

For testing, I put on a coil of PLA with 1030g:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/9/5/95e84cca761d78c9503466a6fe479aa2e9d6c752.jpeg)

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/9/d/9dca357e165dd53aafd56477cab6d96d89a5cab3.png)

I hope this helps

Regards

Michael

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 10, 2026, 9:19am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/10 "2026-07-10T09:19:46Z")

</div>

The lower the hold current, the less warming of steppers 🙂  
I have 4 Z-steppers, tried this with different values, with 0.1 the bed is held good enough, I tried with 5kg on Bed …

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 10, 2026, 9:22am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/11 "2026-07-10T09:22:07Z")

</div>

@nefelim4ag

I think you were right…

changing

> max\_z\_accel: 200

to

> max\_z\_accel: 20

solved both of my problems…

---

<div class="post-metadata">

**Author:** ![LifeOfBrian](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/lifeofbrian/32/2380_2.png) [@LifeOfBrian](https://klipper.discourse.group/u/LifeOfBrian)\
**Post date:** [July 10, 2026, 11:35am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/12 "2026-07-10T11:35:53Z")

</div>

It is common sense to rather not use hold currents in Klipper.  
But of course you can do as you like.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [July 10, 2026, 1:11pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/13 "2026-07-10T13:11:29Z")

</div>

You may read on this: [TMC drivers - Klipper documentation](https://www.klipper3d.org/TMC_Drivers.html?h=sens)

---

<div class="post-metadata">

**Author:** ![cardoc](https://avatars.discourse-cdn.com/v4/letter/c/ec9cab/32.png) [@cardoc](https://klipper.discourse.group/u/cardoc)\
**Post date:** [July 10, 2026, 3:23pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/14 "2026-07-10T15:23:23Z")

</div>

> [@MichaKC11](#):
>
> solved both of my problems…

Glad you got it sorted.

Please mark as solved.

---

<div class="post-metadata">

**Author:** ![MichaKC11](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@MichaKC11](https://klipper.discourse.group/u/MichaKC11)\
**Post date:** [July 10, 2026, 3:45pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/15 "2026-07-10T15:45:40Z")

</div>

But for me there is one question still open for the first case with the homing error…

Why was the error “No trigger on probe after full movement” when the load cell was triggered (even when this was a false trigger)?

---

<div class="post-metadata">

**Author:** ![nefelim4ag](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/nefelim4ag/32/2387_2.png) [@nefelim4ag](https://klipper.discourse.group/u/nefelim4ag)\
**Post date:** [July 10, 2026, 7:59pm UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/16 "2026-07-10T19:59:44Z")

</div>

No trigger on the full movement generally means that the axis has been commanded to move 1.5 x distance between position min/max, and no trigger happened.

That’s the only thing I can tell.

-Timofey

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/klipper/original/1X/64419bf2aac6639e6ef5cef200dcd456b0a01ac3.png) [@system](https://klipper.discourse.group/u/system)\
**Post date:** [August 10, 2026, 5:59am UTC](https://klipper.discourse.group/t/load-cell-probe-homing-z-axis-bug/26129/17 "2026-08-10T05:59:52Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
