The LCD and the buttons/led are driven using two MCP23008 devices throught I2C bus.

The Arduino's I2C pins used are A4 and A5 (which are the ones of the Arduino UNO).

  • One MCP23008 is connected to the LCD. Its address range is 0x20 to 0x23.
  • The other MCP23008 is connected to the buttons/LED. Its address range is 0x24 to 0x27

A SW library has been developed to easily use the interface functions. It is based on two libraries developed by Adafruit which are

  • Adafruit LiquidCrystal
  • Adafruit MCP23008 library

Both are already included in the Technoshield User Interface SW Library.