Thank you, OtherCliff
I don't know what you mean by "for arduino"
There are loads of sensor gadgets available for Arduino, which also use I2C. This is one of them.
But it's just a plain HMC5883L with voltage protection up to 5V.
Hardware page FlexiPort must be set to "I2C"
Attitude->Magnetometer aux mag (source of data) must be set to I2CPort
Also on that page set it to use AuxOnly (to completely avoid using OnBoard mag)
Like the GPS, you must have a battery plugged in for GPS/mag to be powered.
All check, and I have power on the mag board, also 3.3V on SCL & SCA (too bad I don't own an oscilloscope)
Then at least on System->DataObjects->AuxMagSensor (expand it) you should see x,y,z change every 10 seconds.
There's no change whatsoever and I've let the battery in for 15 minutes.
I2C warning is red, says it's working, but has acknowledgement errors when the mag is plugged in.
When unplugging the battery, it gets a red cross and says it's not connected.
So something is working, but the communication is not right.
I have read there could be a slight difference in the HMC5883L chip, with newer versions working on higher speed?
Something like 200Hz vs 400Hz?
Btw, I'm using Librepilot 16.09 Stable.