I am trying to interface ADcmXL3021 Vibration Sensor with a Raspberry Pi Pico. I first tried reading PROD_ID to ensure that the SPI interface is working properly, but when I sent out the SPI data 0x5600 to the Sensor, I was always reading 0x0000 in return. I found this problem with several users of this sensor via questions in this forum, but none of them had a solution. I have tired checking the signals in an oscilloscope and they seemed alright, but I was unable to read out any data from the sensor.
Then, I tried resetting the sensor programmatically, but holding the RESETn LOW for 1 second (Could not find the exact time it must be held LOW to reset the sensor) and then tried reading the PROD_ID. This time the sensor responded back with 0x0bcd, but after several 0x0000s.
But after that when I try to read any other register, for example 0x3a00 (AVG_CNT) or 0x1a00 (REC_CTRL), I read 0x0000 all the time.
So, I need help with setting up the SPI interface properly between the ADcmXL3021 Vibration Sensor and the Raspberry Pi Pico. Any help would be appreciated.
Also, as I mentioned, I am using the ADCMXL_BRKOUT breakout board. I guess, it has three LEDs on it, but I could not find their functionality anywhere.
When I power up the board, the D2 LED lights up in green. So, does it mean anything? How do I debug my problem and know where things are going wrong?
Any help would be highly appreciated.
Thanks & Regards,
Added about ADCMXL_BRKOUT breakout
[edited by: Srivamsi at 8:57 PM (GMT -4) on 21 Oct 2021]