Eddy probe variance issues

Basic Information:

Printer Model: ULTrong Origee (dont bother looking, might as well be custom)
MCU / Printerboard: Mellow Fly C8 (not using onboard host)
Host / SBC: RPi4 MainsailOS (up to date)
klippy.log

Describe your issue:

We’ve been having major problems getting the Eddy to show repeatable results long term.

PROBE_ACCURACYreports a decent range:

probe accuracy results: maximum 2.915516, minimum 2.905621, range 0.009895, average 2.911092, median 2.911174, standard deviation 0.003264

But the nozzle was way off from the bed after a certain time passed. Usually would notice this overnight… we would have to rerun the calibration again.

Kept thinking it was related to temperature… and ran the temperature calibration and thought things were good until the next day. But then it was off again…


Now I’ve started noticing every time I do a Z home, the z-offset changes about +/- 0.05 but sometimes it’s a lot more… closer to +/- 0.2

8:31 AM
Result is z=2.978069
8:31 AM
probe at 15.000,60.000 is z=2.978069
8:31 AM
G28 Z
8:31 AM
Result is z=2.874153
8:31 AM
probe at 15.000,60.000 is z=2.874153
8:31 AM
G28 Z
8:30 AM
Result is z=2.814395
8:30 AM
probe at 15.000,60.000 is z=2.814395
8:30 AM
G28 Z
8:20 AM
Result is z=2.968194
8:20 AM
probe at 15.000,60.000 is z=2.968194
8:20 AM
G28 Z
8:20 AM
Result is z=2.893678
8:20 AM
probe at 15.000,60.000 is z=2.893678
8:20 AM
G28 Z
8:20 AM
Result is z=2.931919
8:20 AM
probe at 15.000,60.000 is z=2.931919
8:20 AM
G28 Z
8:20 AM
Result is z=2.923912
8:20 AM
probe at 15.000,60.000 is z=2.923912
8:19 AM
G28 Z
8:16 AM
Result is z=2.791086

Thought maybe it was a bad probe, so we switched from an older Eddy (post-coil, pre-duo) to a new Eddy Duo and I’m getting the same variance in readings using G28 Z.

Though PROBE_ACCURACY generally shows a range of range 0.05 or better with 50 samples.

I can’t wrap my head around why the variance is different between PROBE_ACCURACY and G28 Z

Only difference I see is PROBE_ACCURACY does single samples at speed 5, and the G28 does a combo of 2 fast and one slow probe.


Updated the probe section to slow it down and use more retries… but it’s the same issue. Repeated probes are within 0.02 most of the time… but a few seconds later, a subsequent G28 is 0.05 to 0.15 different every time.


After much searching, I found this thread here: https://klipper.discourse.group/t/btt-eddy-variance-with-home-command/21827/7

Looks like many others found the same issue. And if @Sineos gave up on his Eddy for this issue… I dont think theres much reason for me to keep trying. That’s just too much variance.

klippy (37).log (7.1 MB)

have you ruled out slop/backlash in your Z subsystem?

The whole system is junk to be honest, but I’m being paid to make it work.

Its just 2 big leadscrews directly attached to a couple steppers. Not really sure how to fix any slop or backlash… I assume the weight of the gantry should be enough push back… this gantry is HEAVY. Like, it should have been a CNC heavy.

Plus, if it was just that, I would think the PROBE_ACCURACY numbers wouldn’t be as good.

The fact that the PROBE_ACCURACY results and the G28 Z results are so different is what has me confused. Really seems to be a factor of time.

Even when I use multiple samples… the samples are all in the same range as PROBE_ACCURACY. Each set is within a range but every set is different.

G28 Z (x5 or so):

2:00 PM

Result is z=2.880883

2:00 PM

probe at 15.000,60.000 is z=2.880883

2:00 PM

probe at 15.000,60.000 is z=2.875569

2:00 PM

probe at 15.000,60.000 is z=2.893027

2:00 PM

Result is z=2.913346

2:00 PM

probe at 15.000,60.000 is z=2.913346

2:00 PM

probe at 15.000,60.000 is z=2.915152

2:00 PM

probe at 15.000,60.000 is z=2.891304

1:59 PM

Result is z=2.824722

1:59 PM

probe at 15.000,60.000 is z=2.818026

1:59 PM

probe at 15.000,60.000 is z=2.825997

1:59 PM

probe at 15.000,60.000 is z=2.824722

1:57 PM

Result is z=2.857058

1:57 PM

probe at 15.000,60.000 is z=2.880508

1:57 PM

probe at 15.000,60.000 is z=2.857058

1:57 PM

probe at 15.000,60.000 is z=2.853605

