/* I2C Scanner Boardeinstellung in Arduino IDE ESP32 Wrover Module Ergebnis 19.3.2026 Alle möglichen I2C pins probiert, kein Device Antwortet Scanning... No I2C devices found */ #include //#define IIC_CLK 27 //#define IIC_DATA 25 //#define IIC_CLK 32 //#define IIC_DATA 33 #define IIC_CLK 18 #define IIC_DATA 23 #define GPIO_PA_EN 21 void setup() { Serial.begin(115200); pinMode(IIC_CLK, INPUT_PULLUP); // Force ESP32 internal pull-ups pinMode(IIC_DATA, INPUT_PULLUP); //pinMode(0, OUTPUT); digitalWrite(0, HIGH); // Boot0 to power ES8388 codec // Enable amplifier //pinMode(GPIO_PA_EN, OUTPUT); //digitalWrite(GPIO_PA_EN, HIGH); Wire.begin(IIC_DATA, IIC_CLK); Wire.setClock(100000); // Slow I2C to 100kHz for finicky codecs Serial.println("\nI2C Scanner with pullups + slow clock"); //Wire.begin(IIC_DATA, IIC_CLK); Serial.begin(115200); while (!Serial); // Leonardo: wait for serial monitor Serial.println("\nI2C 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("Unknown 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 }