Files
2026-07-11 16:59:05 -07:00

4.5 KiB

tags, created
tags created
resource
2026-03-08 20:22

Summary

Notes on the I2C communication protocol.

Notes

Using Cat6 Cable

For the best results running I2C signals over Cat6 cable, use a shielded Cat6 cable and pair each signal line (SDA/SCL) with a dedicated Ground (GND) wire in the same twisted pair. Lower your clock speed (e.g., to (100kHz) or lower), and use active terminators or bus extenders if the distance exceeds 2 meters.

Follow this configuration, optimize your signals, and use active buffers for long runs to ensure reliability.

  1. Pinout and Wiring Configuration

Use one of the standard twisted-pair configurations to isolate the data lines from cross-talk and noise.

  • Pair 1: SDA + Ground
  • Pair 2: SCL + Ground
  • Pair 3: (V_{DD}) (Power) + Ground
  • Pair 4: Unused (Can be connected to Ground for extra shielding)

Why this works: By twisting SDA and SCL with their respective Ground returns, you create a pseudo-differential pair. This guarantees noise immunity from external electromagnetic interference (EMI).

  1. Signal Optimization

Because I2C was originally designed for short, PCB-level distances (<1m), using a cable introduces bus capacitance, which degrades the rising edge of your signal.

  • Reduce the Clock Speed: Drop your I2C frequency from (400kHz to 100kHz) or (10kHz) to prevent communication dropouts.
  • Adjust Pull-Up Resistors: Standard I2C requires pull-up resistors. Over a long cable, the higher capacitance slows down data transitions. You may need to use stronger pull-up resistors (lower resistance value, down to (approx. 1 KΩ - 2.2KΩ) depending on your bus capacitance.
  • Add Series Resistors: Add a small resistor (100Ω) to the SDA and SCL lines on both ends of the cable to dampen signal reflections.
  1. Bus Extenders for Extended Distances

If your distance exceeds 2 to 3 meters, the bus capacitance of Cat6 (typically 50pF to 52pF per meter) will exceed the I2C standard of (400pF).

For distances between 5 and 50 meters, utilize specific hardware rather than running raw I2C:

  • LTC4311: An active terminator IC that actively pulls up and terminates the signal.
  • PCA9615 / PCA9600: Differential I2C bus extenders that convert the signal to a differential format. This allows I2C signals to safely travel up to 100 meters.

For tips on how to correctly terminate wires inside a standard RJ-45 plug to build your extension cables:

4 wire

Using standard I2C over a long 4-wire twisted pair cable (like Ethernet) causes signal degradation, capacitance issues, and crosstalk. For reliable operation, use differential I2C extenders (e.g., PCA9615 I2C Buffer). Otherwise, map standard I2C strictly as: Pair 1 (SDA + Power/GND) and Pair 2 (SCL + Power/GND).

Standard I2C uses non-differential, single-ended signals. Twisting the wrong wires together creates significant crosstalk and capacitive coupling. To minimize signal corruption:

  • Never twist SDA and SCL together: Twisting your two data lines together is the fastest way to cause I2C communication failures.
  • Twist with a Return Path: Twist the SCL line with a Ground (GND) wire, and twist the SDA line with a Voltage ((V_{CC})) wire.
  • Reduce Clock Speed: Drop the I2C clock frequency (e.g., down to (100\text{ kHz}) or lower) to compensate for cable capacitance and avoid signal reflections.

Extending I2C Long Distances (Differential Signaling)

If you need to run your I2C bus over long distances (beyond a few feet), standard I2C will fail. You should convert the single-ended I2C signal into a differential signal using a buffer IC like the PCA9615.

  • How it works: It takes standard I2C and translates it into 4 differential lines.
  • Wiring: The 4-wire twisted pair is mapped as two separate differential pairs:
    1. SCL_A and SCL_B (Clock Pair)
    2. SDA_A and SDA_B (Data Pair)
  • Benefit: Differential signaling cancels out electromagnetic interference, allowing you to run I2C reliably across (30\text{ meters}) ((100\text{ feet})) or more.

References