It depends on the host driver, not the board brand:
| Host / driver | Bus speed |
|---|---|
ESP-IDF i2c_master — ESPHome, MicroPython-ESP32, Arduino-ESP32 |
50 kHz |
| STM32 HAL · RP2040 · non-ESP32 Arduino (AVR/STM32duino) · Linux SBC (kernel I²C) | 100 kHz |
The ESP-IDF i2c_master driver's transaction timing interacts with the module's I²C recovery window at 100 kHz
and produces intermittent read NACKs, so 50 kHz is the standing recommendation on ESP-IDF-based masters (that
includes Arduino-on-ESP32, which wraps the same driver). Every other master runs the module at 100 kHz cleanly.
The axis is the driver, not the board.