cancel
Showing results for 
Search instead for 
Did you mean: 

LIS2DW12 BOOT Bit in CTRL2 (21h) stuck on '1'

KenThesis
Associate II

Hi,

We currently use the LIS2DW12 in our design and have encountered an issue in some units after prolonged continuous operation (approximately 5–6 days). Specifically, the accelerometer output becomes unresponsive and remains stuck at a constant value. Attempting a soft reset does not resolve the issue.

During this fault condition, all device registers remain readable, and the WHO_AM_I register continues to return the correct value (0x44). However, we observed that the BOOT bit in the CTRL2 register (0x21) remains stuck at '1', suggesting that the internal reboot process has not completed successfully. The only way to recover from this state is to complete a power cycle. Unfortunately, due to our product's design, removing the onboard battery is not feasible for end users.

Could you advise on the potential root causes of this behaviour and whether any recommended solutions or workarounds do not require a physical power cycle?

--Edit--

I'm using SPI mode on the accelerometer.

Also, I forced the BOOT Bit to '0' and did a soft reset. The accelerator's output is still stuck. Here's a register dump. Any help is much appreciated. Thank you.

00> <info> app: Add[0x0D] = 0xE0
00> <info> app: Add[0x0E] = 0x07
00> <info> app: Add[0x0F] = 0x44
00> <info> app: Add[0x10] = 0x93
00> <info> app: Add[0x11] = 0x0C
00> <info> app: Add[0x12] = 0x05
00> <info> app: Add[0x13] = 0x26
00> <info> app: Add[0x14] = 0x14
00> <info> app: Add[0x15] = 0x91
00> <info> app: Add[0x16] = 0x74
00> <info> app: Add[0x17] = 0x00
00> <info> app: Add[0x18] = 0x05
00> <info> app: Add[0x19] = 0x80
00> <info> app: Add[0x1A] = 0x3A
00> <info> app: Add[0x1B] = 0x3D
00> <info> app: Add[0x1C] = 0x0C
00> <info> app: Add[0x1D] = 0x25
00> <info> app: Add[0x1E] = 0xD1
00> <info> app: Add[0x1F] = 0x20
00> <info> app: Add[0x20] = 0x23
00> <info> app: Add[0x21] = 0x0C
00> <info> app: Add[0x22] = 0x00
00> <info> app: Add[0x23] = 0x00
00> <info> app: Add[0x24] = 0x00
00> <info> app: Add[0x25] = 0x00
00> <info> app: Add[0x26] = 0x07
00> <info> app: Add[0x27] = 0x00
00> <info> app: Add[0x28] = 0x2C
00> <info> app: Add[0x29] = 0xC3
00> <info> app: Add[0x2A] = 0xA8
00> <info> app: Add[0x2B] = 0x10
00> <info> app: Add[0x2C] = 0xD0
00> <info> app: Add[0x2D] = 0xF8
00> <info> app: Add[0x2E] = 0x00
00> <info> app: Add[0x2F] = 0x00
00> <info> app: Add[0x30] = 0x00
00> <info> app: Add[0x31] = 0x00
00> <info> app: Add[0x32] = 0x00
00> <info> app: Add[0x33] = 0x00
00> <info> app: Add[0x34] = 0x00
00> <info> app: Add[0x35] = 0x00
00> <info> app: Add[0x36] = 0x00
00> <info> app: Add[0x37] = 0x00
00> <info> app: Add[0x38] = 0x00
00> <info> app: Add[0x39] = 0x00
00> <info> app: Add[0x3A] = 0x00
00> <info> app: Add[0x3B] = 0x00
00> <info> app: Add[0x3C] = 0x00
00> <info> app: Add[0x3D] = 0x00
00> <info> app: Add[0x3E] = 0x00

 

Kenneth

3 REPLIES 3
casadeib
ST Employee

Hi @KenThesis 

Can you please tell me at what time correspond this registers dump? Because it seems that the register 0x21 does not have the BOOT bit equals to '1'.

It would be more helpful to have the register dump when the device and the BOOT bit is stuck at 1.

 

 

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi @casadeib ,

Thank you for following up.

The original post regarding the dump occurred after I wrote "0x0C" to CTRL2, followed by a soft reset, in an attempt to recover the sensor, but to no avail. More of our devices are beginning to experience the same issue, making it increasingly critical for us to resolve this problem. I wanted to add that our VCC is at 3.3V, if that offers any assistance.

The following registers dump is captured from a separate device experiencing the same issue. Although it is missing some registers due to the log print, it is the best printout we can obtain under the operational circumstances we are constrained by. I hope this helps. Thank you.

00> <info> app: Add[0x0D] = 0xE0
00> <info> app: Add[0x0E] = 0x01
00> <info> app: Add[0x0F] = 0x44
00> <info> app: Add[0x10] = 0x00
00> <info> app: Add[0x11] = 0x90
00> <info> app: Add[0x12] = 0x01
00> <info> app: Add[0x13] = 0xC8
00> <info> app: Add[0x14] = 0x29
00> <info> app: Add[0x15] = 0xC3
00> <info> app: Add[0x16] = 0x41
00> <info> app: Add[0x17] = 0x8A
00> <info> app: Add[0x18] = 0x04
00> <info> app: Add[0x19] = 0x36
00> <info> app: Add[0x1A] = 0xCD
00> <info> app: Add[0x1B] = 0x20
00> <info> app: Add[0x1C] = 0x90
00> <info> app: Add[0x1D] = 0xA2
00> <info> app: Add[0x1E] = 0x01
00> <info> app: Add[0x20] = 0x23
00> <info> app: Add[0x21] = 0x8C
00> <info> app: Add[0x22] = 0x00
00> <info> app: Add[0x23] = 0x00
00> <info> app: Add[0x24] = 0x00
00> <info> app: Add[0x25] = 0x00
00> <info> app: Add[0x26] = 0x01
00> <info> app: Add[0x27] = 0x00
00> <info> app: Add[0x28] = 0x00
00> <info> app: Add[0x29] = 0x00
00> <info> app: Add[0x2A] = 0x00
00> <info> app: Add[0x2D] = 0x00
00> <info> app: Add[0x2E] = 0x00
00> <info> app: Add[0x2F] = 0x00
00> <info> app: Add[0x30] = 0x00
00> <info> app: Add[0x31] = 0x00
00> <info> app: Add[0x32] = 0x00
00> <info> app: Add[0x33] = 0x00
00> <info> app: Add[0x34] = 0x00
00> <info> app: Add[0x35] = 0x00
00> <info> app: Add[0x36] = 0x00
00> <info> app: Add[0x37] = 0x00
00> <info> app: Add[0x38] = 0x00

KenThesis
Associate II

Hi @casadeib ,

Do you have any thoughts on what might be causing the device to hang? Thank you.

Kenneth