Skip to main content

Eddy usage

info
  • Ensure your printer is not leaking electricity before use
  • If you have previously configured eddy, Probe, or BL-Touch, please delete them
  • When installing Eddy, the coil should be above the nozzle, at a distance of 2mm-3mm from the nozzle
  • Do not turn on the heated bed during testing
Notes
  • Machines with multiple Z-axes need to be manually leveled once

Wiring diagram

  • Install with the logo facing the heated bed

Reference configuration

  • The XY offset value needs to be calculated based on the bed scanning module and the nozzle itself, then modified to the offset value below
[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 43
i2c_mcu: SHT36
i2c_bus: i2c1e
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:SHT36:gpio28
horizontal_move_z: 2
  • Click the download link below
  • Loading...

Calculate XY Offset Value

  • After downloading the model, calculate the XY offset value according to the actual situation of the printer
  • Modify the x_offset and y_offset values in the configuration after measurement

Please help me check this tutorial for any areas that can be optimized

Eddy Calibration

Notes

  • Please make sure there is no configuration for Probe, BL-Touch, or related configurations
  • Multi-Z-axis machines need to manually level once
  • Check the heated bed for debris and nozzle cleanliness before calibration

Add Configuration

Note

⚠️ Important Notice:

  1. The following configuration is a temporary configuration, it must be deleted or commented out after use
  2. After adding, click Save & Restart to save and restart
  3. It must be added to the top of the printer.cfg file, 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 Z20 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}

[gcode_macro TEMP_COMPENSATION]
description: Temperature compensation calibration process
gcode:
{% set bed_temp = params.BED_TEMP|default(90)|int %}
{% set nozzle_temp = params.NOZZLE_TEMP|default(250)|int %}
{% set temperature_range_value = params.TEMPERATURE_RANGE_VALUE|default(3)|int %}
{% set desired_temperature = params.DESIRED_TEMPERATURE|default(80)|int %}
{% set Temperature_Timeout_Duration = params.TEMPERATURE_TIMEOUT_DURATION|default(6500000000)|int %}
# Safety check: Ensure all axes are not locked
{% if printer.pause_resume.is_paused %}
{ action_raise_error("Error: The printer is paused, please resume first") }
{% endif %}
# Step 1: Homing all axes
STATUS_MESSAGE="Homing all axes..."
G28
STATUS_MESSAGE="Homing complete"
# Step 2: Auto leveling
Z_TILT_ADJUST
# Step 3: Safe Z-axis lift
STATUS_MESSAGE="Lifting Z-axis..."
G90
G0 Z5 F2000 # Lift slowly to prevent collision
# Step 4: Set timeout and temperature calibration
SET_IDLE_TIMEOUT TIMEOUT={Temperature_Timeout_Duration}
STATUS_MESSAGE="Starting temperature probe calibration..."
TEMPERATURE_PROBE_CALIBRATE PROBE=fly_eddy_probe TARGET={desired_temperature} STEP={temperature_range_value}
# Step 5: Set printing temperature (modify as needed)
STATUS_MESSAGE="Setting working temperature..."
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temp}
# Completion prompt
STATUS_MESSAGE="Temperature compensation process completed!"
description: G-Code macro

Drive Current Calibration

  • Enter the following command in the web console
    _LDC_CALIBRATE_DRIVE_CURRENT
  • At this time, the printer will move to the center position and move the print head away from the heated bed
  • Then it will start automatic drive current calibration and automatically save after calibration
  • Finally, it will restart Klipper

Calibration Height

tip
  • Multi-Z-axis machines need to manually level once, then proceed with calibration height
  • After calibrating the height of multi-Z-axis machines, perform a leveling and recalibrate the height (recommended)
  • Check the heated bed for debris and nozzle cleanliness before calibration
  • Enter the following command in the web console

    PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe
  • At this time, the printer will move to the center position and a dialog box will pop up

  • After executing this command, the Z height displayed by Klipper is not important, you just need to adjust the nozzle height to an appropriate height

  • Follow the prompts in the Klipper UI, gradually lower the nozzle until it touches the paper placed on the print bed. Ensure that the paper can move smoothly under appropriate pressure, while feeling slight friction.

  • Note that during this process, avoid applying excessive pressure or damaging the print bed with the nozzle.

  • After completion, click the ACCEPT button in the dialog box, and the system will start calibrating the EDDY height

  • After calibration is completed, click the SAVE_CONFIG & Restart button in the upper right corner of the web page. After clicking, the configuration will be saved and Klipper will restart

Temperature Compensation

