You are here: I2C Bus / Addressing

The first byte of an I2C transfer contains the slave address and the data direction.

The address is 7 bits long, followed by the direction bit. Like all data bytes, the address is transferred with the most significant bit first.

A seven bit wide address space theoretically allows 128 I2C addresses - however, some addresses are reserved for special purposes. Thus, only 112 addresses are available with the 7 bit address scheme. To get rid of this a special method for using 10 bit addresses is defined.

The following table shows I2C addresses reserved for special purposes: 

10 bit adresses, binary noted, MSB is left


 0000000 0

 General Call

 0000000 1

 Start Byte

 0000001 X

 CBUS Addresses

 0000010 X

 Reserved for Different Bus Formats

 0000011 X

 Reserved for future purposes

 00001XX X

 High-Speed Master Code

 11110XX X

 10-bit Slave Addressing

 11111XX X

 Reserved for future purposes