This device is an I2C driven IO expander. It is very handy if you have a restricted number of digital IO ports
to use. You can use 2 pins on your ESP8266 for example to read or write to 8 additional GPIO ports.
The number of ports can be cascaded up to a total of 64 input/outputs! Very handy
An immediate use for me was to use it with my Raspberry Pi and wire up an LCD display.
Most of these use 8 pins to drive the display, so this was a perfect way to control the display
and not use up all my valuable IO pins.
The PCF8574 is an 8 bit I/O port expander that uses the I2C protocol.
That protocol communicates using a 2-wire serial interface, where one wire is a serial clock (SCL) and the other is for serial data (SDA).
With this module, you can use only 2 ports of your Arduino or Raspberry Pi board to control up to 8 digital I/O ports.
In the I2C protocol, each IC has a different address, in the case of PCF8574, you have a 3 bit address, which enable you to connect up to 8 modules, having 64 ports in total.
DEFAULT I2C ADDRESS IS 0X27