# Must calibrate probe\_eddy\_current first

**URL:** <https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409>\
**Category:** General Discussion\
**Created:** [December 25, 2025, 8:01am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409 "2025-12-25T08:01:27Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![kochhal](https://avatars.discourse-cdn.com/v4/letter/k/dec6dc/32.png) [@kochhal](https://klipper.discourse.group/u/kochhal)\
**Post date:** [December 25, 2025, 8:01am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/1 "2025-12-25T08:01:27Z")

</div>

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

### Basic Information:

Printer Model: Custom but like voron trident  
 MCU / Printerboard: Btt octopus pro  
 Host / SBC Raspberry Pi  
 klippy.log

_Fill out above information and_ _ **in all cases attach your** _ **`klippy.log` _file_** (use zip to compress it, if too big). _Pasting your_ `printer.cfg` _is **not** needed_  
_ **Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there** _

### Describe your issue:

No matter how many times I calibrate my current for my BTT eddy probe and save the config, It will still not work when homing. It seems like its not able to read the run current that Is set by the save\_config or when I manually set it myself. I have added my printer.cfg and my klippy log for all to see.

[printer (14).cfg](https://klipper.discourse.group/uploads/short-url/r3RmCZ7dMiCeUGjkbrLuCMi5Y80.cfg) (25.8 KB)

[klippy (4).log](https://klipper.discourse.group/uploads/short-url/cvLijJorddx89mBSB3WvGRuKwO6.log) (1.5 MB)

---

<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:** [December 25, 2025, 2:12pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/2 "2025-12-25T14:12:18Z")

</div>

Generally order is:

1. LDC\_CALIBRATE\_DRIVE\_CURRENT
2. PROBE\_EDDY\_CURRENT\_CALIBRATE

The error above, means, the second one is not calibrated.  
So, klipper can’t convert frequency data to the distance and vise versa.

Speaking other way, there should be data like following in the config:

```auto
#*# [probe_eddy_current ldc1612]
#*# calibrate =
#*# 0.050:3272424.724,0.090:3266225.284,0.130:3260142.349,
#*# 0.170:3254249.496,0.210:3248521.528,0.250:3242903.591,

```

Hope that helps.

---

<div class="post-metadata">

**Author:** ![kochhal](https://avatars.discourse-cdn.com/v4/letter/k/dec6dc/32.png) [@kochhal](https://klipper.discourse.group/u/kochhal)\
**Post date:** [December 26, 2025, 8:21am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/3 "2025-12-26T08:21:33Z")

</div>

Now Im getting a different issue

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/5/6/56134bad943b72cc96b65a930356675b46a3d373.png)

So I have changed the z offset of my eddy probe, changed it in real life, recalibrated everything over and over again but I still get this error every time I try to home z. What is strange is that when I calibrate via PROBE\_EDDY\_CURRENT\_CALIBRATE, I am able to home z(although it gives some frequency error) but then it will give the same error once i put SAVE\_CONFIG.

The other approaches I have taken is making horizontal\_move\_z the same number or something that covers my min and max range to no avail either(Chat-GPT’s solution). I have also tried messing with the macros to no avail either

I left my CFG file and my klipper log if you want to take a gander. Maybe it would be better to make this a post instead.

[klippy (5).log](https://klipper.discourse.group/uploads/short-url/9lt3ioiR54PyufZthsobZg8hbo0.log) (2.7 MB)

[printer (15).cfg](https://klipper.discourse.group/uploads/short-url/rcLZGprKq4gSxtnhBRD96kuE8aO.cfg) (25.6 KB)

---

<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:** [December 26, 2025, 1:07pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/4 "2025-12-26T13:07:03Z")

</div>

About `Invalid probe_eddy_current height`

```auto
[probe_eddy_current btt_eddy]
sensor_type = ldc1612
z_offset = -2
i2c_mcu = eddy
i2c_bus = i2c0f
x_offset = 0
y_offset = 30
reg_drive_current = 15
calibrate = 
	0.050000:3249392.363,0.090000:3248967.068,0.130000:3248306.919,
	0.170000:3247740.643,0.210000:3247192.390,0.250000:3246654.146,
	0.290000:3245982.760,0.330000:3245506.318,0.370000:3244977.799,
	0.410000:3244513.123,0.450000:3243956.501,0.490000:3243466.267,
	0.530000:3242971.154,0.570000:3242521.582,0.610000:3242007.556,
	0.650000:3241555.872,0.690000:3241103.189,0.730000:3240670.499,
	0.770000:3240166.077,0.810000:3239768.847,0.850000:3239354.711,
	0.890000:3238957.581,0.930000:3238510.015,0.970000:3238118.740,
	1.010000:3237723.412,1.050000:3237349.125,1.090000:3236939.442,
	1.130000:3236564.348,1.170000:3236201.729,1.210000:3235871.100,
	1.250000:3235451.456,1.290000:3235140.719,1.330000:3234819.712,
	1.370000:3234495.243,1.410000:3234138.247,1.450000:3233792.016,
	1.490000:3233510.583,1.530000:3233201.689,1.570000:3232895.295,
	1.610000:3232610.605,1.650000:3232306.125,1.690000:3232049.904,
	1.730000:3231704.434,1.770000:3231458.423,1.810000:3231151.428,
	1.850000:3230899.077,1.890000:3230601.498

```

This is your config.

Your eddy is pretty far from the bed/nozzle horizontal plane.  
Your calibrated values are only within 0.05 \<= z\_offset \<= 1.89

```auto
Frequency too noisy at step 1.890 -> 1.930
Frequency diff: 253.134, MAD_Hz: 81.173 -> MAD_Hz: 84.236
probe_eddy_current: noise 0.005237mm, MAD_Hz=50.606 in 1175 queries
Total frequency range: 18790.864 Hz
z_offset: 0.290 # noise 0.000741mm, MAD_Hz=12.436
z_offset: 0.530 # noise 0.003679mm, MAD_Hz=45.540
z_offset: 1.010 # noise 0.004947mm, MAD_Hz=48.893

```

> **[Eddy Current Inductive probe - Klipper documentation](https://www.klipper3d.org/Eddy_Probe.html)**

Documentation suggests using 0.5 as z\_offset.

Hope that helps a little.

-Timofey.

* * *

Ah, I reread the log again:

```auto
[probe_eddy_current btt_eddy]
sensor_type = ldc1612
z_offset = 2.5
i2c_mcu = eddy
i2c_bus = i2c0f
x_offset = 0
y_offset = 30
reg_drive_current = 15
calibrate = 
	0.050000:3233292.671,0.090000:3233018.183,0.130000:3232670.762,
	0.170000:3232391.698,0.210000:3232082.020,0.250000:3231825.598,
	0.290000:3231504.587,0.330000:3231234.139,0.370000:3230966.202

```

Your probe is simply too far to be usable at all.

Just my pure curiosity, what is the distance between the bottom of the Eddy and the nozzle/bed plane?

 ![Explanation picture](https://global.discourse-cdn.com/free1/uploads/klipper/original/3X/3/b/3b205be6051b68c272b83b7280feb76d084cdcc3.jpeg)

_I would say that the optimal nozzle-to-sensor distance for BTT eddy is \<2.5mm._  
_But it should work with 3.5 or something about that._  
_AFAIK, the total working range for BTT Eddy is about 10mm, so with your data above, I can guess it is about 8 mm - 1.2 mm above the nozzle, where 1.2 is the case thickness._

_Also, you may consider to enable stealth on Z to make it smoother and/or increase microsteppig a little 16 → 32_

```auto
40 / (80 / 16) / 200 / 16 = 0.0025 mm per step
40 / (80 / 16) / 200 / 32 = 0.00125 mm per step

```

---

<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:** [December 27, 2025, 2:15pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/5 "2025-12-27T14:15:39Z")

</div>

Just a small notice on the fields.  
I got something similar from another Eddy.

I guess 2mm is what you can get with your current distance and noise level.

And short one calibration:

```auto
Frequency too noisy at step 0.050 -> 0.090
Frequency diff: 154.109, MAD_Hz: 62.901 -> MAD_Hz: 19.963
probe_eddy_current: noise 0.000000mm, MAD_Hz=62.901 in 25 queries
Total frequency range: 0.000 Hz
Failed calibration - No usable data

```

My hypothesis is,  
When the toolhead moved after the paper test, the nozzle touched the bed at the new point, and tilted the toolhead.  
That way, the first step, 0.05 → 0.09, got a lower frequency difference.  
Because upon first movement, the movement of the sensor was not along the Z axis.  
So, instead of `3249392.363 - 3248967.068 = 425.294 Hz`, you got 154 Hz for the first 2 points.

Probably, this can be solved by moving the calibration anywhere where the bed a little bit flatter.

Hope that helps a little.

---

<div class="post-metadata">

**Author:** ![kochhal](https://avatars.discourse-cdn.com/v4/letter/k/dec6dc/32.png) [@kochhal](https://klipper.discourse.group/u/kochhal)\
**Post date:** [December 27, 2025, 6:56pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/6 "2025-12-27T18:56:46Z")

</div>

Good News:

I can finally home z and probe for z-tilt which is nice

When I do a bed mesh though, it will do the entire bed mesh but on the last point it will give a warning of:

probe\_eddy\_current sensor not in valid range

I tried to make the bed closer to the nozzle during probing and I also tried changing the range of my bed mesh to see if my probe was going out of its set distance but nothing worked.

I wanted to know if you could see any issues in my cfg

[printer (16).cfg](https://klipper.discourse.group/uploads/short-url/b9gngELq2AXdar6RxUGOCzSHy14.cfg) (25.6 KB)

[klippy (7).log](https://klipper.discourse.group/uploads/short-url/53YPuNQRxGBJcfiTlx3vYvbFQPV.log) (2.0 MB)

---

<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:** [December 28, 2025, 12:06am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/7 "2025-12-28T00:06:12Z")

</div>

```auto
[probe_eddy_current btt_eddy]
z_offset = 0.29
calibrate = 
	0.050000:3233292.671,0.090000:3233018.183,0.130000:3232670.762,
	0.170000:3232391.698,0.210000:3232082.020,0.250000:3231825.598,
	0.290000:3231504.587,0.330000:3231234.139,0.370000:3230966.202

```

I don’t think it can be really useful with that config.  
If your bed happens to be outside of 0.05 … 0.37mm range, BTT Eddy and so klipper will not be able to measure or interpret anything.

At least this is what I see in the logs.  
And this is why you probably get errors with scan/rapid scan.  
It may work with normal probing.

-Timofey

---

<div class="post-metadata">

**Author:** ![kochhal](https://avatars.discourse-cdn.com/v4/letter/k/dec6dc/32.png) [@kochhal](https://klipper.discourse.group/u/kochhal)\
**Post date:** [December 28, 2025, 3:55am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/8 "2025-12-28T03:55:53Z")

</div>

so I find a way to make it work with a z offset of more than 1 or 2 then it will work?

---

<div class="post-metadata">

**Author:** ![Clemens](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@Clemens](https://klipper.discourse.group/u/Clemens)\
**Post date:** [January 17, 2026, 9:05pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/9 "2026-01-17T21:05:35Z")

</div>

I had a simular isue on my big coreXY printer after about 5 hours of trying everything i could think of i figured out my hole Bed wos vibrating when it did the fast Z hops for the sensor calibration so i lowerd my max Z\_accel and Z\_speed and it worked….

---

<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:** [January 17, 2026, 11:11pm UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/10 "2026-01-17T23:11:34Z")

</div>

There were some recent improvements in the underhood BTT Eddy configuration, which should improve sensor performance [ldc1612: enable frequency div to reduce noise by nefelim4ag · Pull Request #7160 · Klipper3d/klipper · GitHub](https://github.com/Klipper3d/klipper/pull/7160).  
Version: v0.13.0-455-gabda66d6e

So, it can make sense to do calibration before/after and compare noise output.

Otherwise, yes, Z oscillation can generate issues.  
Possible workaround:

- StealthChop for Z
- Input shaper on Z
- Decrease acceleration on Z

Hope that helps.  
-Timofey.

---

<div class="post-metadata">

**Author:** ![BillBillAU](https://avatars.discourse-cdn.com/v4/letter/b/e19adc/32.png) [@BillBillAU](https://klipper.discourse.group/u/BillBillAU)\
**Post date:** [February 25, 2026, 9:26am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/11 "2026-02-25T09:26:50Z")

</div>

I’ve had this same issue for a couple of days, I ended up trying a lot of things and gave up in frustration.

Factory reset the printer and back to normal!

---

<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:** [April 26, 2026, 9:27am UTC](https://klipper.discourse.group/t/must-calibrate-probe-eddy-current-first/25409/12 "2026-04-26T09:27:36Z")

</div>

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