Typically used I2C addresses

In the world of embedded electronics like Arduino the I2C/Wire protocol if often used to access different devices. Below is a list of the most frequently used I2C addresses used found in Arduino code and examples. Please note that some devices also have the possibility to use number of different addresses.

Typical I2C address [hex]DeviceDevice typeTypical useAddress range [hex]
20MCP230088-bit remote bidirectional I/O portI/O expander20-27
20MCP2301716-bit remote bidirectional I/O portI/O expander20-27
27PCF85748-bit remote bidirectional I/O portLCD I2C adapter20-27
27PCF8574T8-bit remote bidirectional I/O portLCD I2C adapter20-27
3FSX15088-bit remote bidirectional I/O portI/O expander
20-23
3FSX15074-bit remote bidirectional I/O portI/O expander
3E-3F, 70-71
3ESX150916-bit remote bidirectional I/O portI/O expander3E-3F, 70-71
3FPCF8574A8-bit remote bidirectional I/O portLCD I2C adapter38-3F
5024AA08EEPROM 1 kBEEPROM 1 kB50-57 no difference
5024FC128EEPROM 16 kBEEPROM 16 kB50-57
5024LC08BEEPROM 1 kBEEPROM 1 kB50-57 no difference
5024LC64EEPROM 8 kBEEPROM 8 kB50-57
5024LC1025EEPROM 128 kBEEPROM 128 kB50-57
50AT24C16EEPROM 2 kBEEPROM 2 kB50-57
50AT24C256EEPROM 32 kBEEPROM 32 kB50-57
50M24128EEPROM 16 kBEEPROM 16 kB50-57
50M24C32EEPROM 4 kBEEPROM 4 kB50-57
60Si5351AClock GeneratorClock or RF generator-
70TCA9548A1:8 I2C multiplexerI2C multiplexer70-77