1:57 PM

Result is z=2.810815

1:57 PM

probe at 15.000,60.000 is z=2.810815

1:57 PM

probe at 15.000,60.000 is z=2.810046

1:57 PM

probe at 15.000,60.000 is z=2.814099

1:57 PM

Result is z=2.842500

1:57 PM

probe at 15.000,60.000 is z=2.842561

1:57 PM

probe at 15.000,60.000 is z=2.830481

1:57 PM

probe at 15.000,60.000 is z=2.842500

1:56 PM

Result is z=2.925096

1:56 PM

probe at 15.000,60.000 is z=2.902367

1:56 PM

probe at 15.000,60.000 is z=2.929875

1:56 PM

probe at 15.000,60.000 is z=2.925096

1:56 PM

Result is z=2.869349

1:56 PM

probe at 15.000,60.000 is z=2.869349

1:56 PM

probe at 15.000,60.000 is z=2.873989

1:56 PM

probe at 15.000,60.000 is z=2.868325

1:56 PM

Result is z=2.884760

1:56 PM

probe at 15.000,60.000 is z=2.884760

1:56 PM

probe at 15.000,60.000 is z=2.880795

1:56 PM

probe at 15.000,60.000 is z=2.896212

1:55 PM

Result is z=2.944426

1:55 PM

probe at 15.000,60.000 is z=2.939352

1:55 PM

probe at 15.000,60.000 is z=2.944426

1:55 PM

probe at 15.000,60.000 is z=2.953146
1 Like

What is the surface of the bed?
How do you heat the bed?
Do you heat during probing?

We’ve done it 6 ways to Sunday… doesn’t seem to matter. Best numbers come after heat soaking. But it’s still bad enough we can’t rely on it.

Textured PEI springsteel on a 610x610 MIC6 plate 9.5mm thick. (Well… most of it is still textured as the Eddy inaccuracies have caused us to gouge the texture off in places)

Its been warm all afternoon (Eddy 38.0c +/- 0.1) and this is the result just now:

4:01 PM

Result is z=2.787446

4:01 PM

probe at 15.000,60.000 is z=2.787446

4:01 PM

probe at 15.000,60.000 is z=2.780916

4:01 PM

probe at 15.000,60.000 is z=2.794530

4:01 PM

G28 Z

4:01 PM

Result is z=2.883574

4:01 PM

probe at 15.000,60.000 is z=2.883574

4:01 PM

probe at 15.000,60.000 is z=2.885885

4:01 PM

probe at 15.000,60.000 is z=2.875049

4:00 PM

G28 Z


Several good ones in a row. But then jumps .1 again… then drops .05 and .1 in two back to back.

Bed has been at 60c all afternoon… Eddy hovers around 38c +/- 0.4

4:43 PM

Result is z=2.829693

4:43 PM

probe at 15.000,60.000 is z=2.827323

4:43 PM

probe at 15.000,60.000 is z=2.829693

4:43 PM

probe at 15.000,60.000 is z=2.848504

4:36 PM

Result is z=2.914517

4:36 PM

probe at 15.000,60.000 is z=2.915209

4:36 PM

probe at 15.000,60.000 is z=2.914088

4:36 PM

probe at 15.000,60.000 is z=2.914517

4:20 PM

Result is z=2.946992

4:20 PM

probe at 15.000,60.000 is z=2.941160

4:20 PM

probe at 15.000,60.000 is z=2.951506

4:20 PM

probe at 15.000,60.000 is z=2.946992

4:19 PM

Result is z=2.851562

4:19 PM

probe at 15.000,60.000 is z=2.851562

4:19 PM

probe at 15.000,60.000 is z=2.848478

4:19 PM

probe at 15.000,60.000 is z=2.853215

4:19 PM

G28 Z

4:19 PM

Result is z=2.856197

4:19 PM

probe at 15.000,60.000 is z=2.856197

4:19 PM

probe at 15.000,60.000 is z=2.853842

4:19 PM

probe at 15.000,60.000 is z=2.870920

4:19 PM

G28 Z

4:19 PM

Result is z=2.892119

4:19 PM

probe at 15.000,60.000 is z=2.890653

4:18 PM

probe at 15.000,60.000 is z=2.892119

4:18 PM

probe at 15.000,60.000 is z=2.916523

4:18 PM

G28 Z

4:16 PM

Result is z=2.898751

4:16 PM

probe at 15.000,60.000 is z=2.900630

4:16 PM

probe at 15.000,60.000 is z=2.895379

4:16 PM

probe at 15.000,60.000 is z=2.898751

4:16 PM

G28 Z

