Eddy Usage
- Ensure your printer is not leaking electricity before use
- If you previously configured
eddy,Probe, orBL-Touch, please remove those configurations - When installing Eddy, the coil should be positioned above the nozzle, approximately
2mm-3mmaway from it - Do not turn on the heated bed during testing
- Machines with multiple Z axes need to be manually leveled once
Wiring Diagram
- Install with logo facing the heated bed
Loading...
Reference Configuration
- The
XYoffset values need to be calculated based on the scanning 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 remains 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 the download link below
-
Loading...
Calculate XY Offset Values
- After downloading the model, please calculate the XY offset values based on your printer's actual conditions.
- After measurement, modify the
x_offsetandy_offsetvalues in the configuration.
Eddy Calibration
Precautions
- Ensure there is no configuration for
Probe,BL-Touch, or similar. - Multi-Z axis machines require a manual leveling once.
- Before calibration, check that the heatbed is clear of debris and the nozzle is clean.
Add Configuration
⚠️ Important Notice:
- 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 heatbed.
- It will then automatically start the drive current calibration and save the results upon completion.
- Finally, Klipper will restart.
Calibrate Height
- Multi-Z axis machines require a 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 heatbed 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 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 slide smoothly under appropriate pressure while feeling slight friction. -
Be careful to avoid applying excessive pressure or damaging the print bed with the nozzle during this process.
-
Once done, click the
ACCEPTbutton in the dialog box. The system will begin calibrating the EDDY height. -
After calibration is complete, click the
SAVE_CONFIG & Restartbutton in the upper right corner of the webpage. This will 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 pressure during the paper test and that the sensor is securely installed.
Q: Calibration has no effect?
A: Confirm that SAVE_CONFIG was executed and a restart was performed for the changes to take effect.
Usage Optimization
Rapid Bed Scanning
- The macro below will first raise the nozzle to
10mmduring leveling execution, perform a rapid bed scan, and then raise the nozzle to2mmfor fine leveling after the scan is complete.
- 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 Z-Offset Function with EDDY
EDDY's Z-offset function previously had compatibility issues, which were fixed in the Klipper update on December 31, 2025. Please perform the following operations based on your host type:
- If using a regular 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 settings related to
Z-offsetin the previous configuration file, otherwise the function 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 prompt in the console!!!!
- And after saving, there is no need to restart
klipper!
- Repeat the Z-offset tutorial several times.
- Only then can a perfect first layer be achieved.