Klipper Configuation

Klipper Configuration for Touch Mode

We DO NOT 100% guarantee TOUCH compatibility with ALL printers. It is your responsibility to read this entire guide prior to use and to research whether this is right for you. Please contact us on DISCORD if you have questions.

If you're changing from classic to touch, make sure you remove or comment out [cartographer] sections from your existing klipper configuration files. A note about this can be found here.

For Cartographer to receive usable readings for touch to be accurate, you MUST place cartographer between 2.6 and 3mm ABOVE the nozzle. Print or put something 2.5-2.6mm but no more than 3mm in height under or next to the cartographer coil to measure where it needs to be.

Your toolhead & gantry/carriage MUST be RIGID. If there is movement and flex it can also create undesired results in the touch process.

[scanner]
canbus_uuid: 0ca8d67388c2            
#    adjust to suit your scanner, if using usb change to serial.
#    serial: /dev/serial/by-id/usb-cartographer_cartographer_
x_offset: 0                          
#    adjust for your cartographers offset from nozzle to middle of coil
y_offset: 15                         
#    adjust for your cartographers offset from nozzle to middle of coil
backlash_comp: 0.5
#   Backlash compensation distance for removing Z backlash before measuring
#   the sensor response.
# 
#   Offsets are measured from the centre of your coil, to the tip of your nozzle 
#   on a level axis. It is vital that this is accurate. 
calibration_method: touch
#    if you want to use touch or 
#calibration_method: scan
#    if you want to use scan
sensor: cartographer
#    this must be set as cartographer unless using IDM etc.
sensor_alt: carto
#    alternate name to call commands. CARTO_TOUCH etc      
mesh_runs: 2
#    Number of passes to make during mesh scan.

[bed_mesh]
zero_reference_position: 125, 125    
#    set this to the middle of your bed
speed: 200
#    movement speed of toolhead during bed mesh
horizontal_move_z: 5
#    height of scanner during bed mesh scan
mesh_min: 35, 6
#    start point of bed mesh [X, Y]
mesh_max: 240, 198
#    end point of bed mesh [X, Y]
probe_count: 30, 30
algorithm: bicubic

NOTE - The [scanner] section needs to be above any other reference to either cartographer/scanner or probe within your Klipper config, for this reason I advise adding it near the top of your config file.

If you want to use the probe for Input Shaper, please add the following to your config.

[adxl345]
cs_pin: scanner:PA3
spi_bus: spi1

[resonance_tester]
accel_chip: adxl345
probe_points:
    125, 125, 20

You then need to remove, or comment out your [probe] section.

Now add a safe_z_home section with the following inforamation.

[safe_z_home]
home_xy_position: [your x-axis center coordinate], [your y-axis center coordinate]
# Example home_xy_position: 175,175 - This would be for a 350 * 350mm bed. 
z_hop: 10

You will also need to update your Z configuration settings, this will involve removing or commenting out your position_endstop: configuration. Homing_retract_dist must also be set to 0

Don't get confused, "endstop_pin" should contain probe and NOT cartographer/scanner.

[stepper_z]
endstop_pin: probe:z_virtual_endstop # uses cartographer as virtual endstop
homing_retract_dist: 0 # cartographer needs this to be set to 0

You will now need to ensure that you update your Z-Tilt or QGL settings to ensure that Cartographer is over the bed when performing these actions. We will be checking these during the calibration phase.

Finally, you need to ensure you have a suitable bed_mesh section. Information can be found here

It is vital you complete the Calibration steps, without doing so the probe will not work properly and is likely to show TRIGGERED.

Last updated