📡

I²C Addresses

7-Bit Addresses, Read/Write Addresses & Known ICs

7-BitWriteReadDevice / Name
0x000x000x01General Call(Broadcast)
0x010x020x03CBUS
0x020x040x05Reserved(For future extensions)
0x030x060x07Reserved
0x040x080x09Reserved
0x050x0A0x0BReserved
0x060x0C0x0DReserved
0x070x0E0x0FReserved
0x200x400x41PCF8574 (GPIO Expander)(A0-A2 configurable → 0x20–0x27)
0x210x420x43PCF8574
0x220x440x45PCF8574
0x230x460x47PCF8574
0x240x480x49PCF8574
0x250x4A0x4BPCF8574
0x260x4C0x4DPCF8574
0x270x4E0x4FPCF8574
0x280x500x51BNO055 (IMU)(COM3=LOW)
0x290x520x53BNO055 / VL53L0X
0x380x700x71PCF8574A(A0-A2 configurable → 0x38–0x3F)
0x3C0x780x79SSD1306 (OLED)(SA0=LOW)
0x3D0x7A0x7BSSD1306 (OLED)(SA0=HIGH)
0x400x800x81HTU21D / INA219(Temp/Humidity / Current sensor)
0x410x820x83INA219
0x440x880x89SHT31(ADDR=LOW)
0x450x8A0x8BSHT31(ADDR=HIGH)
0x480x900x91ADS1115 / TMP102(ADDR=GND)
0x490x920x93ADS1115(ADDR=VDD)
0x4A0x940x95ADS1115(ADDR=SDA)
0x4B0x960x97ADS1115(ADDR=SCL)
0x500xA00xA1AT24C EEPROM(0x50–0x57 je nach A0-A2)
0x570xAE0xAFAT24C EEPROM
0x600xC00xC1MCP4725 (DAC)(ADDR=LOW)
0x610xC20xC3MCP4725(ADDR=HIGH)
0x680xD00xD1DS3231 / MPU-6050(RTC / IMU, AD0=LOW)
0x690xD20xD3MPU-6050(AD0=HIGH)
0x700xE00xE1TCA9548A (I2C Multiplexer)(A0-A2=LOW)
0x710xE20xE3TCA9548A
0x760xEC0xEDBME280 / BMP280(SDO=LOW)
0x770xEE0xEFBME280 / BMP280(SDO=HIGH)
0x780xF00xF1Reserved (10-bit)
0x790xF20xF3Reserved (10-bit)
0x7A0xF40xF5Reserved (10-bit)
0x7B0xF60xF7Reserved (10-bit)
0x7C0xF80xF9Reserved
0x7D0xFA0xFBReserved
0x7E0xFC0xFDReserved
0x7F0xFE0xFFReserved

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.