user17355: I have following setup (see also schematic in the end)
Arduino Nano is connected via I²C to the PCF8575C (link) IO Expander.
Both, SCL and SDA have 10kOhm pull-ups to 5V.
The Expander pins are connected to a MOSFET-driver that turns on/off 12V LED stripes.
The Expanders Bus address is set via Expanders A0-A2 pins to 0 (0x20).
The MOSFET driver pins have to be pulled to logic 1 (above 2.2V) in order to turn on the stripe.
Currently Arduino runs an blink example, that turns all Expander IO pins on/off every second (using Arduino Wire Library), but the MOSFET-driver does not turn on/off any Stripe.
I can manually turn on Stripes by connecting MOSFET-driver pins to Arduinos 5V (or 3.3V)
The power supply to the IO Expander is O.K.
By measuring the resistance between GND and IO pins of the Expander, I can see that it alternates every second (so I²C communication to the Expander works also)
Curious thing: While measuring this resistance (holding the multimeter test leads) to GND and to the IO pin of Expander, the MOSFET-driver turns the Stripes on and off! When I take the test leads away it stops working! Magic?!
What am I missing? Do the output pins of the PCF8575C need some extra pullup/pulldown resistors or something else?
Thank you in advance!
Schematics:


user4143: Yes, according to the datasheet (which should always be your first port of call for any chip) the outputs are Open Drain. That means you require a pullup resistor, exactly as if the outputs were simple buttons.

17355: <p>I have following setup (see also schematic in the end)</p>

<p>Arduino Nano is connected via I²C to the PCF8575C (<a href="https://www.sparkfun.com/products/retired/8130" rel="nofollow noreferrer">link</a>) IO Expander.
Both, SCL and SDA have 10kOhm pull-ups to 5V.
The Expander pins are connected to a MOSFET-driver that turns on/off 12V LED stripes.
The Expanders Bus address is set via Expanders A0-A2 pins to 0 (0x20).
The MOSFET driver pins have to be pulled to logic 1 (above 2.2V) in order to turn on the stripe.</p>

<p>Currently Arduino runs an blink example, that turns all Expander IO pins on/off every second (using Arduino Wire Library), but the <strong>MOSFET-driver does not turn on/off any Stripe.</strong></p>

<p>I can manually turn on Stripes by connecting MOSFET-driver pins to Arduinos 5V (or 3.3V)</p>

<p>The power supply to the IO Expander is O.K.</p>

<p>By measuring the resistance between GND and IO pins of the Expander, I can see that it alternates every second (so I²C communication to the Expander works also)</p>

<p><strong>Curious thing:</strong> While measuring this resistance (holding the multimeter test leads) to GND and to the IO pin of Expander, the MOSFET-driver turns the Stripes on and off! When I take the test leads away it stops working! <strong>Magic?!</strong></p>

<p><strong>What am I missing?</strong> Do the output pins of the PCF8575C need some extra pullup/pulldown resistors or something else?</p>

<p>Thank you in advance!</p>

<p>Schematics:
<a href="https://i.stack.imgur.com/xrVRi.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/xrVRi.jpg" alt="Schematics"></a></p>
 4143: <p>Yes, according to the datasheet (which should always be your first port of call for any chip) the outputs are Open Drain. That means you require a pullup resistor, exactly as if the outputs were simple buttons.</p>
