So... I have been experimenting with BLTouch and Smoothieboard on a printer I am in the process of building. For bed leveling the BLTouch probe seems to work fine and all of the various servo commands also work as expected, however I cannot get Z home to work using the BLTouch probe as the endstop switch. I guess I could add a seperate opto endstop for Z min and attach the probe to Z max for the purposes of bed leveling but it should really be possible to have it function correctly as the Z min endstop.
See the video below of the operation, the first command is G30, followed by G32, which all seems to work perfectly. The final command is Z home and you can see the behavior is not correct. Apologies for the Z axis noise, there were a couple of rogue unfastened T nuts. This printer is a work in progress.
Below is the relevant config... Among several things I tried setting gamma_min_endstop to nc, however that only results in the Z home not functioning at all, the Z axis just moves up slightly. Thoughts ?
# Endstops
endstops_enable true # the endstop module is enabled by default and can be disabled here
#corexy_homing false # set to true if homing on a hbit or corexy
alpha_min_endstop 1.24^ # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop 1.25^ # NOTE set to nc if this is not installed
alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
alpha_min 0 # this gets loaded after homing when home_to_min is set
alpha_max 200 # this gets loaded after homing when home_to_max is set
beta_min_endstop 1.26^ #
beta_max_endstop 1.27^ #
beta_homing_direction home_to_min #
beta_min 0 #
beta_max 200 #
gamma_min_endstop 1.28^ #
gamma_max_endstop 1.29^ #
gamma_homing_direction home_to_min #
gamma_min 0 #
gamma_max 200 #
# optional order in which axis will home, default is they all home at the same time,
# if this is set it will force each axis to home one at a time in the specified order
#homing_order XYZ # x axis followed by y then z last
# optional enable limit switches, actions will stop if any enabled limit switch is triggered
#alpha_limit_enable false # set to true to enable X min and max limit switches
#beta_limit_enable false # set to true to enable Y min and max limit switches
#gamma_limit_enable false # set to true to enable Z min and max limit switches
alpha_fast_homing_rate_mm_s 50 # feedrates in mm/second
beta_fast_homing_rate_mm_s 50 # "
gamma_fast_homing_rate_mm_s 4 # "
alpha_slow_homing_rate_mm_s 25 # "
beta_slow_homing_rate_mm_s 25 # "
gamma_slow_homing_rate_mm_s 2 # "
alpha_homing_retract_mm 5 # distance in mm
beta_homing_retract_mm 20 # "
gamma_homing_retract_mm 10 # "
endstop_debounce_count 100 # uncomment if you get noise on your endstops, default is 100
# optional Z probe
zprobe.enable true # set to true to enable a zprobe
zprobe.probe_pin 1.28^ # pin probe is attached to if NC remove the !
zprobe.slow_feedrate 5 # mm/sec probe feed rate
zprobe.debounce_count 100 # set if noisy
zprobe.fast_feedrate 200 # move feedrate mm/sec
zprobe.probe_height 8 # how much above bed to start probe
#gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict,
# associated with zprobe the leveling strategy to use
leveling-strategy.three-point-leveling.enable true # a leveling strategy that probes three points to define a plane and keeps the Z parallel to that plane
leveling-strategy.three-point-leveling.point1 100.0,0.0 # the first probe point (x,y) optional may be defined with M557
leveling-strategy.three-point-leveling.point2 200.0,200.0 # the second probe point (x,y)
leveling-strategy.three-point-leveling.point3 0.0,200.0 # the third probe point (x,y)
#leveling-strategy.three-point-leveling.home_first true # home the XY axis before probing
leveling-strategy.three-point-leveling.tolerance 0.03 # the probe tolerance in mm, anything less that this will be ignored, default is 0.03mm
#leveling-strategy.three-point-leveling.probe_offsets 0,0,0 # the probe offsets from nozzle, must be x,y,z, default is no offset
leveling-strategy.three-point-leveling.save_plane true # set to true to allow the bed plane to be saved with M500 default is false