Pessoal, tenho um chip QMC5883L (clone Chinês) do HMC5883pelo que andei pesquisando. O clone tem endereço 0x0d Quando rodo um programa i2c scan no Arduino, ele encontra o endereço, e consigo usar esse chip na placa do Arduino com a biblioteca QMC5883LCompass.h
O que não tenho conseguido de forma alguma é achar esse chip em uma ESP32 com o i2c scan, ou mesmo utilizar a biblioteca QMC5883LCompass.h com a placa ESP32.
Estive revendo a documentação da biblioteca Wire e acho que, para o teu caso, melhor seria experimentar com
Wire.begin() ; // No address set: Act as a Master( Leader in a politically correct language ) Wire.setClock( 100000 ) ; // Set clock to 100000 Hz = 100 kHz ( standard mode )
Estas instruções são válidas para uso dos pinos padrão do ESP32 para I2C ( GPIO21 = SDA e GPIO22 = SCL ), o que recomendo inicialmente para minimizar potenciais fontes de erros.