RegForge

I²C address map

Two devices on one address is the classic I²C bring-up failure. Here is every address these parts claim, and where they collide.

75 addresses in use29 with conflicts13 parts

Cannot share a bus, ever

Both parts are fixed to the same single address with no strap pin. No wiring change helps: you need an I²C multiplexer such as a TCA9548A, or a second bus.

PairAddressOnly way out
DS1307 + DS32310x68I²C multiplexer, or put one on a second bus

Collide by default, fixable by re-strapping

These overlap on their default addresses, but at least one has an alternate. Tie the address pin the other way and they coexist fine.

16 pairs
PairSharedAlternates available
ADS1115 + INA2190x48, 0x49, 0x4A, 0x4BADS1115: 0 · INA219: 12
ADS1115 + INA2260x48, 0x49, 0x4A, 0x4BADS1115: 0 · INA226: 12
ADS1115 + PCA96850x48, 0x49, 0x4A, 0x4BADS1115: 0 · PCA9685: 60
ADXL345 + PCA96850x53ADXL345: 1 · PCA9685: 63
BME280 + BMP2800x76, 0x77BME280: 0 · BMP280: 0
BME280 + PCA96850x76, 0x77BME280: 0 · PCA9685: 62
BMP280 + PCA96850x76, 0x77BMP280: 0 · PCA9685: 62
DS1307 + MPU60500x68DS1307: 0 · MPU6050: 1
DS1307 + PCA96850x68DS1307: 0 · PCA9685: 63
DS3231 + MPU60500x68DS3231: 0 · MPU6050: 1
DS3231 + PCA96850x68DS3231: 0 · PCA9685: 63
INA219 + INA2260x40, 0x41, 0x42, 0x43…INA219: 0 · INA226: 0
INA219 + PCA96850x40, 0x41, 0x42, 0x43…INA219: 0 · PCA9685: 48
INA226 + PCA96850x40, 0x41, 0x42, 0x43…INA226: 0 · PCA9685: 48
MCP23008 + MCP230170x20, 0x21, 0x22, 0x23…MCP23008: 0 · MCP23017: 0
MPU6050 + PCA96850x68, 0x69MPU6050: 0 · PCA9685: 62

Full map, 0x08 – 0x77

Addresses below 0x08 and above 0x77 are reserved by the I²C specification and are not usable by devices.

0x08
free
0x09
free
0x0A
free
0x0B
free
0x0C
free
0x0D
free
0x0E
free
0x0F
free
0x10
free
0x11
free
0x12
free
0x13
free
0x14
free
0x15
free
0x16
free
0x17
free
0x18
0x19
0x1A
free
0x1B
free
0x1C
free
0x1E
free
0x1F
free
0x28
free
0x29
free
0x2A
free
0x2B
free
0x2C
free
0x2D
free
0x2E
free
0x2F
free
0x30
free
0x31
free
0x32
free
0x33
free
0x34
free
0x35
free
0x36
free
0x37
free
0x38
free
0x39
free
0x3A
free
0x3B
free
0x3C
free
0x3D
free
0x3E
free
0x3F
free
7-bit vs 8-bit addresses. Datasheets sometimes print the address already shifted left by one, with the read/write bit included — so the same part appears as 0x76 in one document and 0xEC in another. Everything on this page is 7-bit, which is what almost every driver API expects. If your address looks twice as big as it should, that is why.