External compass not working

I have a problem with an additional compass Bestar BN -880 .
My Navio+ could not see him at i2c . In the settings I have my external compass enable. At the same settings in Pixhawk this compass works properly .
The raspberry 2B system and APM binary downloaded from the links on the DOCS.
Has anyone had a similar problem ?

Best Regards
Marcin Brzozowski


Hello Marcin!

Could you please attach the output of sudo i2cdetect -y 1? Thus we can understand if the compass gets detected by Raspberry.

I thought it one needs to edit the source files to use an external compass? Because the MPU9250s compass is already seen as external?


As far as APM concerned the AK8963 is internal, I suppose. During the APM 3.2 development series the support for several compass backends save been added. So I think one might just plug an external magnetometer and play. But I haven’t done much testing on the issue, because at the time I tried that, there had been no support for external magnetometers’ logging in GCSs.

I’ ll keep you posted as soon as I get an external HMC5883 to play with. It’ll be in a couple of days. I’m not completely sure if one needs to alter the source code, though.

@schuermannsebastian @brzoza

I just hooked up an external HMC5883 and everything’s turned out great. It just works.

I can see both compasses updating in the APMPlanner Graph tool. They do update and do that separately.

George, what is you set frequency for i2c /etc/modprobe.d/i2c.conf? Default is 1 MHz but in manual from HMC5883L posted that works up to 400 kHz


I use the same Raspbian image as you. That’s why I2C is configured at 1Mhz as well. How long are the wires you use? You could try to shorten them a bit.

I checked out the short wires (10 cm) - is not working. Target wire is 80 cm.