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] | Device | Device type | Typical use | Address range [hex] |
---|---|---|---|---|
20 | MCP23008 | 8-bit remote bidirectional I/O port | I/O expander | 20-27 |
20 | MCP23017 | 16-bit remote bidirectional I/O port | I/O expander | 20-27 |
27 | PCF8574 | 8-bit remote bidirectional I/O port | LCD I2C adapter | 20-27 |
27 | PCF8574T | 8-bit remote bidirectional I/O port | LCD I2C adapter | 20-27 |
3F | SX1508 | 8-bit remote bidirectional I/O port | I/O expander | 20-23 |
3F | SX1507 | 4-bit remote bidirectional I/O port | I/O expander | 3E-3F, 70-71 |
3E | SX1509 | 16-bit remote bidirectional I/O port | I/O expander | 3E-3F, 70-71 |
3F | PCF8574A | 8-bit remote bidirectional I/O port | LCD I2C adapter | 38-3F |
50 | 24AA08 | EEPROM 1 kB | EEPROM 1 kB | 50-57 no difference |
50 | 24FC128 | EEPROM 16 kB | EEPROM 16 kB | 50-57 |
50 | 24LC08B | EEPROM 1 kB | EEPROM 1 kB | 50-57 no difference |
50 | 24LC64 | EEPROM 8 kB | EEPROM 8 kB | 50-57 |
50 | 24LC1025 | EEPROM 128 kB | EEPROM 128 kB | 50-57 |
50 | AT24C16 | EEPROM 2 kB | EEPROM 2 kB | 50-57 |
50 | AT24C256 | EEPROM 32 kB | EEPROM 32 kB | 50-57 |
50 | M24128 | EEPROM 16 kB | EEPROM 16 kB | 50-57 |
50 | M24C32 | EEPROM 4 kB | EEPROM 4 kB | 50-57 |
60 | Si5351A | Clock Generator | Clock or RF generator | - |
70 | TCA9548A | 1:8 I2C multiplexer | I2C multiplexer | 70-77 |