I'm trying to troubleshoot an issue with the BMM150 on a recent build of 16 PCBS. All 16 PCBs have the same problem, the X axis is overflowing while the Y axis, Z axis, and temperature read correctly. Specifically register 0x42 reads 0x01 and register 0x43 reads 0x80 at all times, regardless of sensor orientation. These boards are the second revision of a PCB for which software was developed and remains unchanged with resepct to the sensor. On the down rev boards all three axes read correctly.
The footprint geometry and pin assignments are identical between the revisions. Because we can communicate with the chip and read valid data out for all but 1 axis I don't suspect a hardware design problem. For this design the DRDY and INT pins are disconnected.
The parts assembed onto these PCBs were manufactured in 2019 and have the code:
Solved! Go to Solution.
Hi, I am the Bosch FAE located in Sunnyvale, CA. I will contact you directly through email.
The BMM150 X-axis data overflow or saturation may be caused by the decoupling capacitor that is placed near X-axis coil of BMM150 on the PCB. That capacitor may have ferrous material such as nickel inside. If you change to another kind of the capacitor, then the X-axis overflow issue may be gone.
That was the issue - confirmed now. The capacitor near the magnetometer was a Murata part that had nickel plates. The down rev board used the same cap value but was a TDK part with copper plates. Switching the capacitor eliminated the overflow issue. Thanks!