Eddy Coil I2C NACK Problem

Basic Information:

Printer Model: KP3S 3.0
MCU / Printerboard: STM32F103 type / MKS KP3S V1.3
Host / SBC: Raspberry Pi 4 4GB
klippy.log klippy.log (101.5 KB)

Describe your issue:

Hello.
My printer is having some problem stating as I2C START NACK.
I recently installed BTT EDDY Coil on my KP3S, and every time I try to home my printer from IDLE state, it causes error like above.
However, when I try homing again after immediately restarting the firmware, it works fine afterwords.
It only causes this error when I try to use the sensor from an IDLE state, after few minutes from the last movement occured.

KP3S 3.0 uses a custom board called MKS KP3S V1.3, which is a variant of MKS Robin Nano V1.2. Both shares the schematic and pinouts.
As BTT Eddy Coil uses I2C, I found out that the leftover ports didn’t have any Hardware I2C left. So I used Software I2C Instead.

[probe_eddy_current btt_eddy]
sensor_type: ldc1612
i2c_mcu: mcu        # Printer side. Not Host side.
i2c_software_scl_pin: PA8
i2c_software_sda_pin: PB2
x_offset: 20
y_offset: 0
z_offset: 2.5

This is the configuration part of it. I used leftover pins which had no Pull Up/Down Resistors, and had direct connection to the MCU.

I also used these pins for BDSensor, which is another type that uses eddy current mechanism. It works fine on BDSensor.

What do you think the problem is?

1 Like

(post deleted by author)

I also used these pins for BDSensor, which is another type that uses eddy current mechanism. It works fine on BDSensor.

It is a little “unique” , and it just has no error handling nor detection, so - no errors :slight_smile: (and no real I2C). Also, there are no schematics of that probe, maybe it has pull-ups.

This is the configuration part of it. I used leftover pins which had no Pull Up/Down Resistors, and had direct connection to the MCU.

This is the most possible reason, because eddy it self also lacks them.
MCU will pull-up by default, but current is limited and it has an equivalent of 40kOm.

Depends on your line capacitance, it maybe worth to add something around 3-5kOm to pull-up SDA/SCL to VCCIO (3.3v here).

every time I try to home my printer from IDLE state, it causes error like above.

This is mostly a coincidence, I think.

BTT EDDY Coil

You may wish to test this patch: ldc1612: handle i2c errors by nefelim4ag · Pull Request #6813 · Klipper3d/klipper · GitHub
But it will only handle I2C errors inside the homing procedure, like 90% of all sensor communication.
Commands issued from the host still can trigger errors.

Hope it helps.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.