Configuring ICM-42688-P for Low Power Accelerometer data via SPI Interface

By saida3rditechin , 3 March 2024

I'm working with the ICM42688 sensor via SPI and have successfully read the WHO_AM_I register, confirming that writing and reading data from registers is working perfectly. However, I'm struggling to configure it to access accelerometer data in low power mode, as the datasheet lacks specific register settings for this.

Could anyone share the correct register configuration for operating the accelerometer in low power mode via SPI? Any guidance or register sequence examples would be highly appreciated.

I am following the below register setting sequence to access the data from the Accelerometer:

Write Operation:

Address Data

76 00 -- Bank select
11 01 -- Device_config

wait 1ms

50 49
4E 02

wait 200 us

4D 9C
76 01
03 80

Reading Accelerometer data

76 00 -- Bank select
23 00 -- Z axis Msb
24 00 -- Z axis Lsb

I am getting inbuilt register data values for both MSB and LSB. But when i change the direction then also it's showing inbuilt values.

mustafayildiri…

2 years ago

Hello,

Take a look at the register INTF_CONFIG0(4C) to disable I2C and incorporate into your code.

phpbb Post ID
45532

saida3rditechin

2 years ago

Hello @MOD_Mustafa,

Thanks for your response. But In my case i am not using FIFO. So, 4C register setting is not necessary to read accelerometer data. Can you please tell me the correct register setting sequence(Address with corresponding data) to correctly get the accelerometer data in Low noise mode?

phpbb Post ID
45534

mustafayildiri…

1 year 11 months ago

Hi,

Are you using RTC clock input? Were you able to solve the problem?

phpbb Post ID
45574

saida3rditechin

1 year 11 months ago

Yes, I utilized the RTC clock input, but at the sensor LVDS outputs, I am not receiving proper LVDS_sync, LVDS_data, and LVDS_clock signals when using the PLL clock input. When I switched to LVDS clock input instead of PLL clock input and configured the registers according to the LVDS clock input in 10-bit mode, I then received sensor outputs on all channels. However, I still do not understand why I am not getting sensor LVDS outputs when the PLL clock input is used.

phpbb Post ID
45576
phpbb Topic ID
45531