Eddy Usage
- Before use, ensure your printer is not leaking electricity.
- If you have previously configured
eddy,Probe, orBL-Touch, please delete those configurations. - When installing Eddy, the coil should be above the nozzle and positioned
2mm-3mmaway from it. - Do not turn on the heated bed during testing.
- Multi-Z axis machines require manual leveling to be performed once and done properly.
Wiring Diagram
- Install with the logo facing the heated bed.
Loading...
Reference Configuration
- The
XYoffset values need to be calculated based on the scanning bed module and the nozzle itself, then modified in the offset values below. - The
Zoffset value 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 the X offset
y_offset: 21.42 # Remember to set the Y offset
z_offset: 2 # Remember to set the 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 the download links below
-
Loading...
Calculate XY Offset Values
- After downloading the model, please calculate the XY offset values according to your printer's actual situation
- After measurement, modify the
x_offsetandy_offsetvalues in the configuration
Eddy Calibration
Precautions
- Ensure that configurations such as
ProbeandBL-Touchare not set - Multi-Z axis machines require manual leveling once
- Before calibration, check that the heat bed is clear of debris and the nozzle is clean
Add Configuration
⚠️ Important Notes:
- The configuration below is temporary and must be deleted or commented out after use
- After adding, click
Save & Restartto save and reboot - It 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 lift the printhead away from the heat bed
- It will then automatically start drive current calibration and save the configuration upon completion
- Finally, Klipper will restart
Calibrate Height
- Multi-Z axis machines require manual leveling once before calibrating the height
- For multi-Z axis machines, after completing the height calibration, perform a leveling and then recalibrate the height (recommended)
- Before calibration, check that the heat bed is clear 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 to a suitable height -
Follow the prompts in the
Klipper UIto gradually lower the nozzle until it contacts a piece of paper placed on the print bed. Ensure the paper can move smoothly under appropriate pressure while feeling slight friction. -
Be careful to avoid applying excessive pressure or damaging the print bed during this process.
-
Once completed, click the
ACCEPTbutton in the dialog box, and the system will begin calibrating the EDDY height -
After calibration, click the
SAVE_CONFIG & Restartbutton in the upper right corner of the webpage to save the configuration and restart Klipper
Frequently Asked Questions
Q: Temperature rises too slowly?
A: Check if the environment is enclosed and free from airflow. If it's too slow, you can end the calibration early.
Q: Data fluctuates significantly?
A: Ensure consistent paper test pressure and that the sensor is securely installed.
Q: Calibration is ineffective?
A: Confirm that SAVE_CONFIG has been executed and a restart has been performed to take effect.
Using Optimizations
Rapid Bed Scanning
- The macro below will first raise the nozzle to
10mmduring leveling execution, then perform a rapid bed scan. After the scan is complete, it will raise the nozzle 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 change the bed mesh scanning action to rapid mode.
- This configuration reduces the impact of bed heating on scanning.
- This configuration reduces the impact of high-power heated beds on EDDY.
- It turns off the heated bed during mesh calibration and re-heats 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}
Using the Z-Offset Feature with EDDY
EDDY's Z-Offset feature previously had compatibility issues, which were fixed in the Klipper update on December 31, 2025. Please perform the following actions based on your host type:
- If using a standard host, please update Klipper to the latest version.
- If using a FLY host, please upgrade the system version to V1.3.5 or higher. Please note: After completing the above updates, be sure to delete the old Z-Offset related settings in your previous configuration file, otherwise the feature will not work properly.
Z-Offset Explanation
- Z-Offset calibration requires printing a model with a relatively 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!
- Repeat the Z-Offset calibration process several times.
- This is necessary to achieve a perfect first layer.