Printer Model: TEVO Little Monster
MCU / Printerboard: BTT SKR 1.4 Turbo
Host / SBC BTT Pi 1.2
klippy.log
Hi everyone! I’m building a Delta printer based on the TEVO Little Monster with a BTT SKR 1.4 Turbo MCU.
I ran into a problem where the 3D Touch sensor always reads as “open” (trigger not detected). All the commands like BLTOUCH_DEBUG COMMAND=pin_down, BLTOUCH_DEBUG COMMAND=touch_mode, and QUERY_PROBE return “probe: open.” When I manually lift the probe, the command reports “probe: TRIGGERED.”
When I run Probe_Calibrate, the 3D Touch probe deploys and calibration completes successfully. The PROBE_ACCURACY command also runs fine. But as soon as I run Delta_Calibrate, the 3D Touch stays in the “pin_up” state and the nozzle crashes into the bed.
Dear Sineos. I’ve been dealing with this algorithm for about 1.5–2 months now. I’ve tried every single step in the instructions—nothing works. I checked the wiring (even connected the sensor directly to the MCU board and replaced the sensor with a new one), but same result. Tried adding a pull-up resistor, even thought about inverting the signal with (!)—no luck.
Right now, when I power up the MCU, it tests the 3D touch (moves up and down like it should). Then I run prob_calibrate, and it works. But when I send the DELTA_CALIBRATE command, the 3D touch sensor doesn’t trigger.
I measured voltage on the control_pin—it’s 4.98V. Logically, everything should work… but it doesn’t. I even reinstalled Klipper using KIAUH.
Here is the latest log file. I ran through the initial tests again, and the result is still the same: when running DELTA_CALIBRATE and BED_MESH_CALIBRATE, the 3D touch sensor does not activate. klippy (4).log (545.0 KB)
I reduced the position_endstop value by 40 mm — changed it from 522 to 480. However, when I run the command DELTA_CALIBRATE METHOD=manual, the 3D Touch sensor still stays red, and the nozzle doesn’t reach the bed.
I just discovered the following: According to the instructions, using sensor_pin: ^P0.10 shows a voltage of only 2.4 volts on that pin (ChatGPT said it should be 3.3 volts). I switched the connector to sensor_pin: ^P1.25 where the voltage is 3.3 volts, but when I run BLTOUCH_DEBUG COMMAND=pin_up and then QUERY_PROBE, it still reports “open.”
I completed the initial test using the sensor pin: P1.25.
DELTA_CALIBRATE METHOD=manual - completed
DELTA_CALIBRATE still fails, and the 3D Touch sensor remains inactive
You need to know the z-height (distance between home position and nozzle just touching the bed), and make sure it is entered correctly. You only set this value under Stepper A: position_endstop: xxx.xxx.
The best way to perform a Delta Calibration is the manual method, using a piece of paper. Most delta printers will have some effector tilt somewhere within the print radius… thus probes (bl Touch, CR Touch, etc.), unless using the nozzle or probe directly below the nozzle, are mostly useless in calibration or creating a bed mesh - Do these manually.
Probe calibrate is only used to determine the distance between the triggered probe tip and the nozzle tip.
The SKR 1.4 board & BTT Pad 7 worked on my delta but it wasnt great, I’m not sure why. Sometimes I would have to restart it before prints otherwise I would get errors. I ended up switching it out for a SKR Pico & Pi Zero w2, and it (Klipper) works much better, without issues.
I have a bl Touch on my delta, but only to probe one spot on the bed before each print (similar to G30) to verify z-height, and get perfect first layers.
If this helps, below are the relevant sections of my old printer cfg using the SKR 1.4 board - Not the Turbo 1.4
At the moment, I think I’ve solved the problem—not exactly the way I wanted, but still.
Since the 3D Touch (BL Touch) passed the initial tests successfully, but the query_probe command always showed the status as “open,” I decided to try the following steps: run the command BLTOUCH_DEBUG COMMAND=pin_down and, as soon as the probe was opened, immediately run the DELTA_CALIBRATE command.
To my surprise, it worked.
However, I wanted everything to happen with just one button press, so I decided to write a script: