cancel
Showing results for 
Search instead for 
Did you mean: 

LIS3MDL X Axis freezes at 32764. Why?

KHueb
Associate II

My LIS3MDL eCompass IC output always reads (X=32764) for the X axis.

Axis y and z seem to read ok, with changing values during operation.

Why is this occurring?

The first day of use the LIS3MDL worked OK, with X,Y,and Z axis having unique and changing values.

The second day I waved a small magnet around near the sensor to see how the output would vary.

A few minutes later, the X Axis value froze to 32764.

I checked online, and other people have had the SAME issue!!

What is special about the value 32764?

Here is someone else that has same issue...

https://forum.pololu.com/t/possibly-broken-minimu-9-v5/17263

Does LIS3MDL have an output lockup that freezes output at 32764 when the Gauss reading goes off the scale?

If yes, how do I free up the chip to produce correct values for the X,Y,and Z axis?

Ken Huebner

Hardware Engineer

3 REPLIES 3
Eleon BORLINI
ST Employee

Hi Ken, the 32764 value is almost the 16-bit two complement full scale (7FFCh). Do you know if you exceeded the absolute maximum exposed field of 1000 gauss declared in the datasheet, with you magnet along the x axis (consider that a standard neodymium magnet can generate 1000 g ant 10mm distance). Btw, did you already try to reset/reboot the LIS3MDL? Also self-test is not working on x axis (CTRL_REG1 (20h) for enabling the test)? Regards

KHueb
Associate II

Hello Eleon,

I did initialize the LIS3MDL with a RESET and a REBOOT. No change. The xaxis still reads 32764.

So I am in the process of replacing the current LIS3MDL IC with a new one.

I'll let you know results soon.

Ken

KHueb
Associate II

Eleon, the new LIS3MDL that I installed on the pcb is working OK. There are now unique and changing values appearing on X,Y,and Z axis.

I'm finding it's very difficult to mount the LIS3MDL on the pcb. I tried a couple times and failed. The LIS3MDL returned 0 for WHO AM I. The third remount now works OK.

So to recap why the previous LIS3MDL may have failed:

  1. Waving small magnet near IC damaged the IC. I hope this is not the case, since a consumer of the product may do the same thing.
  2. Mount to pcb was not complete. Maybe VDDIO was not connected, which would throw off SPI communication. But the consistent output of 32764 likely negates this idea..
  3. Maybe my input voltage exceeded limit of 3.6V (I think I had it at 3.5V). I currently dialed down to 3V.
  4. Static electricity damaged chip, as there was a loose wire that I reconnected within a minute before IC went bad.

Ken