This is a follow-up question on this answer. I need to communicate with I2C over approximately 10cm and I'd like to use an FFC or IDE cable for that.

Earlier, I used an FFC cable to link a segment LCD screen to a 7106 IC. Some segments flashed a bit, and after some testing I found out that was because of interference between the wires. I used a standard flat IDE connector cable from an old computer for this.

I'd like to know if I2C could have problems with communicating over 10cm of a FFC or IDE cable, when data and clock line are directly next to each other. If so, is there a way to resolve this? Would placing a ground and 5V line in between help?


1 Answer 1


Use the tandem shielding approach. Ground in between each line...

Going across the cable: G, S1, G, S2, G, S3, ...

That's the easiest and it will definitely help, probably enough to solve your problem. If not, there are more exotic solutions like differential buffers, increasing the drive impedance to slow down the edge-rate, etc...

I should add, the you won't have problems with I2C over 10cm on FFC or Ribbon even without elaborate grounding/shielding mechanisms, but it can't hurt.

You can estimate/prove it this way... the line behaves like a lumped element if the line is less than 1/10 the wavelength. In copper (with insulation) the speed of light is about half that of vacuum (conservative since slower = shorter).

At 400kHz, the safe edge rate is 4MHz (10X). Ergo, the wavelength at 4MHz in insulated copper is >30 meters. So as long as your I2C drivers don't switch too quickly (they don't) you are safe for at least around 3 meters (30/10) of cable.

In practice, you'll have the other problem (the signal being too slow rather than too fast) at those longer cable lengths. You'll need more drive strength to go that far, but 10cm no problem.

  • \$\begingroup\$ Very nice! Just for my information, would 5V in between work as well? It could save lines when using more data lines: S1, G, S2, 5V, S3 instead of S1, G, S2, G, S3, 5V \$\endgroup\$
    – user17592
    Jan 20, 2013 at 10:16
  • 1
    \$\begingroup\$ Sure, in theory you just need something DC. The general issue with power lines is that they move around (contain small amplitude high frequency signals) more so than the returning lines (especially if you have more of them). But S1, G, S2, 5V will work fine... pretty sure. \$\endgroup\$ Jan 20, 2013 at 10:40
  • 1
    \$\begingroup\$ Just decouple every 5V to 0V at each end of the cable. \$\endgroup\$ Jan 20, 2013 at 12:23
  • 1
    \$\begingroup\$ @Brian's suggestion is such a good idea that it is "standard practice." You should do that. I would use 10nF at the cable ends and 100nF at the point of load for "decoupling." Don't forget your bulk capacitance as well. \$\endgroup\$ Jan 20, 2013 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy