I²C Addresses
7-Bit Addresses, Read/Write Addresses & Known ICs
| 7-Bit | Write | Read | Device / Name |
|---|---|---|---|
| 0x00 | 0x00 | 0x01 | General Call(Broadcast) |
| 0x01 | 0x02 | 0x03 | CBUS |
| 0x02 | 0x04 | 0x05 | Reserved(For future extensions) |
| 0x03 | 0x06 | 0x07 | Reserved |
| 0x04 | 0x08 | 0x09 | Reserved |
| 0x05 | 0x0A | 0x0B | Reserved |
| 0x06 | 0x0C | 0x0D | Reserved |
| 0x07 | 0x0E | 0x0F | Reserved |
| 0x20 | 0x40 | 0x41 | PCF8574 (GPIO Expander)(A0-A2 configurable → 0x20–0x27) |
| 0x21 | 0x42 | 0x43 | PCF8574 |
| 0x22 | 0x44 | 0x45 | PCF8574 |
| 0x23 | 0x46 | 0x47 | PCF8574 |
| 0x24 | 0x48 | 0x49 | PCF8574 |
| 0x25 | 0x4A | 0x4B | PCF8574 |
| 0x26 | 0x4C | 0x4D | PCF8574 |
| 0x27 | 0x4E | 0x4F | PCF8574 |
| 0x28 | 0x50 | 0x51 | BNO055 (IMU)(COM3=LOW) |
| 0x29 | 0x52 | 0x53 | BNO055 / VL53L0X |
| 0x38 | 0x70 | 0x71 | PCF8574A(A0-A2 configurable → 0x38–0x3F) |
| 0x3C | 0x78 | 0x79 | SSD1306 (OLED)(SA0=LOW) |
| 0x3D | 0x7A | 0x7B | SSD1306 (OLED)(SA0=HIGH) |
| 0x40 | 0x80 | 0x81 | HTU21D / INA219(Temp/Humidity / Current sensor) |
| 0x41 | 0x82 | 0x83 | INA219 |
| 0x44 | 0x88 | 0x89 | SHT31(ADDR=LOW) |
| 0x45 | 0x8A | 0x8B | SHT31(ADDR=HIGH) |
| 0x48 | 0x90 | 0x91 | ADS1115 / TMP102(ADDR=GND) |
| 0x49 | 0x92 | 0x93 | ADS1115(ADDR=VDD) |
| 0x4A | 0x94 | 0x95 | ADS1115(ADDR=SDA) |
| 0x4B | 0x96 | 0x97 | ADS1115(ADDR=SCL) |
| 0x50 | 0xA0 | 0xA1 | AT24C EEPROM(0x50–0x57 je nach A0-A2) |
| 0x57 | 0xAE | 0xAF | AT24C EEPROM |
| 0x60 | 0xC0 | 0xC1 | MCP4725 (DAC)(ADDR=LOW) |
| 0x61 | 0xC2 | 0xC3 | MCP4725(ADDR=HIGH) |
| 0x68 | 0xD0 | 0xD1 | DS3231 / MPU-6050(RTC / IMU, AD0=LOW) |
| 0x69 | 0xD2 | 0xD3 | MPU-6050(AD0=HIGH) |
| 0x70 | 0xE0 | 0xE1 | TCA9548A (I2C Multiplexer)(A0-A2=LOW) |
| 0x71 | 0xE2 | 0xE3 | TCA9548A |
| 0x76 | 0xEC | 0xED | BME280 / BMP280(SDO=LOW) |
| 0x77 | 0xEE | 0xEF | BME280 / BMP280(SDO=HIGH) |
| 0x78 | 0xF0 | 0xF1 | Reserved (10-bit) |
| 0x79 | 0xF2 | 0xF3 | Reserved (10-bit) |
| 0x7A | 0xF4 | 0xF5 | Reserved (10-bit) |
| 0x7B | 0xF6 | 0xF7 | Reserved (10-bit) |
| 0x7C | 0xF8 | 0xF9 | Reserved |
| 0x7D | 0xFA | 0xFB | Reserved |
| 0x7E | 0xFC | 0xFD | Reserved |
| 0x7F | 0xFE | 0xFF | Reserved |
Click on a row → Show 7-Bit, Read & Write Address
Find and Calculate I2C Addresses
The I2C Addresses tool provides a quick way to identify the correct 7-bit addresses for common electronic components. When you search for a specific device or use a known address, the tool automatically displays the corresponding read and write addresses. This is essential for developers working with microcontrollers like Arduino or ESP32 who need to communicate accurately with peripherals over the I2C bus protocol by providing clear data for both communication modes.
Support for Common IoT Components
The database includes a wide range of popular modules such as the BME280 and BMP280 pressure sensors, SSD1306 OLED displays, and various EEPROMs like the AT24C. The tool also accounts for hardware configurations where pins like A0-A2 are used to set specific address ranges. By providing these details in one place, it simplifies the integration of many common sensors into your IoT projects.
Frequently asked questions
What is a 7-bit I2C address?
A 7-bit I2C address is the standard way to identify devices on an I2C bus. It allows a microcontroller to target specific components for communication. This tool helps you find these base addresses and convert them into the specific read and write values required by your software drivers.
How do I find the address for a BME280 sensor?
Simply enter BME280 in the search field of the tool. It will display the 7-bit address along with the necessary read and write calculations, making it easy to configure your code for environmental sensing tasks without manual calculation errors.
What is the difference between a 7-bit and a write address?
A 7-bit address is the standard identifier for a device on the bus. The write address is derived from this base to indicate a write operation, while the read address is used when the master requests data. This tool automates that calculation for your convenience.
Does the tool support configurable addresses?
Yes, the tool includes information for components with configurable pins. For example, it shows how A0-A2 pins can change the address range for devices like the PCF8574 or other sensors, helping you identify the correct address based on your specific hardware configuration.