I2C protection question [HELP!]

Discussion in 'The Projects Forum' started by nomorebots, Jan 15, 2015.

  1. nomorebots

    Thread Starter New Member

    Jan 15, 2015
    Hello there,
    I have question about how to set up design I2C between devices for protection if any is necessary.

    Say you have three systems (as in the picture)
    System A is something like a Raspberry Pi. System B is battery powered unit like a multimeter. System C is something that uses much more power, say a washing machine. I want to modify the multimeter to measure appliance and use I2C to connect to Raspberry Pi.

    If I want to link System A and System B together. Since System B's ground might not have the same potential as System A, (as the picture below, one is at 100V while the other one is at 0) would something get damaged when I hook them up through I2C?

    System B's ground will change according to System C's ground. There is a 1V difference between the two. Do I need any protection on the meter pin that is going to connect to the Raspberry's I2C from system B?


    I've found this but I am assuming this works during data transfer (when the ground is already equalized)
    I've heard mixed answers from friends, some say the above method is good enough. Some said a optical-cuplor is necessary. Some of the I2C isolation IC looks like the method above to me but its pricy. Since PCB space is extremely limited, something that is small and cheap is the best.

    Please help!
  2. ericgibbs

    Senior Member

    Jan 29, 2010
    In any electronic system that has separate modules that are directly interconnected, its essential that they share a Common 0V.
    A often used method is to have a 0V 'star' connection at the power supply, that is each module has its own 0v Common connected to the power supply at a common point.

    It is possible to use opto-couplers to isolate each module in order to prevent ground loop problems.
    This means each module will need its own power supply.

  3. nomorebots

    Thread Starter New Member

    Jan 15, 2015
    Thanks for the answer, I think i will approach with the opto-coupler solution.

  4. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    When hot plugging you need to play close attention to making the connections in the proper order. USB does this, look inside a plug and you will see the power pins are longer so they connect before the signal pins. Things like washing machines where there can be big transients scare me into being very defensive in my approach.

    Since both data and clock are bidirectional in an I2B bus have you considered how you will handle the reverse signals?

    Do note that Linear Tech and Analog Devices both sell complete I2C isolators on a chip.
  5. Papabravo


    Feb 24, 2006
    Opto couplers will be problematical for I2C. SDA must be bi-directional. Furthermore it needs a rapid turnaround for the ACK bit. Optocouplers usually have an unexpectedly long propagation delay.