Skip to main content

EDDY I2C Pins and Configuration Guide

This document explains the I2C pin definitions for the FLY-EDDY series (EDDY-M / EDDY-F) sensors, the pin mapping and wiring steps for the two connection methods, as well as the I2C related configuration items required for probe_eddy_current.

I2C Pinout

The FLY-EDDY is based on the TI LDC1612 chip and communicates via the I2C interface. The 5P cable harness includes 4 I2C signal wires and 1 temperature detection wire (TEMP, output from the onboard thermistor, used for [temperature_probe] thermal drift compensation):

PinDefinitionDescription
VCCPower positive5V power supply, refer to product labeling for specifics
GNDPower groundCommon ground with the MCU
SDAI2C data lineOpen-drain output, connect to the MCU's I2C SDA pin
SCLI2C clock lineOpen-drain output, connect to the MCU's I2C SCL pin
TEMPTemperature detectionOutput from the onboard thermistor, connect to the MCU's ADC pin for [temperature_probe] thermal drift compensation (optional)

The I2C address of the LDC1612 is determined by the voltage level of the chip's ADDR pin. The FLY-EDDY is factory-set to 0x42 (42). Write the decimal value i2c_address: 42 in the Klipper configuration.

Two Connection Methods

The signal definitions for the EDDY-M and EDDY-F are identical; they differ only in physical connection method and compatible platform (MX1.25 connector / FPC cable):

  • EDDY-F (FPC cable): Specifically compatible with the EDDY interface on the SHT36 V3, SB2040 V3, SB2040 PRO V3 toolheads. The TEMP wire is automatically connected to the toolhead's temperature detection pin (all gpio28)
  • EDDY-M (MX1.25 connector): Compatible with standard toolheads or motherboards. Wiring and I2C configuration must be done according to the actual board definition (see the wiring and configuration sections below)
SignalEDDY-M (MX1.25 connector)EDDY-F (FPC cable)
Power positiveVCCVCC
Power groundGNDGND
Data lineSDASDA
Clock lineSCLSCL
Temperature detectionTEMPTEMP

The MX1.25 connector pin order for the EDDY-M (left to right) is: SDA, TEMP, SCL, 5V, GND. The FPC cable for the EDDY-F is only compatible with the EDDY interface on FLY toolheads (SHT36 V3 / SB2040 V3 / SB2040 PRO V3). Simply insert it; no need to verify the pin order.

EDDY-M: MX1.25 Connector Wiring

Power Off

Before starting wiring or plugging/unplugging cables, completely power off the printer and disconnect the power supply. Do not plug/unplug cables, arrange interface wire order, or touch connectors while the power is on.

  1. Insert the MX1.25 cable (single-ended 5P, 30cm) into the EDDY-M connector, matching the connector pin order (left to right: SDA, TEMP, SCL, 5V, GND) one-to-one
  2. Connect the other end of the cable to the I2C interface on the standard toolhead or motherboard, verifying the pin sequence against the interface silkscreen
  3. Connect the TEMP wire to an available ADC pin on the motherboard; if no ADC pin is available, it can be left unconnected, but the thermal drift compensation feature will be unavailable
  4. After firmly inserting the connector, gently pull the cable to confirm it is secure
I2C Configuration Notes

When connecting the EDDY-M to a standard toolhead or motherboard, i2c_mcu and i2c_bus must be filled in according to the actual MCU definition on the motherboard; when using software I2C, i2c_software_scl_pin / i2c_software_sda_pin must be specified. The I2C address is fixed at 0x42 (42), the crystal frequency is 40MHz. Configuration items are described below.

EDDY-F: FPC Cable Wiring

Power Off

Before starting wiring or plugging/unplugging cables, completely power off the printer and disconnect the power supply. Do not plug/unplug cables, arrange interface wire order, or touch connectors while the power is on.

  1. Insert the FPC cable (5P, 0.5mm pitch, same-side contacts) into the EDDY-F connector: open the latch, insert the cable's gold fingers in the correct orientation, press flat, and close the latch to secure it
  2. Connect the other end of the cable to the EDDY interface on the SHT36 V3 / SB2040 V3 / SB2040 PRO V3 toolhead; the FPC connector matches the toolhead interface one-to-one. Simply insert it; no need to verify the pin order
  3. The TEMP wire is automatically connected to the temperature detection pin on the toolhead's EDDY interface (all gpio28), no additional wiring needed
  4. Confirm the FPC cable is not bent and has no exposed copper foil

Wiring Precautions

  • Do not connect capacitors, inductors, diodes, or other components in series or parallel with the SDA / SCL signal lines, and do not route them through RC / LC filter circuits or external level shifters; I2C is an open-drain signal, extra capacitance will slow down the signal rise time, potentially causing communication failures or errors
  • EDDY communication lines should be kept away from motor wires, heater wires, and heated bed wires to avoid I2C signal interference
  • I2C wires should not be excessively long; poor wire quality or long routing may lead to unstable communication
  • Prioritize using ready-made cable assemblies; for electrical inspection of exposed terminals or cables, please contact after-sales or professional personnel

I2C Related Configuration Items

The I2C communication related configuration items in [probe_eddy_current] are as follows:

Configuration ItemDescriptionFLY-EDDY Value
sensor_typeSensor chip model, fixed as ldc1612ldc1612
i2c_addressI2C device address (decimal)42 (0x42)
i2c_mcuName of the MCU connected to the sensorDefine based on actual connection
i2c_busHardware I2C bus on the MCUBased on MCU definition
i2c_speedI2C communication speed (Hz)Default 100000, you can test with 400000 first
i2c_software_scl_pin / i2c_software_sda_pinSCL / SDA pins for software I2CNot needed when using hardware I2C
frequencyLDC1612 external crystal frequency (Hz)40000000 (40MHz)

Configuration Examples

[probe_eddy_current] supports both hardware I2C and software I2C. Choose one only; do not configure i2c_bus together with i2c_software_scl_pin / i2c_software_sda_pin.

When the MCU has an available hardware I2C bus, prioritize using hardware I2C for more stable communication:

[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
# The I2C address of FLY-EDDY is 0x42 (42)
i2c_mcu: SHT36
# Name of the MCU connected to the EDDY, define based on the actual setup
i2c_bus: i2c1e
# I2C bus identifier, based on MCU definition
i2c_speed: 400000
# I2C communication speed (Hz), decrease if communication is unstable
frequency: 40000000
# External crystal frequency (Hz), FLY-EDDY is 40MHz
x_offset: 0
y_offset: 21.42
descend_z: 2.5
Usage Notes
  • Choose one between Hardware I2C and Software I2C: For hardware I2C, configure i2c_mcu + i2c_bus; for software I2C, configure i2c_software_scl_pin + i2c_software_sda_pin. Do not write i2c_bus, and do not configure both methods simultaneously
  • The pins used for software I2C must not be shared with other functions (such as temperature sensors, fans, endstops, etc.). Select free GPIOs on the MCU
  • If I2C errors like BUS_TIMEOUT, Invalid read data, or Eddy: CLKIN frequency too low occur, first power off and check the wiring, then try lowering the i2c_speed
  • frequency must match the onboard crystal of the EDDY; FLY-EDDY is 40MHz. An incorrect value will cause abnormal readings
  • When multiple devices are on the same I2C bus, ensure device addresses do not conflict

EDDY Issue Collection: EDDY Sensor Common Issues

EDDY TAP Mode: EDDY TAP Mode Debugging

FLY-EDDY Product Documentation: FLY-EDDY Introduction

Loading...