I have recently purchased a reel of this specification screened wire from RS Components to use in I2C communications, expecting it to be very well suited to purpose. I am running at approximately 400 kHz clock on the wire and did not think for a second that the choice of cable might limit the speed I could run at. However on oscilloscope inspection, the bus signals are extremely dulled by the connection of a 3m length of this wire.

Is the problem with the I2C master not having a sufficient pullup resistor say, or is the wire genuinely at fault? Is there a significantly better wire specification I could use for this application?

Further Information:

It is true this wire is listed as 95pF/m. I have found a different spec of wire (for microphone use) that seems potentially impossible based on the physics discussed, but here it is, 55-105pF/km.

  • 1
    \$\begingroup\$ At 100pF per meter, that 300pF and 1K ohm pullup implements 0.3uS time constant to 63%, 0.6uS to 90%. \$\endgroup\$ – analogsystemsrf Jun 22 '17 at 13:59
  • \$\begingroup\$ I2C is not designed to be run over long lengths of wire like that. It is designed for connecting chips on a PCB (or at worst on interconnected PCBs with short jumper wires). \$\endgroup\$ – Majenko Jun 22 '17 at 14:10
  • 1
    \$\begingroup\$ I2C isn't really designed to sent signals over a cable, it's designed for interconnection of ICs on a circuit board. It can be made to work over short cables, but 3 meters is going to be challenging. Certainly lower value pull-ups will help but I wouldn't run I2C over 3m of cable. \$\endgroup\$ – John D Jun 22 '17 at 14:11
  • \$\begingroup\$ @Majenko Ha, you beat me to it :) \$\endgroup\$ – John D Jun 22 '17 at 14:12
  • 1
    \$\begingroup\$ All I2C devices use an open-drain driver with a pull-up resistor. In combination with the cable (or board) capacitance this severely limits how fast you can drive I2C into a long cable. Try reducing your clock speed from 400kHz to 10kHz and see if it works. There are I2C Bus Extender ICs from Texas that can work at up to 50m using twisted pair cable. \$\endgroup\$ – Steve G Jun 22 '17 at 14:46

Interestingly I was replacing some solid core ethernet cable I'd hacked in to do the job, moving up to a wire type I assumed would be far superior. Turned out it wasn't to my surprise.

Cable that has a characteristic impedance of 50 ohms tends to fall into the 100 pF per metre region and if you look at the formula for impedance above several hundreds of kHz it is approximately this: -


This means that the inductance is about 250 nH per metre (with a touch of hand waving). For the impedance to double to 100 ohms, something has to give and clearly the ratio L/C has to increase 4 times. This usually (and again with a bit of hand waving) means L doubles and C halves.

I have dropped it from 400 kHz to 200 kHz as I can see the waveforms are just about good enough to get the job done. It works for now.

This might easily be enough of a reason for things not to work at 400 kHz clock but become workable at 200 kHz.

|improve this answer|||||

Your Answer

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

Not the answer you're looking for?Browse other questions tagged or ask your own question.