EDDY Sensor Troubleshooting Guide
EDDY Sensor Common Issues
Error during homing: Error during homing z: Eddy current sensor error
When encountering this error, troubleshoot in the following order.
Update Klipper or the system
The Z-homing functionality of EDDY previously had compatibility issues, which were optimized in the Klipper update on January 6, 2026.
- For standard host systems: Update Klipper to a newer stable version.
- For FLY host systems: Upgrade the system version to V1.3.5 or higher.
After the update, EDDY needs to be recalibrated.
Adjust the drive current
- Open the
printer.cfgfile. - Locate the
reg_drive_current =parameter at the bottom of the configuration. - Increase or decrease the current value by
1, for example,15can be changed to16or14. - Enter the calculated result directly; do not use expressions like
15+1. - Save the file and restart the printer, then test homing again.
Adjust the probe offset
If the issue persists after updating and adjusting the drive current, continue by checking descend_z.
- In
printer.cfg, locate the[probe_eddy_current fly_eddy_probe]configuration section. - Increase the
descend_z:value appropriately. The default is usually0.5; try2.0or2.5first. - This parameter can only appear once in this configuration section; do not configure it multiple times.
- It is recommended not to exceed
3.0; the final value depends on the machine structure and the probe mounting height. - Save and restart the printer, then test homing again.
The [probe_eddy_current] configuration in Klipper after March 2026 uses descend_z. The z_offset used in older configurations is deprecated and may be removed in future versions; if tutorials, old configurations, or screenshots still mention z_offset, prioritize changing it to descend_z.
Prompt Amplitude Low/High warning
Error message: my_eddy_probe: Amplitude Low/High warning (36), Amplitude Low/High warning (48), etc. The number in parentheses is the measured amplitude value.
Common causes:
- The
reg_drive_currentsetting is inappropriate, causing the sensor oscillation amplitude to fall outside the ideal range. - The standoff distance between the probe and the heatbed is too large or too small.
- The probe is loosely mounted, or the heatbed surface is uneven.
Solutions:
- Re-run the drive current calibration:
LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe, thenSAVE_CONFIG. - If warnings persist after calibration, manually fine-tune
reg_drive_current(increment/decrement by 1 each time) as described in the "Adjust the drive current" section above. - Check that the probe is firmly mounted; the gap between the probe bottom and the heatbed surface should ideally be between 0.3–1.0 mm.
- Confirm the heatbed is a flat metal surface with no warping or bulges.
- If the warning only occurs at specific locations, it may indicate local unevenness on the heatbed; try recalibrating at different positions.
Prompt !! probe_eddy_current sensor not in valid range
This error indicates that the probe reading is outside the valid range. A common cause is that after enabling the EDDY probe, the probe height settings in other configuration sections are not effective as intended, causing the probe to move beyond its physical measurement range.
Please focus on checking the following locations:
[probe_eddy_current fly_eddy_probe][bed_mesh][z_tilt]or[quad_gantry_level]- Custom homing, leveling, or bed-mesh macros
Resolution steps:
- Verify that all probing downward heights are within the usable range of EDDY.
- Avoid multiple macros or configuration sections redundantly overwriting the same height parameter.
- After modifications, save and restart Klipper, then re-run homing or leveling.
Prompt Eddy I2C STATUS/DATA error or Invalid read data
These errors indicate abnormal communication or readings between EDDY and the MCU.
Common causes:
- Poor contact in the EDDY wiring, connectors, or solder joints.
- I2C wires are too long, of poor quality, or routed parallel to motor or heater wires, causing interference.
- I2C speed is too high and unstable with the current wiring and environment.
- Unstable power supply to the probe.
Resolution steps:
Before reconnecting EDDY wiring, rearranging cables, or inspecting connectors, completely turn off the printer and disconnect the power supply. Do not plug or unplug sensors or touch terminals while powered on.
- Power off, then reconnect the EDDY wiring and check if the terminals are loose.
- Route the EDDY communication wires away from motor wires, heater wires, and heatbed wires.
- If using hardware I2C, try lowering the I2C speed; if still unstable, test with software I2C.
- Prefer cross-testing by replacing with a pre-made cable, changing ports, or swapping the sensor; for electrical inspection of exposed terminals, contact after-sales or a professional.
- After modifications, re-run homing or
PROBE_EDDY_CURRENT_CALIBRATE.
I2C Pins and Wiring: EDDY I2C Pinout and Configuration
Prompt Unable to obtain probe_eddy_current sensor readings
This error indicates that Klipper could not obtain valid EDDY sensor data within the specified time.
Common causes:
- Sensor communication wires are disconnected, or the configured bus/pins are incorrect.
- The probe is too far from the metal bed surface, and the readings are outside the usable range.
reg_drive_currentis inappropriate, resulting in insufficient sensor frequency range.- Drive current calibration or Z height calibration has not been completed.
Resolution steps:
Before checking the EDDY bus, pin wiring, or replacing sensor cables, completely turn off the printer and disconnect the power supply. Do not plug or unplug sensors while powered on.
- Power off, then confirm that the bus and pin configuration in
[probe_eddy_current fly_eddy_probe]matches the actual wiring. - Move the nozzle to the center of the heatbed, ensuring EDDY is above the metal bed surface.
- Re-run
LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probeandSAVE_CONFIG. - Re-run
PROBE_EDDY_CURRENT_CALIBRATE CHIP=fly_eddy_probe. - If this occurs only during homing, continue adjusting
reg_drive_currentanddescend_zaccording to the "Error during homing" section above.
MCU Protocol error: Unknown command i2c_write
Error message: MCU Protocol error, mcu 'eddy': Unknown command: i2c_write, Command format mismatch.
These errors typically indicate a mismatch between the EDDY / RP2040 peripheral MCU firmware and the host Klipper version. A common scenario is updating the host Klipper without recompiling and flashing the EDDY firmware; it can also occur when the EDDY firmware is newer than the host Klipper, and the host does not yet recognize new commands used by the peripheral firmware.
Resolution steps:
- Check
klippy.logforGit versionandLoaded MCU 'eddy' ... versionto confirm whether the host and EDDY firmware are from the same Klipper version set. - Recompile and flash the MCU firmware for EDDY; refer to the corresponding toolboard or EDDY product documentation for the flashing method.
- If using a third-party integrated system or vendor-customized Klipper, first confirm the system supports the current EDDY firmware; if unsure, prioritize using the firmware package provided by the same system.
- After flashing, execute
FIRMWARE_RESTART, then re-perform EDDY drive current and height calibration.
Generic version troubleshooting: MCU Protocol error
Abnormal trigger in TAP mode
When using METHOD=tap with EDDY, if probing stops prematurely, fails to stop after contacting the bed, or produces significantly unstable results, it is usually related to tap_threshold and the condition of the nozzle/bed surface.
Detailed Procedure: EDDY TAP Mode Debugging Guide
TAP testing causes the nozzle to approach or contact the heatbed. Before proceeding, ensure the nozzle and bed surface are clean, keep hands and tools away from the motion area, and be ready to emergency stop.
Key troubleshooting points:
- Confirm the nozzle and bed surface are clean; residual material on the nozzle directly affects TAP results.
- Before starting TAP, keep the nozzle at a distance of a few millimeters from the bed surface; avoid being too close or too far.
- If it stops before contacting the bed,
tap_thresholdmay be too low; increase it appropriately. - If it does not stop after contacting the bed,
tap_thresholdmay be too high; stop immediately and lower the threshold. - After adjustment, re-run
PROBE_EDDY_CURRENT_TAP_CALIBRATE, and if successful, executeSAVE_CONFIG.
Timer too close triggered during homing / TAP
Error message: MCU 'xxx' shutdown: Timer too close.
Error nature: During EDDY homing, TAP, or Z_TILT_ADJUST using the trsync timing synchronization mechanism, clock rollback can occur under specific conditions. Klipper upstream developers have confirmed related cases (trsync clock rollback, 32-bit overflow in logs), which is a known issue pending a fix. It manifests as intermittent occurrence with unreproducible patterns and does not necessarily indicate wiring or hardware damage.
Common causes:
- The EDDY homing / TAP trsync timed synchronization may experience clock jumps under specific conditions.
- CAN toolhead board scenarios are more likely to trigger this; around the error, the
Statsline may also show CAN retransmissions or host load spikes. - The probability of triggering increases when third-party plugins (automatic speed control, auto-tuning, motor synchronization, etc.) are stacked together.
Resolution:
- Update Klipper and reflash all MCU firmware, ensuring the host, toolhead board, and EDDY MCU versions are consistent.
Z_TILT_ADJUSTcan temporarily useMETHOD=scan; the scan mode does not go through the trsync path and can significantly reduce the trigger probability.- Simplify startup macros to avoid repeated homing, repeated TAP, and consecutive bed scanning actions, reducing trigger opportunities.
- Disable third-party plugins (automatic speed control, auto-tuning, etc.) one by one for retesting to confirm whether the issue is caused by plugin stacking.
- If CAN retransmissions or communication anomalies also occur, check the wiring harness and bus status according to CAN error troubleshooting.
TAP-specific troubleshooting: EDDY TAP / Z_TILT triggers Timer too close
System-level troubleshooting: Timer too close
Internal error triggered by bed scanning / leveling
Error message: Internal error in stepcompress, Error in syncemitter 'xxx' step generation, Exception in flush_handler.
During high-speed EDDY bed scanning, BED_MESH_CALIBRATE, Z_TILT_ADJUST, or scanner bed scanning, if the motion queue and EDDY sampling overlap and cause an internal exception in step generation, this type of error may occur.
Resolution:
- Keep the complete
klippy.logand examine the Python Traceback and the command being executed before and after the error. - Retest after reducing bed scanning speed, probe points, interpolation density, and EDDY scan parameters.
- Temporarily disable third-party scanner, automatic speed control, automatic leveling enhancement, and other plugins, and retest with stock Klipper.
- Update Klipper and reflash all MCU firmware.
Detailed troubleshooting: stepcompress / syncemitter / flush_handler internal error
First layer instability caused by thermal drift
The EDDY is an eddy current sensor; changes in bed temperature, nozzle temperature, sensor coil temperature, and the temperature of nearby metal parts all affect the measurement results. The typical symptom is: cold calibration is normal, but the first layer is slightly too high or too low when hot.
Resolution:
- Perform EDDY calibration at temperatures close to actual printing conditions whenever possible.
- Wait for the bed and nozzle temperatures to stabilize before homing, leveling, or bed scanning.
- If the EDDY has a temperature sensor, configure
[temperature_probe]and apply thermal drift compensation. - For enclosed machines, it is recommended to perform fine calibration after the chamber temperature has stabilized.
descend_z debugging suggestions
In many debugging cases, setting the initial descend_z value in [probe_eddy_current fly_eddy_probe] to 2.5 often helps many EDDY sensors enter a usable state more quickly.
2.5 is only a debugging starting point, not a universal fixed value, nor is it the official default configuration. The optimal offset depends on the probe mounting position, nozzle height, and machine structure; always rely on actual calibration results.