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):
| Pin | Definition | Description |
|---|---|---|
| VCC | Power positive | 5V power supply, refer to product labeling for specifics |
| GND | Power ground | Common ground with the MCU |
| SDA | I2C data line | Open-drain output, connect to the MCU's I2C SDA pin |
| SCL | I2C clock line | Open-drain output, connect to the MCU's I2C SCL pin |
| TEMP | Temperature detection | Output 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)
| Signal | EDDY-M (MX1.25 connector) | EDDY-F (FPC cable) |
|---|---|---|
| Power positive | VCC | VCC |
| Power ground | GND | GND |
| Data line | SDA | SDA |
| Clock line | SCL | SCL |
| Temperature detection | TEMP | TEMP |
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
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.
- 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
- 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
- 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
- After firmly inserting the connector, gently pull the cable to confirm it is secure
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
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.
- 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
- 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
- The TEMP wire is automatically connected to the temperature detection pin on the toolhead's EDDY interface (all
gpio28), no additional wiring needed - 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 Item | Description | FLY-EDDY Value |
|---|---|---|
sensor_type | Sensor chip model, fixed as ldc1612 | ldc1612 |
i2c_address | I2C device address (decimal) | 42 (0x42) |
i2c_mcu | Name of the MCU connected to the sensor | Define based on actual connection |
i2c_bus | Hardware I2C bus on the MCU | Based on MCU definition |
i2c_speed | I2C communication speed (Hz) | Default 100000, you can test with 400000 first |
i2c_software_scl_pin / i2c_software_sda_pin | SCL / SDA pins for software I2C | Not needed when using hardware I2C |
frequency | LDC1612 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.
- Hardware I2C (Recommended)
- Software I2C
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
When the MCU has no available hardware I2C bus, or if hardware I2C communication is unstable, software I2C can be used. Specify two free GPIOs as SCL / SDA:
[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_software_scl_pin: SHT36:gpioXX
# SCL pin for software I2C, gpioXX is a placeholder, fill in with an actual free GPIO connected to the EDDY
i2c_software_sda_pin: SHT36:gpioXX
# SDA pin for software I2C, gpioXX is a placeholder, fill in with an actual free GPIO connected to the EDDY
i2c_speed: 400000
# I2C communication speed (Hz), software I2C speed should not be too high, 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
- Choose one between Hardware I2C and Software I2C: For hardware I2C, configure
i2c_mcu+i2c_bus; for software I2C, configurei2c_software_scl_pin+i2c_software_sda_pin. Do not writei2c_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, orEddy: CLKIN frequency too lowoccur, first power off and check the wiring, then try lowering thei2c_speed frequencymust 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
Related Documentation
EDDY Issue Collection: EDDY Sensor Common Issues
EDDY TAP Mode: EDDY TAP Mode Debugging
FLY-EDDY Product Documentation: FLY-EDDY Introduction