Trouble with using ISO1540 with Arduino and INA219 (I2C)

Dear community,

I am trying to isolate an I2C connection using ISO1540 (breakout from Adafruit) without any success.

I use:

I power all components over USB.

What works
When I connect the INA219 sensors directly to the Arduino, they work like a charm (both with different I2C addresses).

What I need help with
Then I add the ISO1540 between the Arduino and one of the sensors. For testing purposes I use the same power supply (from Arduino Nano) on both sides of the ISO1540. As soon as I do this, the Arduino fails to connect to either sensor. The one behind the ISO1540 as well as the one directly connected to the Arduino.
Wiring seems to be correct as both power-LEDs on the ISO1540 breakout light up. As soon as i pull the SCL/SDA connection between the ISO1540 and Arduino, the other sensor is found again.

  • Code appears to be correct, at least it works for both sensors directly connected to the Arduino. (I refrained from posting it as it is far from a minimal example and lots of other stuff and debugging messages in between).
  • I am confident that the wiring is correct (at least correct pins connected).

I was hoping someone could point me in the right direction where to look:

  • the INA219 breakouts as well as the ISO1540 (both sides) have onboard 10k pullups. -> is this a problem?
  • INA219 and ISO1540 (both sides) also have a 0.1µF capacitor between ground and VCC
  • I did not use any other components than these.

Furthermore, I have read that it might make a difference, which side of the ISO1540 is master and slave. Hence, I tested both directions without any luck

I was assuming that the ISO1540 would be a rather easy drop-in solution, but apparently it is not. What am I missing?

Any help would be appreciated,
Max

Posting a schematic not a frizzy thing would help. I am very poor with word problems. Be sure you are using the proper pull up resistors.

Thanks for the offer to help and sorry for the late response.

I have a bit closer to the problem. This is the schematic (at least I hope I did not make any copy-paste mistakes):


Yellow boxes indicate INA219 breakout boards and blue box indicates INA1540 breakout board

What works:

  • When using the boards and wiring as indicated, I can read both INA219 sensors.
  • When replacing the ISO1540 breakout board with a bare ISO1540 chip in a socket like the following, even without the capacitors at the power lines and without the pullup resistors (in the blue box), it works as well.

    (Source: makershop.de)

Problem

  • As soon as I replace either the ISO1540 breakout board or the bare chip in the socket with one soldered on a breakout board (see below), I still get sensor readings but only for a few seconds, then the communication fails. It makes no difference whether I add the 4 pullups and 2 capacitors or not, the result remains the same. Since both above methods work (socket and commercial breakout), it is likely a soldering issue, but then why do I get sensor readings for a few seconds before the communication fails?

Anyone has ideas how to narrow down the source of the error?

Is the IC getting warm? Is it rated for the proper voltage. Triple check your wiring. It is possible you damaged the IC if you did take proper ESD precautions. You did use a ground strap and a grounded soldering iron?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.