Addition of stand alone compass to pixhawk 1 or 2

Hi all

I am using FW 3.2.0 rc3 on a large skid steer chassis with a genuine pixhawk 1
For GPS I am using a ublox c94-M8P rtk evaluation board. The c94 does not have a built in compass so the heading info is coming from the internal compass of the pixhawk. This seems to be unreliable so I want to disable the internal compass and add a stand alone external compass to the pixhawk.

I am also migrating to a pixhawk 2 in the next few weeks. So I would like solution should be able to work with the pixhawk 2 as well.

I do have a very fancy and expensive standalone compass module from Sparkfun ie the HMC6343. I would love for the pixhawk to use this. It communicates on I2C. Does anyone know if the FW will work with this unit? I do not just want to plug it in an see as it is rather expensive.

If not what is the very best independent compass that I can connect to the I2c buss of the Pixhawk and keep the RTK gps data stream as well

I assume that all compasses will communicate on the I2C buss.


1 Like


I don’t think the HMC6343 will work. The issue is that it’s tilt compensated (which is why it’s so expensive) but we don’t want that because the EKF (which does our position and attitude estimation) need it in “body frame” to blend it with the other sensor data.

The favourite was the HMC5883 but stocks of that have run out so most Pixhawk manufacturers are moving to the LIS3MDL.

If it were me I would probably just connect another external GPS/compass module. This latest version of Rover supports GPS blending like all our other vehicles. There are reports that mixing Ublox GPSs (even different types) works OK and you could turn off the non-RTK GPS if you really want to by setting GPSx_TYPE to 0.