Eddy Usage
- Ensure your printer has no electrical leakage before use
- If you have previously configured
eddy,Probe, orBL-Touch, please delete those configurations - When installing Eddy, the coil must be positioned above the nozzle, at a distance of
2mm-3mmfrom the nozzle tip - Do not turn on the heat bed during testing
- For multi-Z-axis machines, manual bed leveling must be performed once beforehand
Wiring Diagram
- Install with the logo facing the heat bed
Loading...
Reference Configuration
- The
XYoffset values need to be calculated based on the physical relationship between the probe module and the nozzle, then modified in the offset fields below. - The
Zoffset must ensure the physical height difference between the probe coil and the nozzle tip is within the recommended range of2~3mm.
[stepper_z]
endstop_pin: probe:z_virtual_endstop
# position_endstop: -0.5
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 43
i2c_mcu: SB2040
i2c_bus: i2c1b
x_offset: 0 #Remember to set x offset
y_offset: 21.42 #Remember to set y offset
z_offset: 2 #Remember to set z offset
i2c_speed: 4000000
[temperature_probe fly_eddy_probe]
sensor_type: Generic 3950
sensor_pin:SB2040:gpio28
horizontal_move_z: 2
Coil Model Download Links
- Click on the download link below
-
Loading...
Calculate XY Offset Values
- After downloading the model, calculate the XY offset values based on your printer's actual conditions
- After measurement, modify the
x_offsetandy_offsetvalues in the configuration
Eddy Calibration
Notes
- Ensure that no
Probe,BL-Touch, or related configurations are set - Multi-Z axis machines require manual bed leveling once
- Before calibration, check that the heatbed is free of debris and the nozzle is clean
Add Configuration
⚠️ Important Note:
- The configuration below is temporary and must be deleted or commented out after use
- After adding, click
Save & Restartto save and restart - Must be added to the very top of the
printer.cfgfile, do not add it to the bottom
[force_move]
enable_force_move: true
[gcode_macro _LDC_CALIBRATE_DRIVE_CURRENT]
gcode:
BED_MESH_CLEAR
SET_KINEMATIC_POSITION x=100 y=100 z=10
G28 X Y
M104 S0
M140 S0
M106 S0
G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000
G0 Z30 F600
G4 P1000
LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe
G4 P1000
SAVE_CONFIG
[gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO]
gcode:
BED_MESH_CLEAR
G28 X Y
M104 S0
M140 S0
M106 S0
G90 # Abs positioning
G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } # Allows the user to work it down until it touches.
{% endif %}
PROBE_EDDY_CURRENT_CALIBRATE {rawparams}
Drive Current Calibration
- Enter the following command in the web console
_LDC_CALIBRATE_DRIVE_CURRENT
- The printer will then move to the center position and raise the print head away from the heatbed
- It will then automatically start the drive current calibration and save automatically upon completion
- Finally, Klipper will restart
Height Calibration
- Multi-Z axis machines need to be manually leveled once before performing height calibration
- For multi-Z axis machines, perform a leveling after height calibration, then recalibrate the height (recommended)
- Before calibration, check that the heatbed is free of debris and the nozzle is clean
-
Enter the following command in the web console
PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe -
The printer will then move to the center position, and a dialog box will pop up
-
After executing this command, the
Zheight displayed byKlipperis not important; you only need to adjust the nozzle height to a suitable position -
Following the prompts in the
Klipper UI, gradually lower the nozzle until it contacts the paper placed on the print bed. Ensure the paper can move smoothly under appropriate pressure while feeling slight friction. -
Note: Avoid applying excessive pressure or causing damage to the print bed with the nozzle during this process.
-
After completion, click the
ACCEPTbutton in the dialog box, and the system will start calibrating the EDDY height -
After calibration is complete, click the
SAVE_CONFIG & Restartbutton in the upper right corner of the web page to save the configuration and restart Klipper
Frequently Asked Questions
Q: Temperature rising too slowly?
A: Check if the environment is sealed and free of airflow. If it is too slow, you can end the calibration early.
Q: Data fluctuation is large?
A: Ensure consistent pressure during the paper test and that the sensor is firmly installed.
Q: Calibration ineffective?
A: Confirm that SAVE_CONFIG has been performed and a restart has been applied for the changes to take effect.
Using Optimization
Rapid Bed Leveling
- The macro below will first raise the nozzle to
10mmbefore performing leveling, then quickly scan the bed. After the scan, the nozzle will be raised to2mmfor fine leveling.
- Z_TILT_ADJUST
- QUAD_GANTRY_LEVEL
[gcode_macro Z_TILT_ADJUST]
rename_existing: _Z_TILT_ADJUST
gcode:
{% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].z_offset|float %}
# ========== State Save ==========
SAVE_GCODE_STATE NAME=STATE_Z_TILT
# ========== Environment Preparation ==========
BED_MESH_CLEAR # Clear existing bed mesh data
# ========== Main Leveling Process ==========
{% if not printer.z_tilt.applied %}
# Initial coarse adjustment
_Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1
{% endif %}
# Fine secondary leveling
_Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1
G0 Z10 F6000 # Use standard G-code commands instead of HORIZONTAL_MOVE_Z
# ========== Post-Processing ==========
G90 # Force absolute coordinate mode
G0 Z10 F6000 # Raise Z axis to safe height
M117 Z_tilt Completed # Display completion status
#G28 # Return to origin
# ========== State Restore ==========
RESTORE_GCODE_STATE NAME=STATE_Z_TILT
M400
[gcode_macro QUAD_GANTRY_LEVEL]
rename_existing: _QUAD_GANTRY_LEVEL
gcode:
{% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].z_offset|float %}
# ========== State Save ==========
SAVE_GCODE_STATE NAME=STATE_QGL
# ========== Environment Preparation ==========
BED_MESH_CLEAR # Clear existing bed mesh data
# ========== Main Leveling Process ==========
{% if not printer.quad_gantry_level.applied %}
# Initial coarse adjustment
_QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1
{% endif %}
# Fine secondary leveling
_QUAD_GANTRY_LEVEL horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1
G0 Z10 F6000 # Use standard G-code commands instead of HORIZONTAL_MOVE_Z
# ========== Post-Processing ==========
G90 # Force absolute coordinate mode
G0 Z10 F6000 # Raise Z axis to safe height
M117 QGL Completed # Display completion status
#G28 # Return to origin
# ========== State Restore ==========
RESTORE_GCODE_STATE NAME=STATE_QGL
M400
Heated Bed
- The macro below will make the bed mesh scanning action enter fast mode
- This configuration reduces the impact of the heated bed on the scanning process
- This configuration reduces the impact of a high-power heated bed on EDDY
- Turn off the heated bed when calibrating the mesh, and reheat it to the original temperature after completion
[gcode_macro BED_MESH_CALIBRATE]
rename_existing: _BED_MESH_CALIBRATE
gcode:
{% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].z_offset|float %}
{% set TARGET_TEMP = printer.heater_bed.target %}
M140 S0
_BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams}
M140 S{TARGET_TEMP}
EDDY Using Z Offset Function
The Z offset function of EDDY previously had compatibility issues, which have been fixed in the Klipper update on December 31, 2025. Please perform the following operations based on your host type:
- If using a normal host, update Klipper to the latest version.
- If using a FLY host, upgrade the system version to V1.3.5 or higher.
Please Note: After completing the above update, you must delete the old settings related to
Z offsetin the previous configuration file, otherwise this function will not work properly.
Z Offset Explanation
- Z offset calibration requires first printing a model with a large area, only one layer needs to be printed
|
|
- After calibration is complete, click Save. Please note that saving will only be indicated in the console!!!!
- And after saving, there is no need to restart
klipper!
- Z offset calibration needs to be repeated several times
- to achieve a perfect first layer