Schorschi
Posts: 220
Joined: Thu Nov 22, 2012 9:38 pm

Why is or are PCF857x IO expansion modules always low trigger for output?

Wed Mar 20, 2019 3:23 am

Why is or are PCF857x IO expansion modules always low trigger for output? I have got several different types of PCF857x modules and relays, and I was trying to find a combination of low relay open, high relay close, to avoid creating NPN circuit complexity, to invert the low/high logic, but it appears that can't be done with any of the canned PCF857x modules you can find on ebay or amazon?

I can find and have relays that are dual trigger, and this works great when driven by direct GPIO, depending on the jumper settings of course. But not when an i2c PCF857x module is used? I have tried, and the i2c PCF857x modules never signal low to high when pin is set for output, they only signal high to low.

This appears to be something related with how the i2c PCF857x pins default to input, i.e. initialize high by default? Read somewhere that i2c PCF857x modules typically (always by my experience) only generate an interrupt on input by high to low sequence, never low to high sequence.

I am right on this, or does someone have different experience? Tackled low to high logic without creating custom board/module?

danjperron
Posts: 3382
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Why is or are PCF857x IO expansion modules always low trigger for output?

Wed Mar 20, 2019 6:19 pm

Pcf8574 are kind of open collector output.

This allows the pins to be an input when the ouput is high because there is a small pullup current.


Use MCP23017 instead!

Paul Hutch
Posts: 369
Joined: Fri Aug 25, 2017 2:58 pm
Location: Blackstone River Valley, MA, USA
Contact: Website

Re: Why is or are PCF857x IO expansion modules always low trigger for output?

Wed Mar 20, 2019 10:58 pm

It's because that IC uses quasi-bidirectional I/O ports which are less expensive to implement in silicon than true bidirectional I/O ports.

Return to “Advanced users”