Error "BLTouch failed to verify sensor state" with DIY BLTouch

Basic Information:

klippy.log (380.8 KB)

Printer Model: Modified Ender 3 V2
MCU / Printerboard:V4.2.2
Host / SBC: Raspberry Pi 3 B+

I made a DIY BLTouch with a servo and the stock Z endstop switch, as in the image.

Issue

The probe is connected to the 5 pin BLTouch connector on the mainboard: the servo to the first 3 pins and the switch to the last two, connected to the common and normally closed like the stock endstop.

It worked just fine with the Merlin firmware from the creality website. The servo deploys and stows and the switch does it’s thing.

With klipper, when I try to home the printer (with the config adjusted, as in the klippy.log) the servo freaks out a bit and the console gives the error in the title. It tries again, with the same result and gives up.

I couldn’t find any help online because every result is about the off the shelf BLTouch. I don’t know if I need to connect the switch to the BLTouch or Z endstop or if it should be connected to the normally open or normally closed of the switch. Also I don’t know if the servo should just work or if there is a config setting to set the deployed/stowed angles.

This will likely not work with the BL Touch module as your setup simply is not a BL Touch.

Probably you can get this working with something like:

[servo BLT_DIY]
pin: ...
initial_angle: ...
enable: ...
maximum_servo_angle = ...
minimum_pulse_width = ...
maximum_pulse_width = ...

[probe]
pin: ...
speed: 5.0
z_offset: 1.0
activate_gcode:
SET_SERVO SERVO=BLT_DIY ENABLE=1
SET_SERVO SERVO=BLT_DIY ANGLE=...
G4 P500
deactivate_gcode:
SET_SERVO SERVO=BFPTouch ANGLE=...
SET_SERVO SERVO=BFPTouch ENABLE=0

Likely takes some tinkering but you should get the idea.