Arduino library for LCD displays using I2C protocol.
For details about the theory, wiring, schematic, etc. see:
http://www.gammon.com.au/forum/?id=10940
LCD display: KS0108 IO expander: MCP23017 (also supported is the SPI version of the chip: MCP23S17)
Library documentation also on the above web page.