We have built a platform using the BMM150 and we are trying to get the +/-2.5 deg of heading error as claimed in the product datasheet. However, even with hard iron calibration we see errors on the order of 5-10 deg. Can you please explain how to get the 2.5 degrees of heading error?
The heading accuracy mentionned on the datasheet depends on hardware and software. A fully calibrated sensor and ideal tilt compensation is needed to achieve the 2.5 deg accuracy.
Therefore it's important to check both fusion algorithm as well hardware environment, hardiron, softiron and noise.
Bosch sensortec offers high performance fusion software as part of our smart sensor offering (e.g BHI160) that can be combined with BMM150.