# Can't get endstops to trigger

**URL:** <https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477>\
**Category:** General Discussion\
**Created:** [February 6, 2023, 11:36pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477 "2023-02-06T23:36:31Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 6, 2023, 11:36pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/1 "2023-02-06T23:36:31Z")

</div>

### Basic Information:

Printer Model: V Core 3.1 500  
 MCU / Printerboard: Octopus Pro  
 [klippy.log](https://klipper.discourse.group/uploads/short-url/6WYWzvtRHjBN3GLDi0kIYYQuJkj.log) (25.3 KB)

I can’t get the endstop switches to trigger. They are working, an led lights up when the switch in closed and the sense pin goes to 5v, but the sense pin is at 3v when switch is open.  
This is the same for both x and y endstops.

x is plugged into Diag0 (PG6) and Y into Diag1 (PG9)

In mainsail machine page, the endstop status doesn’t change (sync button pressed every time). Setting pull up (^) doesn’t appear to make any difference. Inverting the pin (!) in printer.cfg changes the indicated state and but no combination results in successful function.

Any ideas?

---

<div class="post-metadata">

**Author:** ![jakep\_82](https://avatars.discourse-cdn.com/v4/letter/j/ea666f/32.png) [@jakep\_82](https://klipper.discourse.group/u/jakep_82)\
**Post date:** [February 6, 2023, 11:45pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/2 "2023-02-06T23:45:35Z")

</div>

You should have the endstops connected to signal and ground, not 5V.

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 7, 2023, 8:28am UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/3 "2023-02-07T08:28:58Z")

</div>

No, the endstops are 3 wire boards (supplied with kit from ratrig) not just a microswitch. So vcc, gnd, and signal

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 7, 2023, 8:39am UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/4 "2023-02-07T08:39:32Z")

</div>

I am assuming it is the interaction with the BTT TMC5160 Pro drivers (SPI Mode) as i have read that the sensorless homing pin prevents the endstops triggering.  
So should the diag1 pin on the tmc driver be clipped?

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [February 7, 2023, 8:48am UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/5 "2023-02-07T08:48:29Z")

</div>

Typically you need to jumper your board accordingly and use the respective connectors that are meant for the endstops.  
A quick look into the manual reveals:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/7/71484bb44e59efd8b128f896868006f7d00369f8.jpeg)

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 7, 2023, 11:11am UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/6 "2023-02-07T11:11:42Z")

</div>

Hi Sineos,  
You may be my saviour once again! I will check this out later

---

<div class="post-metadata">

**Author:** ![jakep\_82](https://avatars.discourse-cdn.com/v4/letter/j/ea666f/32.png) [@jakep\_82](https://klipper.discourse.group/u/jakep_82)\
**Post date:** [February 7, 2023, 7:48pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/7 "2023-02-07T19:48:33Z")

</div>

If the endstop is wired to send 5V to the signal when closed, and the signal pin has a hardware pullup on it, then you won’t be able to make this work. The difference between 3V and 5V is not enough for a logic change. The easy solution is wiring to signal and ground.

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 7, 2023, 8:24pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/8 "2023-02-07T20:24:43Z")

</div>

I have no idea what is wrong, the stallguards pins have no jumpers on and i can measure 5v at vcc and 3.3v on signal pin with nothing connected to enstop pins.

But sadly it is currently irrelevant, as a slight ‘accident’ earlier has resulted in a fried octopus.

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [February 7, 2023, 8:30pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/9 "2023-02-07T20:30:10Z")

</div>

You missed to activate the pullup resistors for the `endstop_pin` inputs:

```auto
[stepper_x]
step_pin = x_step_pin
dir_pin = !x_dir_pin
enable_pin = !x_enable_pin
rotation_distance = 40
microsteps = 64
homing_speed = 50
homing_retract_dist = 5.0
endstop_pin = x_endstop_pin
position_max = 500
position_endstop = 0

```

to

```auto
[stepper_x]
...
endstop_pin = ^x_endstop_pin
...

```

---

<div class="post-metadata">

