Navio 2 External Compass Set up Issues

Hey all,

I recently bought a HMC5883L external compass, but I am running into issues when I try to use it in calibration on mission planner. I have set up all compasses (1,2 and 3) to external but it I am unable to override the internal compass. Anyone got any ideas?

There is a similar issues noted here - I have ran the i2cdetect -y 1 command and it displays 1x1e and not 0x1e like the previous post suggests. I can post a photo of this to ensure that my interpretation of the output is correct.

On a separate note, I would like to run multiple devices on the I2C bus (i.e. airspeed indicator and compass). I have bought a an extender strip - Is ok to run multiple peripherals in this manner?


i believe the issue is you cant have same device ID compass on the same I2C bus, pretty sure I have heard of that, and all HMC5883 have the same one device ID, thats why the internal compasses have both different manufacturers…why are you setting up all compass to external? the navio compasses in mine are set to internal both…and works fine.

Hey Iriol,

Thanks for the response.

I’ve only got one compass connected so it should not think that there is two of the same compasses connected. The I2C extender was so I could run an airspeed indicator and a compass through the same bus but for now I have only got the one external compass attached for trouble shooting. I can take a photo of my set up if you would like?

I have been having issues with the internal compass getting interference from the battery and the ESC so the external compass was added to my set up in order to try and mitigate this.

I have set all compasses to external as I want to ignore all internal compasses and use only the external. Setting them all to external didn’t seem to achieve this and still pulled in data from the internal compass.

Have you got any other ideas?


here is the config on mine, navio2 and am using both internal compassess, notice how each one has a diffent device ID on the I2C bus, because they are different manufacturers…as long as you have unique device IDs on the same I2C bus you should be good…
you should be able disable compass by setting the setting COMPASS_USE to 0, have you tried that? what version AC are you running? I upgraded to AC3.5rc6 and all good so far.

Hey Iriol,

Those config settings worked for me. Just need a bit more trial and error.

Cheers for the help.


Hi @Euan_Foster/@iriol

Can you guys post up your compass settings? I seem to have the same problem but am unable to find out what the solution is.

I’ve posted a question on the forums but no response so far

- See my forum post

Any help would be great


Do you mind reposting your settings …the image you posted no longer exists