ESP32Cube Logo
Sign In
ESP32/Arduino Scan Device I2C Address

ESP32/Arduino Scan Device I2C Address

esp32cube
Oct 5, 2026
Tutorial
1425 views
LEDAI

ESP32/Arduino finds the address of I2C device

When uses I2C devices, it often needs to check whether the I2C device communicates rightly, or the device's I2C address is set wrong.

This code will scan the I2C bus from address 1 to address 127 and will print out the address of any devices that respond.

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(115200);
  Serial.println("I2C device scanner.");
}

void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

Share this article

Comments

0

Please sign in to post a comment.

No comments yet.

Related Articles

ESP32 4-Wire PT100/PT1000 High-Accuracy Temperature Measurement with MAX31865

Tutorial·82 views

ESP32 DFPlayer Mini (MP3-TF-16P): Wiring, Arduino Code, Playback and Troubleshooting

Tutorial·3931 views

ESP32 Buttons in Arduino: Wiring, Debouncing, and Interrupts

Tutorial·314 views

ESP32-C3 vs ESP32-S3 vs ESP32-C6: How to Choose for Real Firmware Projects

Tutorial·3104 views

ESP32 Arduino Button Input: Practical Guide and Debouncing

Tutorial·1475 views
View more in this category→
Copyright © 2026 ESP32Cube. All rights reserved.•1.0.1•Terms·Privacy
Source codeTwitterDiscord