cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L8CX SPI doesn't work properly

pshih
Associate II

Hi everyone: I am working on a project with VL53L8CX Time-of-Flight sensor from Pololu. I integrated it with NUCLEO-H755ZI-Q board over SPI interface based on the example and driver provided in the STMicro en.STSW-IMG040 software package. I configured the SPI3 (MCLK, MISO, and MOSI) on the CN7 to communicate with the sensor. I also have PA4 for SPI3_NSS and PC7 for /PLn signal. The project compiled successfully. However, I believe I am not able to read the registers properly.

 

The firmware reads the "device_id" and "revision_id" from the sensor in the vl53l8cx_is_alive() to determine if the sensor exists. The return values different every time I tried to read. I was able to capture the protocols on the scope, and confirmed the reading values are match with the data shown on the scope. The following scope capture shows the communication:

1. Sending 0x00 to address 0x7fff. The yellow signal is for the MCLK, blue for MOSI, purple for MISO, and green for /CS.

pshih_0-1725544500633.png

2. Receiving 0x0 from address 1 for "revision_id".

pshih_1-1725544500633.png

3. Another reading 0x4 from address 1 for "revision_id".

pshih_2-1725544500633.png

I tried to pull up the MISO signal to 3.3V by 10K resister or pull-down to GND with 47K resister. They don't resolve the issue. Tried different communication baud rate and they don't help. I also tried different module and they seems to have the same issue. At this point, I am not sure if the issue I am facing is in the hardware or software. I am looking forward to hearing your opinion and suggestions. Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

This happened to the ST VL53L8CX Satellite board as well.

Issue : SPI communication is not working when SATEL-VL53L8 (PCB4286A) is connected with flying wires to the NUCLEO-F401RE

Root cause of defection : Supplier populated 2 Level Shifter references for all SATEL-VL53L8 - 1 level shifter reference is incorrect specification. Visual check of the boards is needed to identify Level Shifters references (U4 and U6 component)

  • Faulty ref : NXS0104
  • Good ref :PI4ULS3V204

    4-Bit Automatic Direction Sensing Voltage Translator for Push-Pull /Open Drain

     as per the BOM on st.com

Workaround : None possible – only a replacement of the level shifter will fix the issue.

 

JohnEKVAM_4-1725547204235.png

 

 

 I don't know if it's your exact problem as I've yet to see the Pololu board, but it's a fair guess.

ST is trying to pull back the affected boards, but it's a real mess.

Level shifters are a pain on I2C. I hate those things. I hope this is not your problem; but do check it.

- john

 

 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

7 REPLIES 7
John E KVAM
ST Employee

This happened to the ST VL53L8CX Satellite board as well.

Issue : SPI communication is not working when SATEL-VL53L8 (PCB4286A) is connected with flying wires to the NUCLEO-F401RE

Root cause of defection : Supplier populated 2 Level Shifter references for all SATEL-VL53L8 - 1 level shifter reference is incorrect specification. Visual check of the boards is needed to identify Level Shifters references (U4 and U6 component)

  • Faulty ref : NXS0104
  • Good ref :PI4ULS3V204

    4-Bit Automatic Direction Sensing Voltage Translator for Push-Pull /Open Drain

     as per the BOM on st.com

Workaround : None possible – only a replacement of the level shifter will fix the issue.

 

JohnEKVAM_4-1725547204235.png

 

 

 I don't know if it's your exact problem as I've yet to see the Pololu board, but it's a fair guess.

ST is trying to pull back the affected boards, but it's a real mess.

Level shifters are a pain on I2C. I hate those things. I hope this is not your problem; but do check it.

- john

 

 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

This could be very possible. The VL53L8CX from Pololu using the same level shifter but 8 channels. Thanks your quick info.

A quick question; if I am buying SATEL-VL53L8 from ST e-store (https://estore.st.com/en/satel-vl53l8-cpn.html), do I need to have a specific part number to identify the device has the new level shifter? Thanks!

Alas, I do not know. It's a production issue. The plan is to recall all the parts and throw them away. 

The trick is that the e-store is actually handled by our wonderful distributors. They are much better at shipping and inventory than ST is. And they are local to you.  

So, we have to get those parts back from them and send out new ones.

I'd hope that if you tried to order, you'd get a message saying they were temporarily out of stock.

I will see if I can find a schedule. 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

John, thanks your reply! That's exactly the issue I concerned. We are trying to get evaluation board ASAP, However, I don't know where I can get the reliable board wit the new shifter. Please let me know when you have schedule and where should I get the board from. Thanks!

Anne BIGOT
ST Employee

Hello,

Do a visual inspection of your pololu board and check the reference of the level shifter.

The BOM shared on st.com references the right LS Part Number. So if pololu took this BOM it should be OK.

Wrong boards manufactured by ST supplier will be reworked with the right LS.
At the end, reworked boards will be identified with a new part number.

Anyway, a replacement of the faulty board is planned in case of issue.

Regards

 

 


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

Hi John:

I got SATEL-VL53L8 sensor board with wrong level shifter "NXS0104". I had the same issue I was facing. Replaced the level shifter with correct one - "PI4ULS3V204". I was able to get device id, revision id, and completed the sensor initialization. Thank you very much.