July 7, 2025
Description
Later update:
03.september.2024
This is and Original model Based on the Klicky probe made by jlas1 all credits to his work for the macros and idea. and for the contributors.
We have adapted his work to our design. Please if you like his awesome work consider supporting the project. found here https://github.com/jlas1/Klicky-Probe
Please Follow the instructions in the Video to be more clear. The Zip file that I have attached has only the Macros for Klicky that you need to modify accordingly to your specific 3d printer. I made a how to video and also in the video you will see the other changed we made.
1x 3010 fan 24v i use GDS time fans https://s.click.aliexpress.com/e/_DefH7mP
1x 5 pin connector JST 1.25 - usually found in BL-Touch and is coming with 15cm lengths enough for what we need https://s.click.aliexpress.com/e/_DnnGlNl
pin1 white
pin2 black
pin3 yellow
pin4 red
pin5 green
The color doesn't matter but will use them for reference.
in the BL-Touch port
pin1 is Ground
pin2 is 24v - we will not use it
pin3 is PB7 - we will use it for end-stop
pin4 is Ground
pin5 is PB6 we will use it for klicky probe
1x 4 pin connector JST 1.25
This we be used to connect the LED and we will use only 3 wires.
5V Ground and Data
pin1 RED
pin2 Black
pin3 Yellow
pin4 Green
In the uart port on the toolboard
pin1 is Ground
pin2 is TX- PA9
pin3 is RX-PA10
pin4 is 5V
Here you have the references that you need to follow
From the BL-TOUCH we will use only 4 wires! we will not use the 24V pin.
we will use Ground and PB6 for X endstop and Ground and PB7 for Klicky.
1x round PCB RGB/RGBW LED https://s.click.aliexpress.com/e/_DlUm2Kj
you need to connect the 5V PA10 and Ground wires to the DIN ( data in side of the LED PCB)
12x 6x3 Magnets https://s.click.aliexpress.com/e/_DkM9ei7
4x 4x3 Magnets https://s.click.aliexpress.com/e/_DFI38L5
1x Omron switch D2F-5 or D2F-5L (removing the lever) is recommended), D2F-1 and similar sizes microswitch also work https://s.click.aliexpress.com/e/_DmgsUdp
1x 3d printer microswitch for X end-stop https://s.click.aliexpress.com/e/_DkT5Jcx
1x M3x20 https://s.click.aliexpress.com/e/_DmDqsbN
3x M3x8
3x M3 Tnut
Here you can see the X end stop and the
The Klicky probe will use the Ground and PB7 Pins
The X end stop will use Ground and PB6 pin from the 5 pin JST1.25 connector from the tool board. the port designated for BL-Touch
Even that is a friction fit with the fans you still have this part to secure the both fans the orange part in the below picture
You need to Change Your Probe section in your printer.cfg to this
[probe]pin: ^extra_mcu:PB7 x_offset: 22 y_offset: 22 #z_offset : 0speed: 15.0speed: 5.0samples: 2sample_retract_dist: 2.0lift_speed: 50samples_result: averagesamples_tolerance: 0.016samples_tolerance_retries: 2
In the Stepper X you need to remove the Virtual End stop and add the physical end stop
Adjust the TMC Run current for X and disable the Hold current
[stepper_x]step_pin: PE2dir_pin: !PE0enable_pin: !PE3rotation_distance: 40 microsteps: 16 full_steps_per_rotation:200 endstop_pin: ^extra_mcu:PB6#endstop_pin: tmc2209_stepper_x: virtual_endstop position_min: 0 position_endstop: 354 position_max: 354 homing_speed: 50 homing_retract_dist: 0 homing_positive_dir: True #--------------------------------------------------------------------[tmc2209 stepper_x]uart_pin: PE1interpolate: True run_current: 1.1 #1.5 #hold_current: 1.5 sense_resistor: 0.150 stealthchop_threshold: 0 uart_address:3#driver_sgthrs: 55#diag_pin: PE15
In the Stepper Y
Adjust the TMC Run current for X and disable the Hold current
[stepper_y]step_pin: PB8dir_pin: !PB6enable_pin: !PB9rotation_distance: 40 microsteps: 16 full_steps_per_rotation:200 endstop_pin: tmc2209_stepper_y: virtual_endstop position_min: 0 position_endstop: 364 position_max: 364 homing_speed: 30 homing_retract_dist: 0 homing_positive_dir: true #--------------------------------------------------------------------[tmc2209 stepper_y]uart_pin: PB7interpolate: True run_current: 1.1 #hold_current: 1.5 sense_resistor: 0.150 stealthchop_threshold: 0 uart_address:3driver_sgthrs: 65diag_pin: PE13
It is also a good moment to disable the hold current in the Z, Z1, Z2, Z3 Stepper and on the Extruder as well To disable you just need to put # in front on that line!
Here is the code for the Homing Procedure on X add Y
This Macro is from Voron Design Documentation.
[gcode_macro _HOME_X]gcode: # Always use consistent run_current on A/B steppers during sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT = 0.7 %} SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT}
# Home G28 X # Move away G91 G1 X-100 #F2200 # Wait just a second… (give StallGuard registers time to clear) G4 P1000 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
[gcode_macro _HOME_Y]gcode: # Set current for sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT = 0.7 %} SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT}
G91 Y-10
# Home
G28 Y
# Move away
G91
G1 Y-100 #F2200 # Wait just a second… (give StallGuard registers time to clear) G4 P1000 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}
I have disabled the Homing Override made by Sovol and added the one above! that is more refined and better for Sensor less.
# [homing_override]# gcode:# {% if not 'Z' in params and not 'Y' in params and 'X' in params %}# G28 X# G0 X248 F1200# {% elif not 'Z' in params and not 'X' in params and 'Y' in params %}# G28 Y# G0 Y260 F1200# {% elif not 'Z' in params and 'X' in params and 'Y' in params %}# G28 Y# G0 Y260 F1200# G4 P2000# G28 X# G0 X248 F1200# {% elif 'Z' in params and not 'X' in params and not 'Y' in params %}# G90# G0 X191 Y165 F3600# G28 Z# G0 Z10 F600# {% else %}# G90# G0 Z5 F300# G28 Y# G0 Y260 F1200# G4 P2000# G28 X# G0 X248 F1200# G90# G0 X191 Y165 F3600# G28 Z# G0 Z10 F600# {% endif %}# axes: xyz# set_position_z: 0
Adapted the new points for the QGL
[quad_gantry_level] gantry_corners: -60,-10410,420points:1,101,320316,320316,10speed: 400 horizontal_move_z: 10 retry_tolerance: 0.05 retries: 5 max_adjust: 30
Adapted the new points for the Bed Mesh
[bed_mesh]speed: 500 horizontal_move_z: 15 mesh_min: 40,40 mesh_max: 333,340 probe_count: 9,9 algorithm: bicubic bicubic_tension: 0.4split_delta_z: 0.016mesh_pps:3,3adaptive_margin: 5fade_start: 0fade_end: 10fade_target: 0
For the LED you need to ad this
[neopixel hotend_rgb] pin: extra_mcu:PA10 chain_count: 1 color_order: GRBW initial_RED: 0.3 initial_GREEN: 0.3 initial_BLUE: 0.3 initial_white: 0.3
Toolhead Board FAN
[controller_fan extra_controller_fan]pin: extra_mcu:PB0 fan_speed: 0.5# The fan speed (expressed as a value from 0.0 to 1.0) that the fan# will be set to when a heater or stepper driver is active.# The default is 1.0idle_timeout: 60# The amount of time (in seconds) after a stepper driver or heater# was active and the fan should be kept running. The default# is 30 seconds.idle_speed: 0.3# The fan speed (expressed as a value from 0.0 to 1.0) that the fan# will be set to when a heater or stepper driver was active and# before the idle_timeout is reached. The default is fan_speed.heater: extruder
License:
GNU General Public License v3.0
7