tip
  • When Eddy performs temperature compensation, the maximum temperature of the heated bed is very high, be careful to avoid burns
  • Do not heat the heated bed and nozzle before performing temperature compensation
  • Do not touch the heated bed surface during operation
  • It is recommended to wear heat-resistant gloves when operating
  • Click the macro button TEMP_COMPENSATION, a dialog box will pop up
  • In the dialog box, you can set the heated bed temperature, nozzle temperature, temperature range value, and desired temperature
  • Click the START button, the system will start the temperature compensation calibration
  • During the temperature compensation process, the system will automatically adjust the heated bed and nozzle temperatures, and prompt you to perform manual Z offset calibration every 3°C
  1. After performing this operation, the UI will display the Z-axis adjustment box. Use the mentioned manual Z-axis offset calibration (Paper Test) method to clamp the paper between the nozzle and the bed, then confirm the value.
  1. After accepting the value, the heated bed temperature will be automatically adjusted to 80°C, and the nozzle temperature will be adjusted to 250°C.
  2. If you are in a room with air conditioning or open windows, it is recommended to close the air conditioning or windows to ensure that Eddy's temperature rises, as wind can affect temperature rise.
  3. As Eddy's temperature rises, the system will automatically prompt you to perform manual Z offset calibration every 3°C. The heated bed temperature is very high, be careful to avoid burns!!!
  1. Repeat the manual Z offset calibration (Paper Test) until the calibration is complete. If you find that Eddy's temperature no longer rises, you can use the following commands to end the calibration early.
  • Additional gcode commands available during drift calibration include: TEMPERATURE_PROBE_NEXT
  • TEMPERATURE_PROBE_NEXT is used to force EDDy to sample new data before reaching the set target temperature of 80°C.
  • TEMPERATURE_PROBE_COMPLETE is used to complete the calibration before Eddy reaches the set temperature of 80°C.
  • ABORT can be used to terminate the calibration and ignore the results.
  • After the calibration is completed, use SAVE_CONFIG to save the temperature offset settings!
  • In summary, compared to most other programs, the above calibration process is more challenging and time-consuming. It may require practice and multiple attempts to achieve excellent first-layer printing effects over a wide temperature range!

Usage Optimization

Quick Bed Scanning

  • The following macro will raise the nozzle to 10mm during leveling, then quickly scan the bed, and after the bed scanning is completed, raise the nozzle to 2mm for fine leveling
[gcode_macro Z_TILT_ADJUST]
rename_existing: _Z_TILT_ADJUST
gcode:
# ========== 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=2 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

Heated Bed

  • The following macro will make the bed movement become a fast bed
[gcode_macro BED_MESH_CALIBRATE]
rename_existing: _BED_MESH_CALIBRATE
gcode:
_BED_MESH_CALIBRATE horizontal_move_z=2 METHOD=rapid_scan {rawparams}
# G28 X Y
  • If you use a high-power AC heated bed, it is recommended to configure it
  • This configuration will reduce the impact of the high-power heated bed on EDDY
  • It will automatically turn off the heated bed when using EDDY, and restore the temperature after use
[gcode_macro BED_MESH_CALIBRATE]
rename_existing: _BED_MESH_CALIBRATE
gcode:
{% set TARGET_TEMP = printer.heater_bed.target %}
M140 S0
_BED_MESH_CALIBRATE {rawparams}
M140 S{TARGET_TEMP}

Using the Z-axis Offset Function of EDDY

Download EDDY Optimized Configuration

  • Click the download link below
  • Please note that there are two files, namely eddy.cfg and variables.cfg, which need to be added to the same directory as printer.cfg
  • Loading...

Add eddy.cfg Configuration

  • If you want Eddy to act as both an automatic leveling sensor and a Z-axis limit switch, and to use the Z axis offset function
  • Please add the following configuration at the top of printer.cfg
[include eddy.cfg]

Modify Path

  • Open the eddy.cfg file and find the save_variables configuration item
  • Modify the path of filename to the path corresponding to your system
Notes
  • The following is a reference
  • The path of the variables.cfg file, you need to modify it according to your system
  • Path used by Fly_FAST system
    [save_variables]
    filename: /usr/share/printer_data/config/variables.cfg
  • Path used by Fly_Armbian system, other systems can refer to this method
    [save_variables]
    filename: /home/fly/printer_data/config/variables.cfg

Z Offset Explanation

  • Z offset calibration requires printing a larger area model first, only one layer is needed
  • Z-axis offset calibration location in mainsail
  • Z-axis offset calibration location in fluidd
  • After calibration, click save, please note that saving will only be prompted in the console!!!!
  • And after saving, there is no need to restart klipper!
Notes
  • The Z offset tutorial needs to be repeated several times
  • To get a perfect first layer
Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -