The 8-bit stand-alone I2C module contains new hardware additions, such as individual address, transmit, and receive buffers, interrupts, improved clock stretching hardware, bus time-out, data byte count and I2C pad control. These features remove software overhead for things like tracking the byte count of a packet or a bus time-out. Configurable internal weak pull-ups can be used in place of external pull-up resistors, saving PCB space and reducing component count. Additional clock stretching hardware allows a device in Receive mode more time for data processing.