**Author:** ![mykepredko](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/mykepredko/32/2085_2.png) [@mykepredko](https://klipper.discourse.group/u/mykepredko)\
**Post date:** [February 7, 2023, 9:13pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/10 "2023-02-07T21:13:19Z")

</div>

If he’s using a switch that lights an LED when it is closed, then he has a valid connection to +5V and GND as the LED and its associated current limiting resistor is powered by +5V and current through them go to GND.

The questions are:

1. Is the switch connected to the correct pin in the controller?
2. Do the DIAG jumpers on the controller affect the operation of the switch?

It’s not trivial to figure out if the DIAG jumpers affect the switch operation.

The first problem is, the pinout drawing doesn’t list the controller pins for the diag pins (set on Jumpers J16 to J23):

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/0/064fcf6a20a064689b6a47914f3baa9d4567797c.png)

So, you have to look at the schematics, start with “J16” and presuming the other seven diag jumpers are all the same, which is probably safe to do. But “J16” doesn’t offer any immediate clues:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/3/38df24fef7b581089e381dfd418252b916335403.png)

So, you have to look for “DIAG0” which goes to the controller pin PG6:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/4/4451283c566d51a53f5bd88698a34e473e8fc54f.png)

AND the connector used for wiring the switch sensor:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/0/01b2fc35ed5dd9ff10c3852a8f4897e46d782e87.png)

So, we can see that PG6 is always wired to the switch sensor connector but what happens if the jumper is in place and we have a connection to DRIVER0\_DIAG. It seems that DRIVER0\_DIAG is a driver pin on the TMC motor driver which will overpower any signal from a switch and a (LED equipped) pull up:

 ![image](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/e/e6f02cf4a71a84d1c9af20cae253c3d7d53ca5d4.png)

So @sineos’s idea of pulling the DIAG jumper is probably the right solution to the problem.

Honestly, it shouldn’t be this hard but sometimes the controller manufacturer’s don’t fully fill out the pin sheet for their boards.

---

<div class="post-metadata">

**Author:** ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)\
**Post date:** [February 7, 2023, 9:21pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/11 "2023-02-07T21:21:30Z")

</div>

> [@Julio](#):
>
> But sadly it is currently irrelevant, as a slight ‘accident’ earlier has resulted in a fried octopus.

I like fried octopus but in this case it is really bitter. Sorry to hear, man.

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 8, 2023, 12:54pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/12 "2023-02-08T12:54:33Z")

</div>

Thank you mykepredko,

That is an incredibly detailed look into the pinout of the octopus board.

What you have shown, is what I had concluded. The board pulls the end stop signal pins logic high (3.3V) and the end stops provided by ratrig in the v core 3.1 kit connect the signal pin high when the switch is triggered, so this combination will never work.  
I guess a simple microswitch wired between signal and ground is the answer (as suggested by jakep\_82) and throw the ratrig swtiches in the bin.

I prefer fried squid with salt and chilli, this fried octopus is flavoured with rat and is very bitter!

---

<div class="post-metadata">

**Author:** ![mykepredko](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/mykepredko/32/2085_2.png) [@mykepredko](https://klipper.discourse.group/u/mykepredko)\
**Post date:** [February 8, 2023, 3:18pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/13 "2023-02-08T15:18:27Z")

</div>

Don’t throw away the Ratrig switch - I’ve used them on an Octopus board (I experimented with them on my Voron 2.4 because I didn’t love the X/Y switch that is normally used with the printer) and they work fine.

Sorry you’ve got a toasted board.

---

<div class="post-metadata">

**Author:** ![Julio](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/julio/32/4001_2.png) [@Julio](https://klipper.discourse.group/u/Julio)\
**Post date:** [February 8, 2023, 7:15pm UTC](https://klipper.discourse.group/t/cant-get-endstops-to-trigger/6477/14 "2023-02-08T19:15:10Z")

</div>

Have swapped out end stop switches wired sense pin to ground pin and now works.

Also Octopus Pro board isn’t fried, the spi reports an error and the TMC5160 Pro drivers dont work in the board, but installed TMC2209 drivers via uart (and dropped from 48V to 24V!) and is working.
