This module is the 16 way GPIO expander for the I2C interface, and built with the MCP23017. MCP23017 has a high-speed I2C interface which supports the I2C frequency of 100KHz, 400KHz and 1.7MHz. The chip has 3 address pins, which can be set up for 8 different addresses. So 8 modules can be connected through two I2C buses to achieve up to 128 IO extensions. This module is flexible in configuration and strong in driving ability up to 25mA. There are many parallel connections. The MCP23017 device provides 16-bit, general purpose parallel I/O expansion for I2C bus applications.The MCP23017 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the I/O configuration bits (IODIRA/B). The data for each input or output is kept in the corresponding input or output register. The polarity of the Input Port register can be inverted with the Polarity Inversion register. All registers can be read by the system master.