Going back to BL-Touch to see if we get the same issues

Is your bed heat ac or dc?
How close is your Eddy to your extruder heater?

Its about Y-30 from the hotend behind the mount (3mm of PLA). I’ll try to find a pic.

Its a custom 600x600 120v AC heater from Keenovo.

Do you heat during probing?

Yes… Why, do you think there is interference from the AC in the bed heater?

AC powered and PWM controlled bed heaters and also PWM controlled extruder heaters can produce additional magnetic fields that may disturb the Eddy sensor.

Just give it a try without heating.

1 Like

No luck… just as bad if not worse with the heat off. Still seems to be random

9:20 AM

Result is z=2.872526

9:20 AM

probe at 15.000,60.000 is z=2.872526

9:20 AM

probe at 15.000,60.000 is z=2.878006

9:20 AM

probe at 15.000,60.000 is z=2.864927

9:19 AM

Result is z=2.922640

9:19 AM

probe at 15.000,60.000 is z=2.923907

9:19 AM

probe at 15.000,60.000 is z=2.922640

9:19 AM

probe at 15.000,60.000 is z=2.919879

9:19 AM

G28 Z

9:19 AM

Result is z=2.855271

9:19 AM

probe at 15.000,60.000 is z=2.855271

9:19 AM

probe at 15.000,60.000 is z=2.862951

9:19 AM

probe at 15.000,60.000 is z=2.854403

9:18 AM

G28 Z

9:18 AM

Result is z=2.785467

9:18 AM

probe at 15.000,60.000 is z=2.784816

9:18 AM

probe at 15.000,60.000 is z=2.785467

9:18 AM

probe at 15.000,60.000 is z=2.792489

9:18 AM

G28 Z

9:18 AM

Result is z=2.938631

9:18 AM

probe at 15.000,60.000 is z=2.938631

9:18 AM

probe at 15.000,60.000 is z=2.958229

9:18 AM

probe at 15.000,60.000 is z=2.930483

9:18 AM

G28 Z

9:18 AM

SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=0

9:17 AM

Result is z=2.932955

9:17 AM

probe at 15.000,60.000 is z=2.932955

9:17 AM

probe at 15.000,60.000 is z=2.922061

9:17 AM

probe at 15.000,60.000 is z=2.933503

9:17 AM

G28 Z

9:17 AM

Result is z=2.881536

9:17 AM

probe at 15.000,60.000 is z=2.881536

9:17 AM

probe at 15.000,60.000 is z=2.881586

9:17 AM

probe at 15.000,60.000 is z=2.873704

9:17 AM

G28 Z

9:17 AM

Result is z=2.872469

9:17 AM

probe at 15.000,60.000 is z=2.873751

9:17 AM

probe at 15.000,60.000 is z=2.872469

9:16 AM

probe at 15.000,60.000 is z=2.870059

9:16 AM

G28 Z

9:16 AM

Result is z=2.929691

9:16 AM

probe at 15.000,60.000 is z=2.930377

9:16 AM

probe at 15.000,60.000 is z=2.929691

9:16 AM

probe at 15.000,60.000 is z=2.921374

Nevermind for now…

I borked the MellowFly C8 board trying to update Klipper for Eddy-NG.

So I’m in the process of installing an Octopus Pro to replace it. May take me a while

While I’m working on/with eddy.
Those can help probably: GitHub - nefelim4ag/klipper at probe-eddy-query-20251017

It allows to do pure simple thing, query what eddy actually sense and where we are:

$ PROBE_EDDY_QUERY CHIP=carto
// T: 7.4965, F: 3025033.325 Z: 2.966286
// T: 7.5007, F: 3025017.768 Z: 2.967590
// T: 7.5050, F: 3025017.768 Z: 2.967590

It should allow to simple check the eddy output, and if it is stable, I would guess the issue is somewhere, but not with eddy (or vise versa).

Hope that helps.

How is the spring steel plate attached to the bed, magnets?

Alas, I think my experience may not directly be related to the Eddy.
There are just random thoughts:

  1. SSR on your AC heater should disconnect the phase, not neutral/ground (I see oscillation in your bed temperature, which seems suspicious to me).
  2. You want to perform homing slowly, not 30 mm/s.
  3. Your calibration (eddy) seems dead flat to me. For comparison, I used calibration (eddy2) from here: BTT Eddy not working after powercycle with latest klipper version - #8 by r3cliq

    It seems to me that it is a low side of the parabola, and so you have a bad signal-to-noise ratio.
    So, your probe is simply too far away from the bed.

Hope that helps.


Btw, there is a Z Input shaper available now, which can make your setup smooother.

1 Like