AnsweredAssumed Answered

MMA8451 wrong sensor data over time - damaged chip?

Question asked by Mikkel Stampe Pedersen on Jun 22, 2018
Latest reply on Jun 25, 2018 by Tomas Vaverka

Hi all


We at my company, has a very strange issue regarding til MMA8451. We are experincing that our accelerometers data can be suddenly wrong over time.


We have approximately 250 devices out, running in the field, and we have about 10 devices which got this problem. What happens is that the sensor data:

 - Suddenly has a completely wrong offset (out of the min/max values, that the MMA should even be capable of).

 - Or has it's z-axis locked in a "fixed" value or fluctuating.


We see that a mechanical bump of the PCB/sensor can make it suddenly work again. That makes us think that the MMA chip has been damaged.


If we take a brand new MMA and solder onto a PCB which had the problem ealier, no problems exists. So it's happening over time. And when it has happend, it can recover or come back to normal again.


We do of course have a lot of software, checking that all communication is alright on the I2C etc. We interface with a STM32 microcontroller. When the problem occurs, all power offs, resetting the chip etc, has no influence of the wrong data.


Here I have some visualizations of how the data looks. First an all normal functioning MMA measurement: (x-axis = red, y-axis = green and z-axis = blue). All measurement are done with the device fixed horizontal in the z direction, and then turned around the z-axis.

Working MMA measurement

The x axis of this graph is samples (100 hz sample rate). The y axis is the raw sensor value.


The following pictures shows malfunctioning MMA measurements:

And another:


As you see, the sensor works in some sense, as the x and y axis changes. But has an unrealistic offset. If we hit the device mechanically, the axis happens to be normal afterwards.


The z-axis can act like this, just fluctuating, or it can be locked in either 8192 (max) or -8191 (min).


We have done various ESD tests to debunk that hypothesis. But we are very confused.

We hope that NXP or other people, have some knowledge about this issue, or have heard about this before?


Thanks in advance, people.