Skip to main content
Associate
February 28, 2026
Question

Asm330Lhh DEVICE_CONF

  • February 28, 2026
  • 2 replies
  • 134 views
Hello, I have encountered some issues while developing with the  ASM330LHH.
 
During the initialization sequence of the ASM330LHH interface, I first read the WHO_AM_I  register. After confirming that the value is correct, I proceed to access other registers. In my tests, the WHO_AM_I value read back was correct.
 
After checking the datasheet, it mentions that DEVICE_CONF set 1 to enable configuration. Now, after reading WHO_AM_I and before accessing other registers, I set DEVICE_CONF to 1. When I test again, the value read back from WHO_AM_I becomes incorrect.
 
Could you explain why this happens?
 
I am using SPI for communication in both cases, and the SPI configuration has not be changed at all — I only added the DEVICE_CONF operation.

2 replies

MHoll.2
Senior III
February 28, 2026

I don't use SPI, bit for SPI it seems that You have to set I2C_disable = 1, before setting DEVICE_CONF.

 

Untitled.png

Federica Bossi
Technical Moderator
March 17, 2026

Hi @wz2 ,

I suggest you follow these steps:

  1. After reset or power‑up, read WHO_AM_I with DEVICE_CONF = 0 to check device identity.
  2. Set DEVICE_CONF = 1.
  3. Configure all required registers (ODR, FS, filters, FSM/MLC, etc.).
  4. Clear DEVICE_CONF back to 0 to exit configuration mode and start normal operation.
  5. From this point on, do not use DEVICE_CONF = 1 unless you need to reconfigure the device.
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.