First off, thank you for including your klippy.log
- it may seem like it’s unnecessary but it did help me check something that you’ll see below.
3.5V is not low enough for the MCU (STM32F446) on the Octopus’s MCU’s pins to recognize that the input voltage has changed. It runs at 3.3V so you’re never falling below the power supply voltage of the chip, let alone the “low” input voltage level (which is roughly 1.1V).
Actually, what you’re seeing is exactly what I’d expect. When the PNP driver is “off”, there is no current flow and the voltage rises to the 5V of the device. When the PNP driver is on, the ESD protection in the chip (literally diodes providing a path to ground and chip power if the applied voltage is outside the chip’s VDD and GND voltage range, which in this case is 3.3V and 0V, respectively) brings the voltage down to the chip voltage plus the diode drop which is the 3.5V you’re seeing.
I suspect that the previous part you had was marginal and not working as it should. According to your klippy.log
, you’re connecting to PB6 (which, according to the schematic is SERVO/CONTROL pin of the BL Touch connector) and it goes directly to the MCU with no other components.
Now according to the STM32F446 datasheet, PB6 is 5V tolerant, so there should not be any chance of burning out the chip or the IO pins.
Without having any more information on the inductive probe that you’re using, I can’t really suggest a corrective action.
I use inductive probes all the time but I use NPN drivers, which pull a voltage down to ground - Triangle Labs have 5V ones that work very nicely in typical 3Pin endstop connectors (which have 5V, GND and a pulled up sense line).
Just as another point, when I look through your klippy.log
, you have:
endstop_pin = probe:z_virtual_endstop
on each of your Z steppers - you only need it on the first one.