Did a quick test, since I have been playing with I2C sensors with the wifi board on Wire, Wire1 and Wire2 (pins 0,1 can be used if defined) with commenting out the delay(1). Here are the results just using wire scanner.
With delay(1):
Scanning(Wire)...
Device found at address 0x3C (SSD1306,DigisparkOLED)
Device found at address 0x62 (LidarLite,MCP4725,AtlasEzoORP)
done
Scanning(Wire1)...
Device found at address 0x50 (EEPROM,FRAM)
Device found at address 0x68 (DS1307,DS3231,MPU6050,MPU9050,MPU9250,ITG3200,ITG3701,LSM9DS0,L3G4200D)
Device found at address 0x7C (FRAM_ID)
done
Scanning(Wire2)...
Device found at address 0x29 (TSL2561,VL6180,TSL2561,TSL2591,BNO055,CAP1188)
Device found at address 0x4B (ADS1115,TMP102,BNO080)
done
all devices found with the correct addresses.
without the delay(1) wire2 devices return but wrong addresses:
Scanning(Wire)...
Device found at address 0x3C (SSD1306,DigisparkOLED)
Device found at address 0x62 (LidarLite,MCP4725,AtlasEzoORP)
done
Scanning(Wire1)...
Device found at address 0x50 (EEPROM,FRAM)
Device found at address 0x68 (DS1307,DS3231,MPU6050,MPU9050,MPU9250,ITG3200,ITG3701,LSM9DS0,L3G4200D)
Device found at address 0x7C (FRAM_ID)
done
Scanning(Wire2)...
Device found at address 0x2A (SGTL5000,CAP1188)
Device found at address 0x4E (unknown chip)
done
with that said if I change the delay(1) to delayMicroseconds(50) it works. Be difficult to change all the timouts in all libraries.