Showing results for 
Search instead for 
Did you mean: 

H3LIS331DL: Unexpected High level detected on negative very low magnitude acceleration

Associate III

My configuration is:

  • FS: 200g,
  • Threshold interrupt activated for hieZ,hieY,hieZ,
  • Threshold value 1 (ie about 1,6G at FS 200G)
  • High pass filter set on OUTPUT and INT1

Then I loop, reading int1 src register and 3 axes acceleration

they varie on each channel from -0,5 to 0,5 G (assuming it's "noise" at FS 200G with a static device)

But each time the acceleration on a channel is negative each time the IA bit in INT1 SRC is set with the corresponding X,Y or Z High bit set ?

Here is a typical exemple:

RAW accs value read are: 48,48,-48 (about 293 mG in absolute value for each channel)

and int1 src says: XL, YL, ZH and of course IA

Why ? The values are the sames in absolute they should all say either all High or all Low (here it should be low)

The High bit and IA bits should be set ONLY when value on a channel is either > 1,6 or <-1,6 G. Isn't it ?

ST Employee

Hi @PGoud​ ,

the configurations you described looks ok

I'm wondering if the comparator is wrongly considering the negative sign as a high positive value... but that's would be very strange.

I suppose that the same behavior occurs on the 3 axis...

could you please increase the threshold to e.g. 0x02 and see what happens?


Associate III


Yes I saw the same behavior on other axes with Threshold 0x01.

Increasing the threshold to 0x02, seems to make the things works ... ie, the INT1 interrutp does not appear unexpectively...

That's very strange because my raw values since the filter is on do not overpass 70 / - 70


Hi @PGoud​ ,

it might be a sort of little nonlinearity at the boundaries of the threshold, although this is strange... do you have the possibility to test it on other parts?

By the way, would it possible for you to work with a little higher threshold?


Hi Eleon,

It seems that using 2 in Threshold Byte, does NOTproduce the problem.

We've received yesterday our new boards using this sensor, and I've got the same behavior "always trigs on negative "noise" when the Threshold is 1".

By the way, could you confirm me that seting 0 in Threshold wil never trig ?

HI @PGoud​ ,

understood, we'll try to check internally this behavior.

>> By the way, could you confirm me that setting 0 in Threshold will never trig?

You are right, if the threshold is zero the reg content should be ignored by the device.

Hope you can use the THS level 0x02 in your app so far.